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).