Process Patterns for Agile Methodologies

  • Samira Tasharofi
  • Raman Ramsin
Part of the IFIP — The International Federation for Information Processing book series (IFIPAICT, volume 244)

Abstract

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.

References

  1. 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. 2.
    S. W. Ambler, Process Patterns: Building Large-Scale Systems Using Object Technology (Cambridge University Press, 1998).Google Scholar
  3. 3.
    S. W. Ambler, More Process Patterns: Delivering Large-Scale Systems Using Object Technology (Cambridge University Press, 1999).Google Scholar
  4. 4.
    N. Prakash, On generic method models, Requirements Engineering 11(4), 221–237 (September 2006).CrossRefGoogle Scholar
  5. 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. 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. 7.
    A. F. Harmsen, Situational Method Engineering (Moret Ernst & Young, 1997).Google Scholar
  8. 8.
    I. Mirbel and J. Ralyté, Situational method engineering: combining assembly-based and roadmap-driven approaches. Requirements Engineering 11(1), 58–78 (March 2006).CrossRefGoogle Scholar
  9. 9.
    S. Brinkkemper, M. Saeki and F. Harmsen, Assembly techniques for method engineering. in: Proceedings of CAiSE’98 (1998), pp. 381–400.Google Scholar
  10. 10.
    S. Brinkkemper, Method engineering: Engineering of information systems development methods and tools. Information and Software Technology 38(4), 275–280 (Apr.1996).CrossRefGoogle Scholar
  11. 11.
    D. Firesmith and B. Henderson-Sellers, The OPEN Process Framework: An Introduction (Addison-Wesley, 2001).Google Scholar
  12. 12.
    B. Henderson-Sellers, Method Engineering for OO Systems Development, Communications of the ACM 46(10), 73–78 (October 2003).CrossRefGoogle Scholar
  13. 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. 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
  15. 15.
    B. Fitzgerald, G. Hartnett and K. Conboy, Customizing agile methods to software practices at Intel Shannon, European Journal of Information Systems, 15(2), 200–213 (April 2006).CrossRefGoogle Scholar
  16. 16.
    S. W. Ambler, The agile system development lifecycle, published on the web at: http://www.ambysoft.com/essays/agileLifecycle.html (2006).
  17. 17.
    D. Wells, Extreme programming: A gentle introduction, published on the web at: http://www.extremeprogramming.org (2006).
  18. 18.
    K. Beck and C. Andres, Extreme Programming Explained: Embrace Change, 2nd Ed (Addison-Wesley, 2004).Google Scholar
  19. 19.
    S. W. Ambler, The agile unified process, published on the web at: http://www.ambysoft.com/unifiedprocess/agileUP.html (2005).
  20. 20.
    D. Turk, R. France and B. Rumpe, Limitations of agile software processes, in: Proceedings of XP (2002), Alghero, Italy.Google Scholar
  21. 21.
    K. Beck, et al, Manifesto for agile software development, published on the Web at: http://www.agilemanifesto.org (2001).
  22. 22.
    DSDM Consortium, J. Stapleton, DSDM: Business Focused Development, 2nd Ed. (Addison-Wesley, 2003).Google Scholar
  23. 23.
    K. Schwaber and M. Beedle, Agile Software Development with Scrum (Prentice-Hall, 2001).Google Scholar
  24. 24.
    J. Highsmith, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems (Dorset House, 2000).Google Scholar
  25. 25.
    G. Booch, R.C. Martin and J. Newkirk, Object Oriented Analysis and Design with Applications, 2nd ed. (1998), (Unpublished).Google Scholar
  26. 26.
    A. Cockburn, Crystal Clear: A Human-Powered Methodology for Small Teams (Addison-Wesley, 2004).Google Scholar
  27. 27.
    S. R. Palmer and J. M. Felsing, A Practical Guide to Feature-Driven Development (Prentice-Hall, 2002).Google Scholar
  28. 28.
    W. J. Brown, R. C. Malveau, H. McCormick, T. Mowbray, Antipatterns: Refactoring Software, Architectures, and Projects in Crisis (Wiley, 1998).Google Scholar
  29. 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. 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

Copyright information

© International Federation for Information Processing 2007

Authors and Affiliations

  • Samira Tasharofi
    • 1
  • Raman Ramsin
    • 2
  1. 1.Department of Electrical and Computer EngineeringUniversity of TehranTehranIran
  2. 2.Department of Computer EngineeringSharif University of TechnologyTehranIran

Personalised recommendations