Process Patterns for Agile Methodologies
The need for constructing software development methods that have been tailored to fit specific situations and requirements has given rise to the generation of general method fragments, or process patterns. Process patterns can be seen in some third-generation integrated methodologies (such as OPEN) and in Method Engineering approaches where they are used as process components. They have also been presented as components in generic software development lifecycles where they represent classes of common practices in a specific domain or paradigm; object-oriented process patterns are well-known examples. Agile methodologies, however, are yet to be thoroughly explored in this regard. We provide a set of high-level process patterns for agile development which have been derived from a study of seven agile methodologies based on a proposed generic Agile Software Process (ASP). These process patterns can promote method engineering by providing classes of common process components which can be used for developing, tailoring, and analyzing agile methodologies.
- 1.J. O. Coplien, A Generative Development Process Pattern Language, in: Pattern Languages of Program Design (ACM Press/Addison-Wesley, 1995), pp. 187–196.Google Scholar
- 2.S. W. Ambler, Process Patterns: Building Large-Scale Systems Using Object Technology (Cambridge University Press, 1998).Google Scholar
- 3.S. W. Ambler, More Process Patterns: Delivering Large-Scale Systems Using Object Technology (Cambridge University Press, 1999).Google Scholar
- 5.K. Bergner, A. Rausch, M. Sihling, and A. Vilbig, A Componentware Development Methodology based on Process Patterns, in: Proceedings of PLoP-98 (1998).Google Scholar
- 6.K. Kumar and R. J. Welke, Method engineering: a proposal for situation-specific methodology construction, in: Systems Analysis and Design: A Research Agenda, (Wiley, 1992), pp. 257–268.Google Scholar
- 7.A. F. Harmsen, Situational Method Engineering (Moret Ernst & Young, 1997).Google Scholar
- 9.S. Brinkkemper, M. Saeki and F. Harmsen, Assembly techniques for method engineering. in: Proceedings of CAiSE’98 (1998), pp. 381–400.Google Scholar
- 11.D. Firesmith and B. Henderson-Sellers, The OPEN Process Framework: An Introduction (Addison-Wesley, 2001).Google Scholar
- 13.P. Kroll, Introducing IBM Rational Method Composer, published on the web at: http://www.www-128.ibm.com/developerworks/rational/library/nov05/kroll (2005).
- 14.B. Henderson-Sellers and M. K. Serour, Creating a dual-agility method: The value of Method Engineering, Journal of Database Management 16(4), 1–23 (Oct./Dec. 2005).Google Scholar
- 16.S. W. Ambler, The agile system development lifecycle, published on the web at: http://www.ambysoft.com/essays/agileLifecycle.html (2006).
- 17.D. Wells, Extreme programming: A gentle introduction, published on the web at: http://www.extremeprogramming.org (2006).
- 18.K. Beck and C. Andres, Extreme Programming Explained: Embrace Change, 2nd Ed (Addison-Wesley, 2004).Google Scholar
- 19.S. W. Ambler, The agile unified process, published on the web at: http://www.ambysoft.com/unifiedprocess/agileUP.html (2005).
- 20.D. Turk, R. France and B. Rumpe, Limitations of agile software processes, in: Proceedings of XP (2002), Alghero, Italy.Google Scholar
- 21.K. Beck, et al, Manifesto for agile software development, published on the Web at: http://www.agilemanifesto.org (2001).
- 22.DSDM Consortium, J. Stapleton, DSDM: Business Focused Development, 2nd Ed. (Addison-Wesley, 2003).Google Scholar
- 23.K. Schwaber and M. Beedle, Agile Software Development with Scrum (Prentice-Hall, 2001).Google Scholar
- 24.J. Highsmith, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems (Dorset House, 2000).Google Scholar
- 25.G. Booch, R.C. Martin and J. Newkirk, Object Oriented Analysis and Design with Applications, 2nd ed. (1998), (Unpublished).Google Scholar
- 26.A. Cockburn, Crystal Clear: A Human-Powered Methodology for Small Teams (Addison-Wesley, 2004).Google Scholar
- 27.S. R. Palmer and J. M. Felsing, A Practical Guide to Feature-Driven Development (Prentice-Hall, 2002).Google Scholar
- 28.W. J. Brown, R. C. Malveau, H. McCormick, T. Mowbray, Antipatterns: Refactoring Software, Architectures, and Projects in Crisis (Wiley, 1998).Google Scholar
- 29.J. Ralyté, R. Deneckére and C. Rolland, Towards a generic model for situational method engineering, in: Proceedings of CAiSE2003 (2003), pp. 95–110.Google Scholar
- 30.S. Kelly, K. Lyytinen, M. Rossi, MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment, in: Proceedings of CAiSE’96 (1996), pp. 1–21.Google Scholar