One of the goals of agile methods is to go from a command and control model to self organizing teams, to get rid of some bureaucracy in favor of direct communication. Many people think at that point that this will make people stop working efficiently or turn the process into uncontrolled chaos. On the other hand we, agile enthusiasts, always emphasize that agile methods require a great amount of discipline.
Lately I had a chance to give a lighting talk (followed by a very interesting discussion) about a “Definition of Done” and it’s role in the agile (and not only) process. It’s sometimes good to stop for a moment over one of the basic practices (like developing DoD for your team) to remember what make agile process actually work?
Is it that we just decide to be disciplined this time, and that will help us keep the process running? No… It’s because agile replaces all kinds of procedures from the command and control model with… constraints. Sure we let the teams self organize, review the process, adapt, etc. But we as a team also put constraints on ourselves in all those little places that let the process flow in the right direction.
What actually makes us disciplined in agile process is:
- acceptance tests on user stories – help us do “just enough”,
- definitions of done – make us keep the required quality and prevent our iterations/sprints/releases from finishing with too big debt left for later stages of development,
- time boxing and short iterations with shippable results – it’s not enough to work hard at the end of a project to be done, we need to be done every X weeks,
- TDD – think what you’re implementing, implement “just enough” to pass the test,
- pair programming – have you ever seen two developers playing on-line game or reading news on some portal while pair programming in front of a single computer (I think at least not too often)
Where else do you see that invisible hand which pushes us further every iteration? Are you starting to regret all those lazy periods of doing nothing between the milestones in waterfall process followed by death marches?