Recently I have been looking at the area of Peer Code Reviews and where and when they may help my team produce better quality software (lets just skip over defining quality software for the moment).
I think Peer Code Reviews have an important role to play in producing quality software. As do Code Guidelines, Automated Tests, Architecture, Tools, Pair Programming, Multiple Monitors, Training, VCS and Free Pizza.
Yet many companies don’t do Peer Code Reviews. I suspect more do Free Pizza than Peer Code Reviews. That puzzles me. Perhaps even scares me.
Uncle Bob recently blogged on “Where is the Foreman?” (and follow-up) – “the guy who makes sure everything is done right”. This is the guy who would decide if Peer Code Reviews would help a team or project and if they feel they would help, make damn sure they happen.
I would recommend you give it a read and then look at your own team and see if that person exists…and if not, then either:
- You don’t need a foreman. Well done. Not all teams need Foreman.
- You need a foreman. Well done. Get one.
Either way, give yourself a big pat on the back for considering it. But remember – to ask this question again in three months. You never know…
As an aside, I think the Foreman idea overlaps a lot with the original idea of a Scrum Master aka guardian of the process.
- I always encourage folks to read the for and against arguments – so also give this a whirl We don’t need a foreman (against the Foreman)
- and We Need More Foremen (everyone should be a Foreman but perhaps a Referee is needed)