Advertisement

Historical Roots of Agile Methods: Where Did “Agile Thinking” Come From?

  • Noura Abbas
  • Andrew M. Gravell
  • Gary B. Wills
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 9)

Abstract

The appearance of Agile methods has been the most noticeable change to software process thinking in the last fifteen years [16], but in fact many of the “Agile ideas” have been around since 70’s or even before. Many studies and reviews have been conducted about Agile methods which ascribe their emergence as a reaction against traditional methods. In this paper, we argue that although Agile methods are new as a whole, they have strong roots in the history of software engineering. In addition to the iterative and incremental approaches that have been in use since 1957 [21], people who criticised the traditional methods suggested alternative approaches which were actually Agile ideas such as the response to change, customer involvement, and working software over documentation. The authors of this paper believe that education about the history of Agile thinking will help to develop better understanding as well as promoting the use of Agile methods. We therefore present and discuss the reasons behind the development and introduction of Agile methods, as a reaction to traditional methods, as a result of people’s experience, and in particular focusing on reusing ideas from history.

Keywords

Agile Methods Software Development Foundations and Conceptual Studies of Agile Methods 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrahamsson, P., Solo, O., Ronkainen, J., Warsta, J.: Agile Software Debvelopment Methods, VTT technical Research Centre of Finland (2002)Google Scholar
  2. 2.
    Ambler, S.: Quality in an Agile World. Software Quality Professional 7(4), 34–40 (2005)MathSciNetGoogle Scholar
  3. 3.
    Ambrosio, J.: Software in 90 days Software Magazine. Wiesner Publications, Inc. (1988)Google Scholar
  4. 4.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional, Reading (2004)Google Scholar
  5. 5.
    Boehm, B.: Guidelines for Verifying and Validating Software Requirements and Design Specifications. In: Samet, P.A. (ed.) Euro IFIP 1979, IFIP. North-Holland Publishing Company, Amsterdam (1979)Google Scholar
  6. 6.
    Boehm, B.: A spiral model of software development and enhancement. IEEE Computer 21(5), 61–72 (1988)Google Scholar
  7. 7.
    Boehm, B., Turner, R.: Balancing Agility and Discipline: A Guide for the Perplexed. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2003)Google Scholar
  8. 8.
    Booch, G.: Object Solutions: Managing the Object-Oriented Project. Addison Wesley Longman Publishing Co., Inc., Amsterdam (1995)Google Scholar
  9. 9.
    Coad, P., de Luca, J., Lefebvre, E.: Java Modeling Color with UML: Enterprise Components and Process with Cdrom. Prentice Hall PTR, Englewood Cliffs (1999)Google Scholar
  10. 10.
    Cockburn, A.: Characterizing People as Non-linear, First-Order Components in Software Development, Humans and Technology Technical Report (1999)Google Scholar
  11. 11.
    Cockburn, A.: Agile Software Development. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002a)Google Scholar
  12. 12.
    Cockburn, A.: Crystal Clear A Human -Powered Methodology for Small Teams. Addison-Wesley, Reading (2005)Google Scholar
  13. 13.
    Cockburn, A., Highsmith, J.: Agile Software Development: The Business of Innovation. Computer 34(9), 120–127 (2001a)CrossRefGoogle Scholar
  14. 14.
    Cockburn, A., Highsmith, J.: Agile Software Development: The People Factor. Computer 34(11), 131–133 (2001b)CrossRefGoogle Scholar
  15. 15.
    Cohen, D., Lindvall, M., Costa, P.: An Introduction to Agile Methods. Advances in Computers, 1–66 (2004)Google Scholar
  16. 16.
    Fowler, M.: The New Methodology (2005), http://www.martinfowler.com
  17. 17.
    Gilb, T.: Evolutionary Delivery versus the "waterfall model". ACM SIGSOFT Software Engineering Notes 10(3), 49–61 (1985)CrossRefGoogle Scholar
  18. 18.
    Gladden, G.R.: Stop the Life-cycle, I Want to Get off. 7(2), 35–39 (1982)Google Scholar
  19. 19.
    Highsmith, J.: Adaptive Software Development: a Collaborative Approach to Managing Complex Systems. Dorset House Publishing Co., Inc. (2000)Google Scholar
  20. 20.
    Highsmith, J.: Agile Software Development Ecosystems. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)Google Scholar
  21. 21.
    Larman, C., Basili, V.R.: Iterative and Incremental Development: A Brief History. IEEE Computer Society 36(6), 47–56 (2003)Google Scholar
  22. 22.
    Larman, C.: Agile and Iterative Development: A Manager’s Guide. Alistair, C., Jim, H. (eds.). Pearson Education, Inc., London (2004)Google Scholar
  23. 23.
    Levine, L.: Reflections on Software Agility and Agile Methods, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA (2005)Google Scholar
  24. 24.
    Martin, J.: Rapid Application Development. Macmillan Publishing Co., Inc., Basingstoke (1991)Google Scholar
  25. 25.
    McCracken, D.D., Jackson, M.A.: Lifecycle Concept Considered Harmful, vol. 7, pp. 29–32. ACM Press, New York (1982)Google Scholar
  26. 26.
    Palmer, S.R., Felsing, M.: A Practical Guide to Feature-Driven Development. Pearson Education, London (2001)Google Scholar
  27. 27.
    Paulk, M.C.: Agile Methodologies and Process Discipline. CrossTalk- The Journal of defence Software Engineering, 15–18 (2002)Google Scholar
  28. 28.
    Raymond, E.S.: The Cathedral and the Bazaar (1999)Google Scholar
  29. 29.
    Royce, W.W.: Managing the Development of Large Software Systems 1970. In: Proceedings, IEEE WESCON, pp. 1–9 (1970)Google Scholar
  30. 30.
    Saint-Exupery, A.D.: Wind, Sand and Stars. Harcourt (1992)Google Scholar
  31. 31.
    Schwaber, K.: Controlled Chaos: Living on the Edge. Advanced Development Methods, Inc. (1996)Google Scholar
  32. 32.
    Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall PTR, Englewood Cliffs (2001)Google Scholar
  33. 33.
    Sommerville, I.: Software Engineering (1st, 3rd, 8th) edn. Addison-Wesley, Reading (1972, 1989, 2007)Google Scholar
  34. 34.
    Stapleton, J.: DSDM: The Method in Practice. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1997)Google Scholar
  35. 35.
    Thomas, D.: The Essential Unified Process (EssUP) - New Life for the Unified Process Dr. Dobb’s Portal: the Worlds of Software Development (2006)Google Scholar
  36. 36.
    Turner, R., Jain, A.: Agile Meets CMMI: Culture Clash or Common Cause? In: Wells, D., Williams, L. (eds.) XP 2002. LNCS, vol. 2418, pp. 153–165. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  37. 37.
    Weinberg, G.M.: The Psychology of Computer Programming, p. 304. John Wiley & Sons, Inc., Chichester (1985)Google Scholar
  38. 38.
    Williams, L.: A Survey of Agile Development Methodologies (2004)Google Scholar
  39. 39.
    Yourdon, E.: Death March: The Complete Software Developer’s Guide to Surviving Mission Impossible Projects. Paul, D.B. (ed.), p. 227. Prentice Hall PTR, Englewood Cliffs (1997)Google Scholar
  40. 40.
    Dijkstra, E.W.: The humble programmer. Communication of the ACM 15(10), 859–866 (1972)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Noura Abbas
    • 1
  • Andrew M. Gravell
    • 1
  • Gary B. Wills
    • 1
  1. 1.School of Electronics and Computer ScienceUniversity of SouthamptonSouthamptonUnited Kingdom

Personalised recommendations