So, I am a big fan of team-wide education. I’ve even helped to establish a ‘Lunch & Learn’ program at my current company.
However, I am starting to view this kind of education as a shotgun-style approach. Yeah, you’re gonna present a bunch of information that may help a coworker sometime in the future, or it may open their mind a bit… However the effects are scattered. Some people will pick up on specifics and minutiae, others will pull down the broad themes, others may be DBA’s and others might be designers.
Conversely, code reviews can act as the sniper rifle in contrast to the team-learning shotgun approach. A developer will get the specific feedback that will affect the code that they recently wrote. This is the difference between a practical exercise and an academic one.
All in all, I am more and more convinced that in a development organization of more than 3 or 4 developers, a formalized code review process is likely to be a big benefit.
Related post: Code Reviews Considered Harmful .