Maybe a new way of working for post-agile organisations
I wrote most of this article long ago but decided to keep it as a draft until recently. I actually thought that was more of an utopia than of a real, possible thing…but this changed after I watched Neil Killick’s talk on #NoEstimates.
I’ve been practicing software development in a Kanban team for several years now, around a single product. A first observation I want to make here is that current “Agile” way works fine with long-term projects, at least if :
- you build a stable team
- you slice the work into
smallSMALL pieces of work
- you try to keep the work items of the same size, asking simple questions like “Is this work item as small as usual?”
- you limit work in progress at every level of your process
- you get rid of “expert” effort estimates and use historical data, statistics and probabilities instead (possible because you built a stable system thanks to the first 4 points)
When I speak to people working in web agencies or other kinds of software development shops, they often tell me it’s not going to work with small projects, when teams must work on several projects at a time, for several customers. They also tell me about contracting problems : how to be Agile – and what are the benefits of it – when dealing with fixed-scope kind of contracts?
That’s why I’d like to describe my hopes for a post-agile world, hopefully solving the issues above, by describing the kind of practice I’d like to see emerge in the years to come. I call it Software Development As A Service. It goes like this:
- The team implements some kind of Agile/Lean principles so as to get a stable process, like what I succinctly described above.
- We consider the team as a whole, a system converting customer money into customer business value at a (statistically) predictable rate.
- The customer and the shop agree on some sort of Service Level Agreement based on lead time distribution for the given team. Transparency is compulsory here.
- The contract becomes a fixed-cost contract
So I guess that post-agile really is about customers becoming agile too, and embracing the fact that software development is partly made of uncertainty.
If you have any thought on that, feel free to leave a message here or on twitter.