Agile, at a glance, can appear as quite an inefficient methodology. It features a lot of meetings and doesn’t focus on the rigorous initial planning that would be seen in a traditional waterfall project. However, when the rubber hits the road and we put the methodology to work we see a drastic improvement over the old methods.
In a traditional waterfall project everything is planned up front and a scope is defined. An assumption is made with this methodology that everything is known up front. Unfortunately, this is rarely the case and it leads to change requests being made after the discovery of new requirements. This causes trouble between client and company as the topic of money needs to be broached and the schedule gets pushed to compensate for the change.
Agile on the other hand thrives in the face of change. Initial planning focuses more on what the client is looking to accomplish rather than trying to define all the minutiae of the project before anything is known. Clients receive regular, fully-testable builds of the functionality they feel is of the highest importance. When a client identifies the need for a change, it’s identified and incorporated into the backlog to be added when the client feels it’s appropriate. This flexibility allows for changes to occur without the need for a change request and allows for friction-free communication between client and company to provide the best product possible within the budget of the client.
When it comes to planning, the reality is that no matter how meticulous the client is in their needs they don’t know everything that’s going to be important up front. Agile provides a way for them to quickly identify what’s really important through the use of incremental builds. Identifying needs in a real world scenario is infinitely easier than trying to account for them months ahead of time in a vacuum. That is how agile can work for you.