Friday, May 2, 2014

Agile in a Flash 35

Coding Standards The Team
Agile in a Flash by Jeff Langr and Tim Ottinger (card #35)

> Standardize to avoid waste
> Start with an accepted standard
> Timebox the debate
> Fit on one page
> Revisit regularly until no one cares
> The code becomes the standard
--

“We don’t need no stinkin’ standards!” Yes you do, unless you want your team to waste time with careless, inconsistent effort.
Standardize to avoid waste. Inconsistent code generates silly waste: slower comprehension time, arguments, and rework by annoyed programmers. Worse waste comes when someone misinterprets code and introduces a defect.
Start with an accepted standard. Surprise, others have debated coding standards for countless hours, long before you. Take advantage of existing community or even IDE standards (and save the angst of going against their grain).
Timebox the debate. An initial debate should take no longer than an hour. The goal is to obtain consensus, not to determine the One True Way. Don’t allow wavering from your teammates on standards, only tightening.
Fit on one page. Do not try to build a comprehensive guide to programming. Keep it small, simple, and unambiguous.
Revisit regularly until no one cares. Increment and improve the standard as needed using retrospectives, just as you would any agile product. Eventually the topic will bore everyone.
The code becomes the standard. You will know the style guide is unnecessary when all code looks alike and it all looks good!

-- 
A relevant quote (source unknown); "If you can't be honest or don't have integrity, then you won't have a high standards without good discipline."

No comments:

Post a Comment