Where is the Foreman?


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.

Related Links:

  • 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)
About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s