Why software engineering is different
Project based “Design first and build it once” approaches are a waste when creating software. Software is wonderfully volatile and easy to change compared to other engineering disciplines, so a different way of building products is necessary. Software benefits hugely from from an agile approach to product development, not just because software lets us tackle more complex problems, but also because of the different constraints that software development faces compared to other engineering disciplines.