- Document everything out up front so we don't have to worry so much about it later.
- Schedule out all the work that needs to be done to insure that we know what the cost, schedule and scope is.
- Implement process rules. If the rules are followed, everything will work out.
One of my favorite Ken Schwaber phrases is "Scrum is about making things visible so you can make common sense decisions". We often view processes as doing more for us, maybe solving our problems. This certainly isn't the case with agile.
Examples of the practices being 'practiced', but something is wrong:
- We might be meeting everyday, but if there are no impediments being reported and the build is broken.
- The builds are stable, the Sprints are all successful, but the game is not fun.
- We're pair programming and writing unit tests, but the continuous integration server is showing errors half the time.