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]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[2]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[3]  Brian Henderson-Sellers,et al.  Creating a Dual-Agility Method: The Value of Method Engineering , 2005, J. Database Manag..

[4]  James O. Coplien,et al.  A generative development-process pattern language , 1995 .

[5]  Sjaak Brinkkemper,et al.  Method engineering: engineering of information systems development methods and tools , 1996, Inf. Softw. Technol..

[6]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[7]  Scott W. Ambler More Process Patterns: Illustrations , 1999 .

[8]  Scott W. Ambler,et al.  More Process Patterns: About the Author , 1998 .

[9]  Andreas Rausch,et al.  A Componentware Development Methodology based on Process Patterns , 1998 .

[10]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[11]  Sjaak Brinkkemper,et al.  Assembly Techniques for Method Engineering , 1998, CAiSE.

[12]  Brian Henderson-Sellers,et al.  The open process framework : an introduction , 2002 .

[13]  D. M. Hutton,et al.  Process Patterns: Building Large‐Scale Systems Using Object Technology , 1999 .

[14]  Colette Rolland,et al.  Towards a Generic Model for Situational Method Engineering , 2003, CAiSE.

[15]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[16]  Isabelle Mirbel,et al.  Situational method engineering: combining assembly-based and roadmap-driven approaches , 2005, Requirements Engineering.

[17]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[18]  Scott W. Ambler,et al.  More Process Patterns: Delivering Large-Scale Systems Using Object Technology , 1998 .

[19]  Brian Fitzgerald,et al.  Customising agile methods to software practices at Intel Shannon , 2006, Eur. J. Inf. Syst..

[20]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[21]  Naveen Prakash,et al.  On generic method models , 2006, Requirements Engineering.

[22]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[23]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[24]  Brian Henderson-Sellers,et al.  Method engineering for OO systems development , 2003, CACM.