Вы находитесь на странице: 1из 12

Agile methods and techniques some method comparisons

Dave Parsons Mark Cranshaw

Software development lifecycle support in agile methods

KEY:

Project management Process Practices / activities / work products

Adapted from Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software Development Methods: Review and Analysis. VTT Publications 478. (pp. 95)
Agile RUP Crystal DSDM

XP FDD

Scrum

Concept Creation

Requirements Specification

Design

Code

Unit test

Integration test

System test

Acceptance test

System in use

Agile Microsoft Solutions Framework

Foundational Principles

Foster open communications Work toward a shared vision Empower team members Establish clear accountability and shared responsibility Focus on delivering business value Stay agile, expect change Invest in quality Learn from all experiences

Agile UP

Phases

Inception, Elaboration, Construction, Transition Model, Implementation, Test, Deployment, Configuration Management, Project Management, Environment Your staff knows what they're doing, Simplicity, Agility, Focus on high-value activities, Tool independence, You'll want to tailor the AUP to meet your own needs

Disciplines

Philosophies

Crystal Clear

Frequent Delivery of Usable Code to Users (required) Reflective Improvement (required) Osmotic Communication Preferably by Being CoLocated (required) Personal Safety Focus Easy Access to Expert Users Automated Tests, Configuration Management, and Frequent Integration

DSDM

Principles

User involvement is the main key, The project team must be empowered, Frequent delivery of products, Delivering a system that addresses the current business needs, Development is iterative and incremental, Changes are reversible, High level scope and requirements should be base-lined, Testing is carried out throughout the project life-cycle, Communication and cooperation among all project stakeholders Timeboxing, MoSCoW, Prototyping, Testing, Workshop, Modelling

Techniques

eXtreme Programming (XP)

Values

Communication, Simplicity, Feedback, Courage, Respect Coding, Testing, Listening, Designing Pair programming, Planning Game, Test Driven Development, Whole team, Continuous Integration, Design Improvement, Small Releases, Coding Standards, Collective Code Ownership, Simple Design, System Metaphor, Sustainable Pace

Activities Practices

Feature Driven Development

Activities

Develop Overall Model, Build Feature List, Plan By Feature, Design By Feature, Build By Feature, Milestones Domain Object Modeling Developing by Feature Individual Class (Code) Ownership Feature Teams Inspections Configuration Management Regular Builds Visibility of progress and results

Best practices

Scrum

Techniques

Team creation Backlog creation Project segmentation Scrum meetings Burndown charts Review release plans Distribution, review and adjustment of product standards Sprint Sprint review Closure

Phases

Key Terms and Examples (1)


Agile Method Agile Microsoft Solutions Framework Agile UP Term Principles Mindsets Phases Disciplines Philosophies Crystal Clear Properties Strategies Techniques Examples Foster open communications, empower team members, establish clear accountability and shared responsibility Focus on Business Value, Foster a Team of Peers, Internalize Qualities of Service Inception, elaboration, construction, transition Model, implementation, test, project management Simplicity, tool independence Frequent delivery of usable code, reflective improvement, osmotic communication Incremental Rearchitecture, Information Radiators. Daily Stand-up Meetings, Side-by-Side Programming, Burn Charts.

DSDM

Principles
Techniques

User involvement, empowered project team must, frequent delivery of products, testing throughout the project life-cycle
Timeboxing, MoSCoW, testing, workshop

Key Terms and Examples (2)


Agile Method eXtreme Programming (XP) Term Values Activities Techniques Examples Communication, simplicity, feedback, courage, respect Coding, testing, listening, designing Pair programming, test driven development, continuous integration, collective code ownership

Feature Driven Development

Activities
Best practices

Plan by feature, design by feature, build by feature


Domain object modelling, developing by feature, individual class (code) ownership, visibility of progress and results

Scrum

Techniques

Team creation, backlog creation, project segmentation, scrum meetings, burn down charts
Review release plans, sprint, sprint review, closure

Phases

Techniques Stressed in Methods


Agile MSF AUP Crystal Clear DSDM XP FDD Scrum

Active stakeholder participation Agile Model Driven Development (AMDD) Code refactoring Code regression testing Co-location Common coding guidelines Continuous integration

Pair programming
Single sourcing information Test Driven Design (TDD)

These techniques explicitly excluded

Вам также может понравиться