Many studies compare agile and waterfall methodologies: they distinguish between them on the basis of simple and complex requirements or contrast them on the basis of product development and project implementation. But are agile and waterfall development really that different?
Any development process that is part of a changing environment should be empirical, as it is the only one that can adapt to change. For example, the concept of the Toyota Prius did not include a requirement for the car to have a hybrid engine, the only requirement is that it should consume 1 litre per 20 kilometres. However, this could not be achieved with a non-hybrid engine during development.
However, can we imagine building a house without an exact floor plan, without knowing where the kitchen will be and how big it will be?
If we focus not on the preparation but on the implementation itself, it is up to us how we mix the two. When it comes to complex product development, it is worth adapting from both methodologies: agile methodologies: such as XP, Lean, Feature-Driven Development, and waterfall project management: such as demand management, risk management, stakeholder management.
How do you think the tools can best be mixed? Are agile or waterfall approaches really mutually exclusive?