Abstract
Ever since software engineering was born, over 40 years ago, hundreds of “fundamental principles” for software engineering have been proposed. It is hard to believe that such a young discipline—in fact, any discipline—would rest on such a large number of “fundamental” principles. A few years ago, Séguin and Abran indeed showed, through a detailed analysis of the various principles proposed in the software engineering literature during the 1970–2003 period, that many—in fact most!—of the statements proposed as “fundamental principles” could not be considered as software engineering principles. The analysis method proposed by Séguin and Abran provides, among other things, a rigorous definition of term principle along with a set of criteria allowing to verify whether or not a statement is a software engineering principle. In this paper, we apply this method to the agile principles. More specifically, we examine the principles proposed by the Agile Manifesto as well as those from three well-known agile methods: XP, Scrum, and DSDM. Our analysis results show that many of the statements proposed as agile principles are in fact also software engineering principles.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abran, A., Moore, J., Bourque, P., Dupuis, R. (eds.): Guide to the Software Engineering Body of Knowledge (2004 Version). IEEE Computer Society Press (2004)
Davis, M.: Will software engineering ever be engineering? Commun. ACM 54, 32–34 (2011)
Boehm, B.W.: Seven basic principles of software engineering. Journal of Systems and Software 3(1), 3–24 (1983)
Bourque, P., Dupuis, R., Abran, A., Moore, J.W., Tripp, L., Wolff, S.: Fundamental principles of software engineering—A journey. J. Syst. Softw. 62, 59–70 (2002)
Davis, A.M.: 201 principles of software development. McGraw-Hill, Inc. (1995)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice Hall (2003)
Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. Journal of Systems and Software 1, 213–221 (1979-1980)
Ross, D., Goodenough, J., Irvine, C.: Software engineering: Process, principles, and goals. Computer 8(5), 17–27 (1975)
Royce, W.W.: Managing the development of large software systems: concepts and techniques. In: Proc. 9th Int’l Conf. on Soft. Eng., pp. 328–338 (1987)
Wasserman, A.: Toward a discipline of software engineering. IEEE Software 13(6), 23–31 (1996)
Séguin, N., Abran, A.: Les principes du génie logiciel: une première analyse. Génie Logiciel (80), 45–51 (2007)
Beck, K., et al.: Manifesto for Agile Software Development (February 2001), http://agilemanifesto.org
Bagane, H.: Analyse des principes du génie logiciel au niveau du développement agile. Master’s thesis, Dép. d’Informatique, UQAM (March 2011)
Bagane, H., Tremblay, G., Séguin, N.: Principes de génie logiciel et développement agile : une analyse. Génie Logiciel (98), 43–51 (2011)
Beck, K.: Extreme Programming Explained—Embrace Change. Addison-Wesley (1999)
Schwaber, K.: Scrum development process. In: ACM Conf. on Obj. Oriented Progr. Syst., Lang., and Applic. (OOPSLA), pp. 117–134 (1995)
Stapleton, J.: DSDM: Dynamic Systems Development Method: The Method in Practice. Addison-Wesley Professional (1997)
Séguin, N.: Inventaire, analyse et consolidation des principes fondamentaux du génie logiciel. PhD thesis, École de Technologie Supérieure, Montréal, QC (2006)
Oxford English Dictionary Online project team: Oxford English Dictionary (November 2011), http://www.oed.com
Power, G.: Values, practices & principles, http://www.energizedwork.com/weblog/2006/12/values-practices-principles (Visited on April 2011)
Bunge, M.: Philosophical Dictionnary. Prometheus Book, New York (2003)
Aubray, C.: Scrum: le guide pratique de la méthode agile la plus populaire. Dunod (2010)
ISO/IEC: Information technology—software life cycle processes. Technical Report ISO/IEC Std 12207: 1995, ISO/IEC (1995)
Cohn, M.: User Stories Applied—For Agile Software Development. Addison-Wesley Professional (2004)
Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice-Hall (2001)
Schwaber, K.: Agile Software Development with Scrum. Microsoft Press (2004)
Boehm, B., Turner, R.: Balancing Agility and Discipline—A Guide for the Perplexed. Addison-Wesley (2004)
Takeuchi, H., Nonaka, I.: The new new product development game. Harvard Business Review (1986)
McConnell, S.: Rapid Development: Taming Wild Software Schedules. Microsoft Press (1996)
Shore, J., Warden, S.: The art of agile development. O’Reilly Media (2007)
Fowler, M.: Principles of XP (October 2003), http://martinfowler.com/bliki/PrinciplesOfXP.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Séguin, N., Tremblay, G., Bagane, H. (2012). Agile Principles as Software Engineering Principles: An Analysis. In: Wohlin, C. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2012. Lecture Notes in Business Information Processing, vol 111. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30350-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-30350-0_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-30349-4
Online ISBN: 978-3-642-30350-0
eBook Packages: Computer ScienceComputer Science (R0)