Reader small image

You're reading from  The Professional Scrum Master Guide

Product typeBook
Published inJul 2021
PublisherPackt
ISBN-139781800205567
Edition1st Edition
Concepts
Right arrow
Author (1)
Fred Heath
Fred Heath
author image
Fred Heath

Fred Heath is a freelance developer and consultant based in Wales, UK. Over the last 20 years, he's worked at every stage of the software development life cycle using a variety of languages and platforms and ended up falling in love with Ruby and its ecosystem. Fred enjoys solving tricky problems, FOSS, meta programming, Behavior-Driven Development, and Agile processes. He also frequently writes online and speaks at conferences about Ruby, software development, and best practices. Fred is always happy to hear from you and chat about Ruby and Rails on Twitter.
Read more about Fred Heath

Right arrow

What is Agile software development?

Anyone who has been working in software development over the last 10 years or so will have at least heard of the term Agile. People often talk about doing Agile or being Agile but, beyond a cool-sounding buzzword, what is Agile really all about? Well, to answer that question, we need to look at the origins of Agile software development.

Back in the late 1990s, many senior software developers and industry leaders, fed up with the static and inflexible software development methodologies prevalent at the time, were already experimenting with more flexible and responsive techniques and approaches. In 2000 and 2001, a small group of these influencers met up to discuss these methods and techniques. The unifying theme behind this effort was a desire to be able to quickly deliver working software to end users and to get rapid feedback on the software's impact and scope. In the forthcoming years, methodologies developed under this philosophy came to be known under the umbrella term of Agile.

The Agile philosophy is best captured in the Agile Manifesto (2001), which identifies the following values:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The Agile Manifesto clearly states that while there is value in the items on the right of this list, we value the items on the left more. So, it is not an abandonment of the old values, but a realization that some new values (individuals and interactions, working software, collaboration, adapting to change) are far more relevant in the modern software development world. In addition, they also came up with a set of principles (see Principles behind the Agile Manifesto in the Further reading section), emphasizing continuous delivery, frequent feedback, personal interactions, and much more. These principles are as follows:

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Deliver working software frequently, from every couple of weeks to every couple of months, with a preference for a shorter timescale.
  • Businesspeople and developers must work together daily throughout the project.
  • Build projects around motivated individuals.
  • Give them the environment and support they need and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development.
  • The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity – the art of maximizing the amount of work not done – is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

It becomes clear that Agile is not a specific methodology, process, or framework but more of a mindset; a set of principles and ideals to guide us through the software development process.

This is a rather important concept to keep in mind: throughout my career, I've heard managers, directors, and developers boasting about being Agile because they have daily stand-up meetings, practice pair-programming, or use a Kanban board (more on these in Chapter 7, The Sprint Journey). All these are perfectly good tools to support an Agile development lifecycle, but their use alone does not make us Agile any more than wearing a cape and my underwear outside my pants makes me a superhero. To truly be Agile, you have to think and act in an Agile manner, that is in a manner consistent with the Agile Manifesto. One of the most popular ways of being Agile is by applying Scrum in your organization or team.

With this in mind, let's take a closer look at the Scrum framework.

Previous PageNext Page
You have been reading a chapter from
The Professional Scrum Master Guide
Published in: Jul 2021Publisher: PacktISBN-13: 9781800205567
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Fred Heath

Fred Heath is a freelance developer and consultant based in Wales, UK. Over the last 20 years, he's worked at every stage of the software development life cycle using a variety of languages and platforms and ended up falling in love with Ruby and its ecosystem. Fred enjoys solving tricky problems, FOSS, meta programming, Behavior-Driven Development, and Agile processes. He also frequently writes online and speaks at conferences about Ruby, software development, and best practices. Fred is always happy to hear from you and chat about Ruby and Rails on Twitter.
Read more about Fred Heath