Process kills developer passion - O'Reilly Radar
I'm just going to remind people of what Agile means (from http://agilemanifesto.org/ ):
It means:
Individuals and interactions, rather than processes and tools.
Working software, rather than documentation.
Customer collaboration, rather than contract negotiation.
Responding to change, rather than following a plan.
Practically, this means that as soon as your process is more important than your developers, you've failed, and aren't Agile any more. In an Agile world, the point of your process is to make your individual developers work better, and make interactions between developers easier; if process is killing things, it's gone too far.
Note that this doesn't mean no process at all; the concept of Agile processes is to capture ways good software engineers work, and formalize them in a way that all software engineers can use to get better results. TDD, for example, works well because it's one way to get you to understand the problem before you try and solve it.
As soon as you *must* use a process, even when it's inappropriate, you've missed the point; the processes are formalized so that an inexperienced developer can use them without prior experience, not so that you can insist on (say) Scrum for all software. And note that lack of a formal process is in itself a process.
Yes, this is hard; it involves having some competent, experienced developers around to tell whether the junior guys are reasonable when they're saying "this process is wrong for this bit of project; I'm going to use this other process instead". It involves understanding enough about what you want to do to know what "working software" means for you. It involves being flexible, and responding when things change underneath you. But it's what Agile is supposed to be about, not endless process that doesn't help.
