A Survey of Agile Methodologies Course
 

Home
Up
Consulting Services
Events & Activities
Library & Information
CSQE Quizzes
About Our Team
How to Contact Us

Agile Software Development: A Survey of Agile Methodologies is a 2-day course designed to provide a survey of various Agile Software Development Methodologies for anyone interested in learning more about Agile Software Development and how the different methodologies compare and contrast with each other. 

This course starts with an overview of key agile values and principles derived from the Agile Manifesto.

Course attendees then learn the basic concepts and practices of eXtreme Programming (XP), Scrum, Crystal, Feature Driven Development (FDD), DSDM, Adaptive Software Development and the Agile Project Leadership Network’s (APLN) Declaration of Interdependence as well as related methods and techniques such as Lean Software Development, Agile Modeling (AM), Open Source Software, Pragmatic Programming and the Rational Unified Process.

This course emphasizes the values and principles of agile methods so that attendees will learn how to select among them for application in the attendees’ work environments. 

Method of Instruction: This course is taught through lecture and interactive discussion.  The emphasis is on acquiring a clear understanding of agile concepts and methods so that attendees can determine what values, principles, practices and methods may be applicable to their own work environments.  

Target Audience: Software developers, testers, quality engineers, project managers, functional managers, requirements analyst, and other software stakeholders who anticipate or are interested in the planning, management and development of software employing agile methods.

Course Objectives: Upon successful completion of this course attendees will be able to:

  • Understand the basics of agile values and principles which could be applied to any software development context

  • Learn the values, principles and practices of eXtreme Programming (XP), including the use of stories for needs identification

  • Understand the Scrum approach to software projects, including the important roles and cycles of development such as the 30-day Sprint

  • Define the Crystal approach to project categorization and learn the Crystal strategies and techniques

  • Understand FDD’s phases and practices based on its post-requirements specification approach to software development

  • Explain key DSDM concepts, including the MoSCoW approach to requirements prioritization

  • Describe the Adaptive Software Development models and lifecycle steps along with the fundamental concept of emergence in complex systems

  • Define the key points in the Declaration of Interdependence for agile project leadership

  • Understand and explain how the concepts of Lean Software Development, Agile Modeling, Open Source Software, Pragmatic Programming an the Rational Unified Process relate to agile methods

Course Materials: Student notebooks are designed to provide reference materials that can be utilized by the attendees long after the completion of the course.  These materials include:

  •  Copies of all presentation materials with annotated descriptive notes

  • A bibliography of reference materials

  • An index and glossary of Agile Software Development terms

Detailed Outlines:

I: Agile – The Basics

1.       What Should A Methodology Do?

a.       Method and Methodology Defined

b.       What Should A Methodology do?

c.       A Good Methodology

d.       Line Down the Middle of the Road

e.       Methodology Triangles

f.         Traditional Project Profile

g.       Agile Project Profile

2.       Agile Manifesto & Principles

a.       Manifesto for Agile Software Development

b.       Individuals & Interactions

c.       Working Software

d.       Customer Collaboration

e.       Responding to Change

f.         Another Way to Think About This

g.       Principles Behind the Agile Manifesto

h.       Values & Principles

i.         Two Main Ideas Emerge

3.       Agile “Culture”

a.       Why Agility?

b.       Rock Climbing

c.       Emergence & Complex Behavior

d.       Customer Focus

e.       People & Teams

f.         Planning

g.       Change

h.       But What About Quality?

4.       Agile May Not Be For You If…

5.       Agile Methods

a.       Agile Methods

b.       Related Methods/Techniques

II: eXtreme Programming (XP)

1.       XP Values

a.       eXtreme Programming (XP)

b.       Communication

c.       Simplicity

d.       Feedback

e.       Courage

f.         Respect

2.       XP Principles

a.       Economics       

b.       Mutual Benefit

c.       Accepted Responsibility

d.       Quality

e.       Self Similarity

f.         Flow

g.       Redundancy

h.       Failure

i.         Opportunity

j.         Reflection

k.       Improvement

l.         Baby Steps

m.     Diversity

n.       Humanity

3.       XP Primary Practices

a.       Team Co-Location

b.       The Whole Team

c.       Informative Workspace

d.       Energized Work

e.       Stories

f.         Quarterly Cycles

g.       Weekly Cycle

h.       Slack

i.         Incremental Design

j.         Test 1st Programming

k.       Pair Programming

l.         Continuous Integration

m.     Ten Minute Build

4.       XP Corollary Practices

a.       Team Continuity

b.       Real Customer Involvement

c.       Negotiated Scope Contract

d.       Single Code Base

e.       Shared Code

f.         Code & Tests

g.      Incremental Deployment

h.      Daily Deployment

III: Scrum

1.       Defining Scrum

a.       History of Scrum

b.       Scrum Characteristics

c.       Complex Problems

