Introduction:
Agile methodology is an alternative to traditional project management, typically used in software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development.
Why Agile:
Agile development methodology provides opportunities to assess the direction of a project throughout the development life-cycle. This is achieved through regular cadences of work, known as sprints or iterations, at the end of which teams must present a potentially shippable product increment. In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the life-cycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction.
Scrum:
Scrum is the most popular way of introducing Agility due to its simplicity and flexibility. Scrum emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations.
Scrum has only three roles: Product Owner, Team, and Scrum Master. The responsibilities of the traditional project manager role are split up among these three Scrum roles.
Scrum has five meetings: Backlog Grooming (aka Backlog Refinement), Sprint Planning, Daily Scrum (aka 15-minute stand up), the Sprint Review Meeting, and the Sprint Retrospective Meeting.
Pros and Cons of Agile vs Waterfall:
- Agile makes it easier to add features or aspects you discovered into your product whereas in Waterfall When dealing with a business that continually evolves and requires adaptation, it can lead to scope creep, budget overruns, or a project launch that doesn’t hit the clients evolving needs. Re-entering a waterfall process over and over because of a continually evolving business can cause a project to head over budget.
- In Agile appropriate planning not done in advance which can lead to cost overruns later whereas in Waterfall if there is a complete visibility of the business better planning can be done in advance lead to less overruns but it requires intensive upfront planning to ensure that intricate details are accounted for and aren’t discovered midstream in the project.
- Agile can lead to endless cycles of code sprints and never reaching a product launch and the finished product can often become something completely different than what was originally planned for and if mismanaged can greatly overrun budget expectations whereas Waterfall can still yield a good result and a faster project launch.