The principles behind the (agile) manifesto

We’ve looked at the manifesto for agile software development. There are also 12 principles being the manifesto. As we are about to embark on a journey of exploration of some of the “agile” methodologies, it might be instructive to start by reviewing these principles and to try and group them a little bit.

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

When we look at the principles only a few major categories jump out at me. What do you see? The categories are that I see are:

  • People focused
  • Software focused
  • Process focused

Naturally we would expect the principles behind the “Manifesto for agile software development” to be principally focused on software and processes wouldn’t we? What is interesting is that I wouldn’t categorise them that way. What might seem reasonable on the surface (Process and software focus) doesn’t seem to be the case. Allow me to split them up a bit by rearranging them the way I see them (For brevity I will only write out the part that stands out to me):

People focused

  1. Principle 1 – Customer satisfaction.
  2. Principle 2 – Changing requirements for customer advantage.
  3. Principle 4 – Developers and business people working together daily.
  4. Principle 5 – Teams of motivated individuals.
  5. Principle 6 – Face-to-face communication.
  6. Principle 8 – People able to maintain a constant pace pace.
  7. Principle 11 – Self-organising teams.

Software focused

  1. Principle 3 – Frequent delivery of software.
  2. Principle 7 – Working software as progress.
  3. Principle 9 – Focus on technical excellence.

Process focused

  1. Principle 10 – Reduce work done.
  2. Principle 12 – Inspect and adapt.

Whilst it would be easy to a put a few of the principles in more than one category, I put them in the category where I think their focus lies. When we do this we see that 7 of 12 principles focus mostly on people, only 3 have a mainly software focus and just 2 are primarily process focused. Surprising? I don’t think so. People do the work and generally for other people. A focus on people is important. We also see a similar focus on people in the values of the manifesto.

This also throws up an interesting question. If you are struggling to adopt agile ways of working, maybe you could ask yourself where your focus is. Are you focused on people? I’ve seen too many companies and teams try and become more agile by focusing on process and methodologies. It is almost like many people think that you can just copy another team or just do scrum and magically become agile.

In conclusion
If you focus on process and ignore the people then you will likely struggle to become more agile. Int has been my observation, at the various companies that I have worked at, that most “Agile transformations” focus on process over people. Companies that think that introducing some frameworks will magically make them agile often make little progress and little headway. The companies that focus on the people are much more likely to succeed.

Leave a Reply

Your email address will not be published. Required fields are marked *