At today’s IITP Lightning Talk/Panel Discussion, I promised to post some links about how each agile project tends to need its own process, tailored to its own particular situation. Here are those links, and some rough notes on a few other things too:
Tailoring process to each project
The main author on this is Alistair Cockburn. He’s researched and written about why each project needs its now process, and how to cost-effectively do that process configuration. Here’s a quick outline of how to do it, and here’s a much more in-depth description (complete with links to research).
By the way, such tailoring is potentially a challenge to formulating a contract (as per today’s IITP panel) however in practice I think most of the tailoring will focus on a level of detail below what the contract would cover. The contract would work at a higher level, specifying the overall approach to managing time, scope, cost, risk etc. While there are still many choices to be made at that higher level, it seems realistic to me to pick one “flavour” of agile for contractual purposes, and to expect to continue with that overall flavour throughout the project. I posted some outlines of a few “flavours” here, as relates to scope and cost management. After today’s panel I really need to do a more detailed follow-up post, covering more than just scope and cost!
Norwegian Agile Contract
Here’s a link to that standard agile contract, from Norway, which I mentioned.
There are some good links to this in the “further reading” section of this page. BTW, the page itself is about agile with fixed scope, and some ways to approach it.
Agile is an umbrella term
There are many “defined” types of agile, and a great many others that are not explicitly defined. The defined ones include XP, FDD, Scum, Crystal, DSDM, and Adaptive Software Development. I mention this just to illustrate the variety of what “agile” means.
Just as an example, FDD is quite different from the better known Scrum and XP variants.
The tension between being specific and being flexible
When you start out with agile, it helps to have a very specific formulation of what to do. Basically a set of rules. As you gain experience, it makes sense to start to look beyond the initial set of rules. This causes difficulties – for instance when someone experienced (e.g. me, today!) says that agile can be many different things. That’s true, but not very helpful as a starting point for organisations that haven’t tried it yet!
This tension between being specific and being flexible is, I believe, one of the key challenges in sharing ideas about contracts for agile projects. Maybe that will be a blog post another day…