Series: You’re doing it wrong! (YDIW) – PILOT

For those who are familiar with Jeff Foxworthy, you’ll know his signature joke format:  If you <insert stupidity here>, you might be a redneck!  In that vein, I am starting a series of posts in the format:  If you <insert anti-pattern here>, you’re <emphasis statement> doing it wrong!  The emphasis statement may be emphatic (“You’re doing it wrong!”) or something like “You’re probably doing it wrong!” or “There’s a high probability that you’re doing it wrong!”  When it’s not ridiculously obvious, I’ll try to follow each with suggestions on how to do it right — or at least how to suck less.

So for my first entry:

YDIW#1:  “If you’re actively coding and haven’t checked-in in the last 24 hours, you’re doing it wrong.”

There’s a couple foundational corollaries behind this one:

YDIW#2:  “If you’re not using source control, you’re doing it wrong!”

Use source control — for EVERYTHING.  JUST DO IT!  Check-ins should be task based and contain explanatory information like comments and work item links.  These linked artifacts provide real value — code is only half the picture.  Treat changeset/commit comments and work items as deliverables.  If your system supports rules requiring comments and work item links, turn them on now.

YDIW#3:  “If your task takes more than a business day, you’re probably doing it wrong.”

To be predictable in software development, you must estimate small tasks.  I’m terrible at estimation — ALL software developers are terrible at estimation, because we are generally idealists.  If you’re a Product Owner or Scrum Master and your dev tells you it will take 3 days (or anything greater than 1 day) make them break it down further.

“Aim small, miss small.”  – The Patriot

That is to say, if you aim at a small detail of your target, you might miss that detail, but you’ll still hit your target.

As you can probably tell, this series is going to opinionated.  Deal with it.  😉


Leave a Reply

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

You are commenting using your 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