Agile and Scrum: A Walk-Through
You’ve likely searched for Agile and Scrum because you’ve heard these terms and want to learn more. Whether you’re familiar with one and curious about the other or completely new to both, this article will guide you through the basics.
What is Agile?
Agile, as a concept, can be understood in three interconnected ways:
- Agile as a Word: It means moving quickly and easily.
- Agile in the Context of the Agile Manifesto: A methodology born from a need for faster, more adaptable software development.
- Agile Software Development: An approach focusing on creating flexible, iterative processes that adapt to changing requirements.
The Agile Manifesto
In 2001, seventeen software development experts gathered to create the Agile Manifesto. They sought a better way to manage the increasing demand for software in a fast-paced environment, and Agile was their solution. The Agile Manifesto prioritises:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
However, the manifesto itself doesn’t prescribe a detailed methodology, which is where Agile frameworks come in.
Agile Frameworks
Agile frameworks give structure to the Agile philosophy, focusing on iterative development and continuous feedback. There are about 50 different Agile frameworks, with some better suited for small teams and others for large-scale organisations. All Agile frameworks share common traits, such as:
- Fixed iteration length
- Lightweight structure
- Continuous feedback loops
One of the most widely used Agile frameworks is Scrum.
What is Scrum?
Scrum is a methodology within the Agile family and is now the most popular Agile framework globally. Surprisingly, its origins can be traced back to 1986, when two Japanese business experts used the term ‘scrum’ (originally from rugby) to describe the collaborative team effort required for project success.
The Scrum Framework was formalised in 1995 by two Agile Manifesto authors, Jeff Sutherland and Ken Schwaber. Scrum focuses on enhancing team collaboration for complex software projects, allowing teams to work in structured increments.
Key Elements of Scrum
- Team Structure: A Scrum team typically consists of a Product Owner, Scrum Master, and a Development Team (3-9 developers). The Product Owner represents the customer, while the Scrum Master ensures the team follows Scrum practices.
- Scrum Ceremonies: These include Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective. Each sprint, lasting 2-4 weeks, focuses on delivering increments of the product.
- Scrum Artifacts: The main artifacts are the Product Backlog, Sprint Backlog, and Product Increment, each helping the team stay focused and track progress.
Conclusion: Agile and Scrum in Practice
Scrum emerged as an Agile framework to address the need for flexible, responsive software development methods. Although Agile was only officially defined in 2001, its principles gave rise to the creation of Scrum much earlier. Agile provides the foundation, while Scrum offers the practical methodology to achieve success.