• 15 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 10/15/19

Learn Agile Principles and Discover the Agile Manifesto

Log in or subscribe for free to enjoy all this course has to offer!

In the last chapter, we looked at how the waterfall model can be suitable for some projects but a woefully inadequate software development approach for others. When requirements are not well-known at the start of a project, trying to capture them during a specific phase can often prove fruitless;  in these cases, an iterative approach can be beneficial.

From iterative approaches emerged one of the most popular approaches today: Agile.  Let's take a look at how it began and how it's defined.

The Story of the Agile Manifesto

In February 2001, a group of leading experts from the Agile community met in Snowbird, Utah to discuss common ground between their approaches in the quickly developing world of Agile. Although some of the 17 experts that turned up had quite low expectations, they quickly hit it off and decided to write a joint document that summarized their belief system. It would act as a rallying call for the whole software industry.

The concise summary of values can be seen below, along with the 17 leaders who created this seminal document:

The Agile Manifesto
The Agile Manifesto

A Closer Look at the Agile Manifesto

The Agile Manifesto states that:

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

  • Individuals and Interactions over processes and tools

  • Working Software over comprehensive documentation

  • Customer Collaboration over Contract Negotiation

  • Responding to change over Following a Plan

     

That is, while there is value in the items on the right, we value the items on the left more.

These are fundamental principles and values that underpin all successful agile development, so let's take a look at them in more detail:

sd

The first principle is to value:

Individuals and Interactions over processes and tools

Agile development puts communication at its core. This implies respect for every person, honest communication, transparency in data and actions, trust that each person will support each other, and is committed to the team.

Individuals and their interactions are of utmost importance to this process. The team develops a set of common goals and then tries to grow as individuals and as a team to make these goals happen.

While the process is important, people are the key contributors and if their behavior creates an open, honest, transparent environment, then the best results can be achieved.

sd

The second principle is to value:

Working Software over comprehensive documentation

Delivering small pieces of working software to the customer at regular intervals is one of the key tenets of Agile development. Instead of lengthy documentation, working software can be produced with lightweight requirements (typically a set of tests or scenarios that must be supported).

sd

The third principle is to value:

Customer Collaboration over Contract Negotiation

Having smaller projects and delivering working software at regular intervals allows the customer to provide feedback. The goal of Agile development is to work on products that deliver value to the customer. Sometimes the customer (which can be an internal stakeholder, external client, or even the product owner as a proxy for the end-client) can ask for features that don't meet their needs or even change their opinion on what is required, based on new information they have discovered.

Agile development looks to work with the customer to add value rather than force the customer to stick to previous requests, contracts, or requirements.

sd

The fourth principle is to value:

Responding to change over Following a Plan

Humphrey’s Law says that customers never know what they want until they see working software. It is normal that customers will react this way, so Agile methodology builds in frequent feedback opportunities by delivering small pieces of working software to the customer at regular intervals.

When change is required in order to deliver value to the customer, the tech team tries (within reason) to respond to that change rather than resist it by pointing to any previous requests or agreements.

Agile Principles

The Agile Manifesto also describes twelve principles of agile development:

  1. Provide customer satisfaction through early and continuous software delivery

  2. Accommodate changing requirements throughout the development process

  3. Supply frequent delivery of working software

  4. Collaborate between the business stakeholders and developers throughout the project

  5. Support, trust, and motivate the people involved 

  6. Enable face-to-face interactions 

  7. Measure progress through working software

  8. Use Agile processes to support a consistent development pace 

  9. Enhance agility through attention to technical detail and design

  10. Keep things simple by developing just enough to get the job done for right now

  11. Self-organize teams to encourage great architectures, requirements, and designs 

  12. Reflect regularly on how to become more effective 

As we move through the rest of the course, see if you can observe how these principles shine through various Agile methodologies.

Summary

  • In February 2001, a group of leading experts from the Agile community defined the Agile Manifesto.

  • This manifesto sets out four important principles:

    • Individuals and interactions over processes and tools

    • Working software over comprehensive documentation

    • Customer collaboration over contract negotiation

    • Responding to change over following a plan

  • All Agile software development methodologies (SCRUM, Kanban, XP) embrace these principles. They represent a set of values that define how people in the organization behave toward each other.

Additional Resources

  • Martin Fowler tells the story of writing the Agile Manifesto in Snowbird, Utah in Feb 2001.

     

Example of certificate of achievement
Example of certificate of achievement