Agile Software Development Methods: Review and Analysis
Total Page:16
File Type:pdf, Size:1020Kb
Agile Software Development Methods: Review and Analysis Authors: Pekka Abrahamsson, Outi Salo, Jussi Ronkainen and Juhani Warsta This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. Keywords: Software development, software project management, agile process, light-weight process, extreme programming, feature driven development, dynamic systems development method, scrum, pragmatic programming, agile modeling, open source software development, rational unified process, adaptive software development, crystal family of methodologies 3 This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. Contents 1. Introduction..................................................................................................... 9 2. Agile overview, definitions and characterizations........................................ 11 2.1. Background.......................................................................................... 11 2.2. Overview and definitions .................................................................... 13 2.3. Characterization................................................................................... 16 2.4. Summary.............................................................................................. 19 3. Existing agile methods.................................................................................. 20 3.1. Extreme Programming......................................................................... 20 3.1.1. Process .................................................................................... 21 3.1.2. Roles and responsibilities........................................................ 23 3.1.3. Practices .................................................................................. 24 3.1.4. Adoption and experiences....................................................... 27 3.1.5. Scope of use ............................................................................ 28 3.1.6. Current research ...................................................................... 29 3.2. Scrum................................................................................................... 29 3.2.1. Process .................................................................................... 30 3.2.2. Roles and responsibilities........................................................ 32 3.2.3. Practices .................................................................................. 33 3.2.4. Adoption and experiences....................................................... 36 3.2.5. Scope of use ............................................................................ 37 3.2.6. Current research ...................................................................... 37 3.3. Crystal family of methodologies ......................................................... 38 3.3.1. Process .................................................................................... 40 3.3.2. Roles and responsibilities........................................................ 44 3.3.3. Practices .................................................................................. 45 3.3.4. Adoption and experiences....................................................... 47 3.3.5. Scope of use ............................................................................ 48 3.3.6. Current research ...................................................................... 48 3.4. Feature Driven Development............................................................... 49 3.4.1. Process .................................................................................... 49 3.4.2. Roles and responsibilities........................................................ 52 3.4.3. Practices .................................................................................. 55 4 This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. 3.4.4. Adoption and experiences....................................................... 56 3.4.5. Scope of use ............................................................................ 56 3.4.6. Current research ...................................................................... 57 3.5. The Rational Unified Process.............................................................. 57 3.5.1. Process .................................................................................... 57 3.5.2. Roles and responsibilities........................................................ 60 3.5.3. Practices .................................................................................. 61 3.5.4. Adoption and experiences....................................................... 62 3.5.5. Scope of use ............................................................................ 63 3.5.6. Current research ...................................................................... 63 3.6. Dynamic Systems Development Method ............................................ 63 3.6.1. Process .................................................................................... 64 3.6.2. Roles and responsibilities........................................................ 67 3.6.3. Practices .................................................................................. 68 3.6.4. Adoption and experiences....................................................... 70 3.6.5. Scope of use ............................................................................ 71 3.6.6. Current research ...................................................................... 72 3.7. Adaptive Software Development......................................................... 72 3.7.1. Process .................................................................................... 72 3.7.2. Roles and responsibilities........................................................ 76 3.7.3. Practices .................................................................................. 76 3.7.4. Adoption and experiences....................................................... 76 3.7.5. Current research ...................................................................... 77 3.8. Open Source Software development ................................................... 78 3.8.1. Process .................................................................................... 79 3.8.2. Roles and responsibilities........................................................ 80 3.8.3. Practices .................................................................................. 82 3.8.4. Adoption and experiences....................................................... 83 3.8.5. Scope of use ............................................................................ 84 3.8.6. Current research ...................................................................... 84 3.9. Other Agile Methods ........................................................................... 86 3.9.1. Agile Modeling ....................................................................... 86 3.9.2. Pragmatic Programming.......................................................... 88 4. Comparison of agile methods ....................................................................... 91 4.1. Introduction ......................................................................................... 91 4.2. General features................................................................................... 92 5 This is the author's version of the work. The definite version was published in: Abrahamsson, P., Salo, O., Ronkainen, J. & Warsta, J. (2002) Agile software development methods: Review and analysis, VTT publication 478, Espoo, Finland, 107p. Copyright holder’s version can be downloaded from http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf. 4.3. Adoption.............................................................................................. 97 5. Conclusions................................................................................................. 105 References........................................................................................................