Within software development there are a lot of different methodologies that can be utilized to achieve the goal and planned results. Although all methodologies have their own benefits, Agile is one of the methodologies that emerged over the past years, with a still increasing popularity. So what is Agile and how did it became so popular?
History of Agile development
Project management was typically approached by beginning and finishing one part of a project as linear processes before moving on to the next. Sequential phases in which you should only move to the next once its preceding phase is reviewed and verified. With long leading times throughout for the entire process this often led to projects running over time, budget or no longer relevant to the business. Instead of the traditional approach only the idea or the vision of the expected goal was presented and the project started immediately. This latter approach became known as the agile development methodology. It required more effective communication between all working teams in a project but would yield more cost efficient results. In 2001 the ‘Agile manifesto’ was written to outline and set guidelines for the principles of Agile.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is Agile software development?
Whereas traditional methodologies require detailed requirements and Big Designs Up Front (BDUF), Agile does not have a clearly defined end product. By close collaboration and communication Agile focusses on adapting to change in a constantly evolving landscape. Delivering incremental business value to the product on short time-boxed cycle times. Each increment adds functional bits to the product which gives opportunity to inspect the current state and gather early feedback. These feedback loops give insights on the projects challenges or opportunities and allows involved stakeholders to adapt to new ideas or information. These ideas can be used as input for the next increment or towards the final product.
Key Benefits Of Agile
- Development starts early, immediately adding business value
- High return on investment (ROI) by adding value with each increment
- Frequent and predictable delivery of each increment
- Early feedback loops
- Opportunity to constantly refine, prioritize and change the product backlog
- Transparency throughout the project lifecycle
- High stakeholder and team engagement by close collaboration
Based on own experience adopting Agile practices I’ve seen projects turning around from years delay to delivery on time. By incorporating the ability to change, close collaboration and short feedback loops this also led to a much higher client and customer satisfaction.