In traditional environment we try to answer all the question in advance so it becomes predictable and repeatable process whereas in Agile projects evolves with the age of project
In Traditional way of project development, we assume and believe that perfect estimates can be created in advance. However this traditional approach in project development has failed more often and proved that it is difficult to arrive at better estimates with little or no information during project start. Therefore in agile we hold the estimate till the last responsible moment. Reason is very simple, more the clarity we have, better will be estimate. Agile supports it.
Traditional development believes in full project plan upfront and track the progress of project on the planned timelines/cost. However this approach has failed due to visibility in the beginning. Plans evolves as thigs gets clear in the project. Therefore in agile, a small piece is picked by agile team and planned. This is nothing but a focused planning effort which works on progressive elaboration
Traditional development believes in full project requirement capturing in the beginning. After the requirements are captured, same is estimated and planned. Requirements can never is envisaged in the beginning 100%. In traditional approach, due to upfront requirement gathering friction on change requests and extra cost with customers peep in. Therefore in agile, requirement changes are welcomed at any point of time in the project i.e. Customer is part of the team and they can prioritize the requirements for next iterations. They can add/delete and modify what they need
Also as explained earlier, assuming that requirements will hardly change is not good. In real world, requirements changes very frequently. Especially in today’s dynamic business market.
it’s assumed that users know exactly what they are looking for since beginning, whereas practically this is not possible. It rarely happens that users have full visibility in the beginning. As project grows, demonstration of the product happens user requirements evolves. Agile is based on the same. User requirements evolves
Traditional development is based on big bang approach, do everything completely then take the next move, be it requirements, estimation or planning whereas agile is based on incremental approach, do all the bits in small chunks which gives more space for inspection and adaptation after every baby step is completed
Traditionally we have three constraint for project development i.e. scope, cost and schedule whereas agile environment is driven by Value delivered to customer. Business value is the only criteria of project success