If you take a deeper look at agile manifesto:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
You will find out that it's all about a way of good thinking and culturing. agile allows for organic changes and improvements along the way, even to project specifications. agile dictates that communication among the team must occur daily, so that everyone is aware of individual progress.
What's wrong with waterfall?
it's completely obvious that waterfall approach is step by step and each step is predictable, In iterative Waterfall, time is fixed, and scope is broken into segments to fit the allotted time and resources. Each iteration must go through requirements, design, build and test and is executed in a slightly staggered schedule, meaning that each iteration starts just before the previous iteration is complete. The advantage of iterative waterfall is that it provides clear points to change requirements and receive users’ feedback, reducing re-work and time to delivery. The disadvantage is that it creates more potential points of failure and additional work for the project manager. Alternatively, you could attempt to change your organization to make Agile a better fit. As pointed out earlier, changing an organization’s culture is a difficult project and should be planned carefully.
How to Move From Waterfall to Agile
As you can see in the source page of the picture above on here, don't think that agile overrides the waterfall! Agile is a new way of thinking about software development and it's not the best solution for all problems. Changing a methodology must be accompanied by a comprehensive change management and strong leadership as it's not an easy task.
The transition from waterfall to agile software development requires careful planning. The collaboration and flexibility that agile brings can result in a better end product for your client, and a more engaged, harmonious internal team. There are several methods to implement agile like scrum. In scrum there are some rules like daily meetings of team members, Poker planning that makes rapid completion of incremental tasks, shortened work cycle called 'Spring' which makes complete smaller increments of a product to get feedbacks frequently consider the project progress very quickly. What I personally interested in about agility is that team members by working together understand each other and their weaknesses, so it makes a kind motivation to facilitate the lacks.