You are on page 1of 3

AGILE METHODSPRACTICES, PROCESSES, AND DELIVERABLES

Feature FDD Extreme Programming DSDM Scrum Crystal

Practice

Domain object modeling Developing by feature Class (code) ownership Feature teams Inspections Regular build schedule Configuration management Reporting/visibility of results

Planning game Small releases Metaphor Simple design Tests Refactoring Pair programming Continuous integration Collective ownership On-site customer 40-hour weeks Open workspace Just rules Requirements Acceptance Tests

Active user involvement Empowered teams Frequent delivery Fitness (simplicity) Iterations and increments Reversible changes Baselined requirements Integrated testing Stakeholder collaboration

Product backlog Burndown chart Sprint backlog Iterations and increments Self managed teams Daily scrums

Exploratory 360 Early victory Walking skeleton Incremental re-architecture Information radiators Methodology shaping Reflection workshop Blitz planning Delphi estimation Daily stand-ups Agile interaction design Process miniature Side-by-side programming Burn charts
Project Cycle

Process

Develop an Overall Model User Stories

Feasibility Study

Iteration (1)

Form the Modeling Team Conduct a Domain Walkthrough Study Documents Develop Small Group Models Develop a Team Model Refine the Overall Object Model Write Model Notes Internal and External Assessment
Build a Features List

Architectural Spike

System Metaphor
Release (1)

Business Study

Feasibility Report Feasibility Prototype (optional) Outline Plan Risk Log Business Area Definition Prioritized Requirements List Development Plan System Architecture Definition Updated Risk Log

Form the Features List Team Build the Features List Internal and External Assessment
Plan by Feature

Form the Planning Team Determine Development Sequence Assign Features to Chief Coders Assign Classes to Developers Self Assessment
Iteration (1)

Design by Feature Form a Feature Team Conduct Domain Walkthrough Study Referenced

Release Planning Release Plan Iteration (1) Iteration Planning Iteration Plan Daily Standup Collective Code Ownership Create Unit Tests Unit Tests Pair Programming Move People Around Refactor Mercilessly Continuous Integration Acceptance Testing Iteration (2) Iteration Planning Iteration Plan Daily Standup Collective Code Ownership Create Unit Tests Unit Tests Pair Programming Move People Around Refactor Mercilessly Continuous Integration Acceptance Testing Iteration (n) Iteration Planning

Sprint Planning Meeting Product Backlog Sprint Backlog Sprint Daily Scrum Shippable Code Sprint Review Meeting Shippable Code Sprint Retrospective Meeting
Iteration (2)

Chartering Perform the Exploratory 360 Shape the Methodology Build the Initial Project Plan Reflection on Chartering
Delivery Cycle

Recalibrating the Release Plan Iterations Delivery to Real User Reflection on Delivery
Iteration Cycle

Functional Model Iteration

Design and Build Iteration

Functional Model Functional Prototype (1) Functional Prototype Functional Prototype Records Functional Prototype (2) Functional Prototype Functional Prototype Records Functional Prototype (n) Functional Prototype Functional Prototype Records Non-functional Requirements List Functional Model Review Records Implementation Plan Timebox Plans Updated Risk Log Timebox Plans Design Prototype (1) Design Prototype Design Prototype Records Design Prototype (2) Design Prototype

Iteration (n)

Sprint Planning Meeting Product Backlog Sprint Backlog Sprint Daily Scrum Shippable Code Sprint Review Meeting Shippable Code Sprint Retrospective Meeting Sprint Planning Meeting Product Backlog Sprint Backlog Sprint Daily Scrum Shippable Code Sprint Review Meeting Shippable Code Sprint Retrospective Meeting

One-week iteration Reflection on Iteration Two-month iteration Reflection on Iteration


Week and the Day Development Episode Reflection on Process

Feature

FDD

Extreme Programming

DSDM

Scrum

Crystal

Documents Iteration Plan Develop Sequence Daily Standup Diagrams Collective Code Ownership Refine the Object Model Create Unit Tests Write Class/Method Unit Tests Prologue Pair Programming Design Inspection Move People Around Build by Feature Refactor Mercilessly Implement Continuous Integration Classes/Methods Acceptance Testing Conduct Code Inspection Release (2) Iteration (1) Unit Test Iteration (2) Promote to the Build Iteration (2) Iteration (n) Release (n) Design by Feature Iteration (1) Form a Feature Team Iteration (2) Conduct Domain Iteration (n) Walkthrough Study Referenced Documents Develop Sequence Diagrams Refine the Object Model Write Class/Method Prologue Design Inspection Build by Feature Implement Classes/Methods Conduct Code Inspection Unit Test Promote to the Build
Iteration (n)

Design Prototype Records Design Prototype (n) Design Prototype Design Prototype Records Tested System Test Records
Implementation

User Documentation Trained User Population Delivered System Increment Review Document

Design by Feature Form a Feature Team Conduct Domain Walkthrough Study Referenced Documents Develop Sequence Diagrams Refine the Object Model Write Class/Method Prologue Design Inspection Build by Feature Implement Classes/Methods Conduct Code Inspection Unit Test Promote to the Build

Feature

FDD

Extreme Programming

DSDM

Scrum

Crystal

Deliverables

Assigned classes Assigned features Class/method prologue Classes/methods Code inspection results Design inspection results Development sequence Document study results Domain walkthrough results Feature team Features list Features list team Internal and external assessment Model notes Object model Planning team Promoted builds Refined object model Self assessments Sequence diagrams Small group models Team model Unit tests Unit tests results

Acceptance tests Acceptance tests results Daily standup results Integrated code Iteration plan Personnel rotation results Refactored code Release plan Requirements System metaphor Unit test results Unit tests

Business area definition Delivered system Design prototype Design prototype records Development plan Feasibility prototype Feasibility report Functional model Functional model review records Functional prototype Functional prototype records Implementation plan Increment review document Non-functional requirements list Outline plan Prioritized requirements list Risk log System architecture definition Test records Tested system Timebox plans Trained user population User documentation

Daily scrum results Product backlog Retrospective meeting results Review meeting results Shippable code Sprint backlog

Mission statement Tradeoff priorities Team structure and conventions Reflection workshop results Project map Release plan Project status Risk list Iteration plan and iteration status Viewing schedule Actor-goal list Requirements file Use cases User role model Screen drafts System architecture Source code Delivery package Common domain model Design sketches and notes Tests Bug report User help text User manual and training manual