Where has the innovation gone?
Some commentators have recently been questioning the level of innovation happening in the Agile world.
Naresh Jain recently stated:
It appears to me that the Agile Community is falling behind the innovation curve. At conferences, user groups, mailing list, etc, we see the same old same old stuff (may be I’m missing something). So where is the real innovation happening? What space should I be watching?
In the Simple Design and Testing conference wiki he identified areas to look at for innovation, from Web 2.0 to eLearning to distributed development.
In a similar vein,Max Choong questions if the Agile iterative “inspect and adapt” approach supports innovation, because Innovation is:
A step change - a discontinuity - from what we already know or do. Innovation is about thinking out-of-the-box, changing the rules and revolutionising. Optimisation, on the other hand, is about taking what we already have and evolving it.
He goes on to state:
From my experience, project pressures usually mean the Agile process is an optimising machine. Clients want to keep going forward even when they know full well the solution isn't right. What happens is a solution which may be fundamentally flawed is polished and band-aided into something passable. It takes a brave soul to say: "This isn't working. Let's go back to the drawing board!"
He argues for an approach that involves setting up an “R&D stream” in parallel with the iterations, exploring and experimenting with new ideas that are not directly related to the incremental product, but could result in additional stories to add to the backlog.
He also suggests bringing into the R&D stream opportunities to conduct user-centred design:
I have an ulterior motive for suggesting this "R&D stream" that runs in parallel to the iterative development cycle. It gives user-centred design its own space. We can storyboard, prototype and carry out in-depth research to test ideas. These activities are time-boxed as required and the outputs (if appropriate) eventually feed into the backlog as properly qualified and considered items.
Is there space for Innovation in Agile projects? How are your projects addressing the innovation challenge?
Agile helps to enable innovation
"Clients want to keep going forward even when they know full well the solution isn't right."
If you're holding daily standups and identifying impediments such as "this isn't going to actually work" then you can quickly stop working on it and let the client know. Your velocity might go down for a sprint, however you'll stop going down the wrong path.
"It takes a brave soul to say: 'This isn't working. Let's go back to the drawing board!'"
That's true, and is why honesty must be encouraged.
From what Naresh is saying it appears that people are being too rigid in their application of Agile. Sometimes you gotta spike it. Allowing for it needs to be part of the rules.
Hang on a minute...
1. "we're seeing the same old stuff" may mean more that we're maturing as a profession than anything to do with Agile. Isn't the argument for Design Patterns that we should not be re-inventing the wheel all the time?
2. There seems to be a mix up between 'innovation' and 'coding cleanly' here. Max Choong's comments have nothing to do with Agile in my experience. I've seen plenty of non-Agile projects suffering the same thing. I would go so far as to say that Agile gives you more opportunity to break with the sins of the past as you should be working iteratively. In a waterfall environment, you are usually committed to a course for an extended period of time and trying to change midflight when reality is showing you that plan 1 isn't working is much harder in such an environment. In either case, someone needs to step up to say "stop that", but you take on less risk in an iterative environment for doing so. You've delivered something working, so taking a bit longer for an update is much more palatable.
Let's also be clear on what Agile should mean... it means product is more important than process. If your project is going down in flames because "agile isn't flexible enough" then you aren't agile. Do what makes sense for YOU for heaven's sake!
Projects aren't necessarily the place for innovation
So the problem is it is harder to fail now?
For agile itself, the lack of "innovation" may just be a sign of maturity which may be a good thing. Agile is probably passing the "hype" phase of the Gartner curve and will become a given within many enterprises.