d.       Creation of Knowledge

2.       Scrum Roles

a.       Scrum Roles

b.       Product Owner

c.       Scrum Team

d.       Scrum Master

3.       Scrum Process

a.       Scrum process Overview

b.       Product Backlog

c.       Sprint Planning Meeting

d.       Scrum Skeleton

e.       Scrum Heart

f.         Daily Scrum Meetings

g.       Sprint Review Meeting

h.       Sprint Retrospective Meeting

i.       Applying the Scrum Method

IV: Crystal

1.       Concepts of Crystal

a.       History of Crystal

b.       What is Crystal?

c.       Crystal Explained

d.       Crystal – Color Spectrum

e.       Shoot Me to Mars

f.         Crystal Roles

2.       The Seven Crystal Properties

a.       Crystal – The Seven Properties

b.       Frequent Delivery

c.       Reflective Improvement

d.       Osmotic Communications

e.       Personal Safety

f.         Focus

g.       Easy Access to Expert Users

h.       Technical Environment

3.       Crystal Strategies & Techniques

a.       Crystal Strategies

§         Exploratory 360o

§         Early Victory

§         Walking Skeleton

§         Incremental Rearchitecture

§         Information Radiators

b.       Crystal Techniques

§         Methodology Shaping

§         Reflection Workshops

§         Blitz Planning

§         Delphi Estimation

§         Daily Stand-up Meetings

§         Essential Interaction Design

§         Process Miniature

§         Side-By-Side Programming

§         Burn Charts

4.       Crystal Process & Work Products

a.       Crystal – The Process

§         Project Cycle

§         Delivery Cycle

§         Iteration Cycle

b.       Integrating the Software

c.       Weekly & Daily Activities

d.       Development Episode

e.       The Work Products of Crystal

V: Other Agile Methods

1.       Feature Driven Development

a.       Feature Driven Development

b.       FDD Core Practices

c.       Core FDD Roles

§         Supporting FDD Roles

§         Additional FDD Roles

d.       A Feature Is…

e.       FDD’s Process

§         Develop Overall Model

§         Build features List

§         Plan by Feature

§         Design by Feature

(1)     Chief Programmer Work Packages

§         Build by feature

f.         Inspections

g.       Builds & Configuration Management

2.       DSDM

a.       DSDM History & Application

b.       DSDM Philosophy/Principles

c.       Use DSDM When…

d.       DSDM Process Diagram

e.       DSDM – Core Techniques

f.         DSDM – Requirements Prioritization

g.       DSDM & Quality

h.       DSDM Roles

3.       Adaptive Software Development

a.       Adaptive Software Development (ASD)

b.       Characteristics

c.       Conceptual Model

d.       Development Model

e.       Leadership-Collaboration Model

f.         Complex Adaptive Systems

g.       Project Management Cycle

h.       “Life Cycle” – Speculate

i.         “Life Cycle” – Collaboration

j.         “Life Cycle” – Learn

4.       Declaration of Interdependence

a.       Agile Project leadership Network (APLN)

b.       The Declaration of Interdependence

c.       APLN’s Core Principles

VI: Related Methods & Techniques

1.       Lean Software Development

a.       Lean Thinking

b.       Lean Development

c.       The Seven Wastes

d.       Techniques to Become Lean

2.       Agile Modeling

a.       Agile Modeling (AM)

b.       Agile Modeling Principles

c.       Agile Modeling Practices

3.       Open Source Software

a.       Open Source Software (OSS)

b.       Legal Perspective

c.       Motivations & Drivers

d.       Project Structure

e.       Web Repositories

f.         Agile, OSS & Plan-Driven Comparison

4.       Pragmatic Programming

a.       Pragmatic Programming (PP)

b.       PP Practices

5.       Rational Unified Process

a.       Rational Unified Process (RUP)

b.       RUP (4) Phases

c.       RUP Practices  

d.       RUP Workflow

e.      RUP “Workers” (Roles)

Other Agile Software Development Courses Include:

Implementing Agile Development Skills:  This 3-day course is designed to provide a fundamental knowledge base and practical skills for anyone interested in implementing agile concepts in an existing software development environment where a more traditional lifecycle workflow is employed.   The course covers how to incorporate practices and techniques from many different agile methods within such a lifecycle approach.. 

Customized Courses:  Our Agile Software Development courses are modularized so that they can be easily customized for in-house course offerings that focus on the specific content and topics needed to meet your organization’s exact training requirements. 

The Westfall Team can also customize this course or any of our other standard courses or develop unique software engineering, quality and project management courses to meet your exact in-house training needs and specifications.  For example, class exercises can be tailored to include actual examples from your organization in order to make the training more relevant to your environment. 


For more information about this course or other courses offered by The Westfall Team

Send an email to:  lwestfall@westfallteam.com

Or call: 972-867-1172

© 2006-2008 Westfall Team, Inc.