Agile Tips

#46-Implications of the Agile Manifesto, Part 1

Scott L. Bain

This week I'll examine the first point in the Agile Manifesto, as part of a series of four podcasts.

Implications of the Agile Manifesto, Part 1

To refresh you from last week, the Agile Manifesto was stated like this:

"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."

I want to take each of these points as its own discussion.  This week it will be the idea that we emphasize the importance of individuals and the interactions they engage in over the processes they operate in and the tools they select to accomplish their goals.

To me this emphasis acknowledges the high value of collaboration.  When I was a young developer, operating in the 80's and 90's, I primarily worked as a solitary technologist.  There was not a lot of automation in the business I was working in, which was broadcasting, and what little existed was not mission-critical to the primary task of putting programs and advertising on the air.  I could get things done by myself, for the most part, and when I failed it was only an annoyance.

Today that is almost never true.  Almost all efforts to create business automation is done collaboratively, and in fact such collaboration should never be limited to a specific group of people who have the same skills.  Developers should collaborate with business analysis, testers should collaborate with product owners, and so forth.  Everyone brings a different set of skills and the understanding that comes from their point of view, and the source of failure is very often a lack of effective collaboration.

Margaret Mead, the brilliant anthropologist, once said this: 

"Never doubt that a small group of thoughtful, committed citizens can change the world. Indeed, it is the only thing that ever has."

Today most businesses depend heavily on automation to stay competitive.  I still have colleagues in the broadcasting world, and I can tell you that today, if the automation fails there is no program to air, and no revenue gets generated.  Most businesses would say the same: they are highly vulnerable to the quality and completeness of their systems.

Put another way, if we agree that the products we create for ourselves and our customers are central to the way our culture and economy functions today, and if we further agree that success requires effective collaboration across the organization, then this means that Mead was right, and will be ever more so in the future.

Agile requires collaboration.  Collaboration requires an effective framework that everyone can participate in.  There may be many ways to accomplish this, but for myself this means that everyone must have a basic, shared set of analysis skills so that they can work together.  This will require an investment in them, but without such investment things will get missed, and opportunities will slip away.  When I finish this series of four posts, I'll make some recommendations along these lines.