What is Agile and what are the benefits?
How does a large software project get to be one year late? One day at a time! So said Fred Brooks in his book The Mythical Man-Month, writing of his experiences at IBM in 1975. He learned the hard way about communication, estimating and prototyping.
Thankfully, 40+ years later, software development teams have smarter ways of working. Since 2001, Agile development has been the lightweight development methodology of choice.
What Agile actually is
Agile
Agile is a working method that empowers a team to deliver software in a highly productive way. At its heart is a cross-functional team, usually comprising no more than nine people. By including developers and testers in the same team, communication about progress and issues is carried out first-hand.
The scrum master’s role
Scrum master
The scrum master facilitates a daily team meeting, known as a stand-up to indicate that it is short and to the point, and each team member contributes. By taking collective responsibility, the team solves problems internally wherever possible, reducing the need to escalate to management. The scrum master role is critical to the success of the team and training is essential. Companies such as https://www.althris.com/courses/scrum-master/ provide scrum master training in Dublin.
Product owner
The product owner is part of the team, advising on priorities, answering domain-related questions, and liaising with the business. The product owner maintains the product backlog, which is a list of features that is regularly ranked and updated with business priorities.
Sprints
Development is scheduled into sprints, often of two or three weeks’ duration. A number of use cases are scheduled for the sprint, which gives the team a clear target to be achieved in the short term. Completing the use cases also means finding and fixing bugs so that small amounts of high-quality software are developed and available to other teams.
Agile benefits
The British Computer Society describes how the Met Office used Agile when developing its website for amateur weather watchers.
Why teams find Agile empowering
By allowing the team to make decisions and solve problems, team members feel empowered. There is less of a divide between developers, testers and other disciplines, and people feel more inclined to volunteer for tasks.
Delivering developments in sprints gives the business a view of progress. The client can see a working product and has a much better way of communicating requirements or changes.
Summary
This article explains what Agile software development is and why teams use it, describing a small cross-functional team, the scrum master’s role in running short daily meetings, and the product owner who manages priorities and the product backlog. It covers working in short sprints to deliver tested software regularly, and how Agile can make teams feel more empowered and give clients clearer visibility of progress.
Questions this article raises
- How is Agile different from traditional waterfall project management?
- How long should a typical Agile sprint last?
- What training does a scrum master usually need before taking on the role?
