Let's make it more difficult to get code into trunk

On the surface this sounds counter-intuitive. Make it more difficult to get code into trunk? Aren't developers burdened enough already?

The answer, is yes. Developers are overburdened. That is precisely why we need to be more strict about the code we let into trunk. If we raise the quality standards for code going into trunk, we will have fewer defects in the future which will make all of our lives easier as developers. Especially around release time.

Don't just take my word for it. Uncle Bob says "...if the tests pass, we ship." That is a really strong statement. How difficult do you think it would be to commit buggy code into FitNesse when they have such a comprehensive suite of unit tests?

Even code of really high quality still has the risk of introducing new defects. The key is to identify those risks and assign code reviews appropriately. Reviewing risky code and keeping bad code out altogether are paramount if you are serious about releasing a quality product on time and on budget.

Assigning a risk value to a commit is not as straightforward as it sounds. If you're interested in learning more about this, check out my new project Ratcheting that I am working on with some smart folks at work.

Creative Commons License

What do you think?