It’s all about the people
Since I started exploring the world of agile methodologies I have come to understand that software engineering is all about communication. Even typing code is all about communicating your desire to the computer and communicate your intent to fellow developers who will come after you. Every time a communication break down happens, things will be painful. The lucky ones will be gone from the project before the pain becomes noticeable.
This in turn led me to appreciate the meaning of ‘people over process’ found in the agile manifesto. Sure advocates a number of important and useful practices. Most of them are aimed at improving communication at one level or the other (Stand-ups, pair programming, tests, continuous integration, stories, show and tells, retrospectives to name a few). None of that will be useful unless the people involved in the project actually make it work. This is not specific to Agile but to any process that is not mechanised.
So it takes a particular type of people (from stake-holders to developers) to make an agile project work, to get the process running and working. What I am starting to think is that regardless of the process initially chosen, these people would make it succeed anyway, unless they were strongly constrained by red tape and armed guards.
So is it the agile methodology that makes the project succeed or is it that the people who like agile environments are better at delivering ? In other words is the agile process immanent or transcendent ?