A Comparative Analysis of Traditional Software Engineering and Agile Software Development

Over the last decade (or two) the pendulum of developer mindshare has swung decidedly towards agile software development from a more traditional engineering approach to software development. To ascertain the essential differences and any possible incompatibilities between these two software development paradigms this research investigates a number of traditional and agile methodologies, methods, and techniques. The essential differences between traditional software engineering and agile software development are found not to be (as one may first suspect from a cursory consideration) related to iteration length or project management, but rather more related to other attributes like the variety of models employed, the purpose of the models, and the approach to modeling. In the end though the two approaches are not seen to be incompatible, leading to the future possibility of an Agile Software Engineering (ASE).

[1]  Tom DeMarco Software Engineering: An Idea Whose Time Has Come and Gone? , 2009, IEEE Software.

[2]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[3]  Colin J. Neill,et al.  The Demise of the Waterfall Model Is Imminent, and Other Urban Myths , 2004, ACM Queue.

[4]  Mary Poppendieck,et al.  Implementing Lean Software Development: From Concept to Cash (The Addison-Wesley Signature Series) , 2006 .

[5]  Raghavendra Rao Loka,et al.  Software development: what is the problem? , 2007, Computer.

[6]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[7]  David S. Janzen,et al.  Test-driven development concepts, taxonomy, and future direction , 2005, Computer.

[8]  Charles Edeki,et al.  Agile Unified Process , 2013 .

[9]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[10]  Richard F. Paige,et al.  When are methods complementary? , 1999, Inf. Softw. Technol..

[11]  Eric Lefebvre,et al.  Java modeling in color with UML: enterprise components and process , 1999 .

[12]  S. McConnell,et al.  Professional software engineering: fact of fiction? [Guest Editorial] , 1999 .

[13]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[14]  Evans,et al.  Domain-driven design , 2003 .

[15]  Manal A Awad,et al.  A Comparison between Agile and Traditional Software Development Methodologies , 2005 .

[16]  Pekka Abrahamsson,et al.  Lean Software Development , 2012, IEEE Softw..

[17]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[18]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[19]  Watts S. Humphrey,et al.  Introduction to the Personal Software Process , 1996 .

[20]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[21]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[22]  JaatunMartin Gilje,et al.  Agile Software Development , 2002, Comput. Sci. Educ..

[23]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

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

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

[26]  Hannes Schwarz,et al.  Model-Driven Software Development , 2013 .

[27]  Justus D. Naumann,et al.  Prototyping: the new paradigm for systems development , 1982 .

[28]  James Martin,et al.  Rapid Application Development , 1991 .

[29]  吴树峰 从学徒到大师之路--读《 The Pragmatic Programmer, From Journeyman to Master》 , 2007 .

[30]  Steve McConnell,et al.  Rapid Development: Taming Wild Software Schedules , 1996 .

[31]  Watts S. Humphrey,et al.  Using A Defined and Measured Personal Software Process , 1996, IEEE Softw..

[32]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[33]  Scott W. Ambler,et al.  Enterprise unified process, the: extending the rational unified process , 2005 .

[34]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

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

[36]  Peter Constable,et al.  DSDM: Dynamic Systems Development Method: The Method in Practice , 1997 .

[37]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.