The Art of Agile Training - Day 3

Day three of (taught by James Shore and Diana Larsen) has been put to rest.  Today we moved into the delivery phase of the training.  In other words, less planning, more doing.  I didn't think we could "do" much more interaction than the first two days, but James and Diana proved me wrong.!(https://geekswithblogs.net/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif)

My key learning today was the absolutely central role of Test-Driven Development (TDD) in Agile delivery.  To explain how TDD makes me feel requires a story.  About a year ago, while mired in a hopeless project, I decided to change my keyboard layout from QWERTY to Dvorak.  I'd always heard El Dorado-like geek rumors of how Dvorak was incredibly faster, helped to create better content, and made one cooler to women and children.  None of this is true.  But I can give you three metrics.  First, my words-per-minute (WPM) has dropped from 80 to 60.  Two, I make fewer mistakes.  And three, my wrists and hands no longer hurt. 

During the transition, though, I was constantly experiencing an "unsettled" feeling.  It wasn't just muscle-memory of how I used to type.  There was a nagging feeling that something was wrong.  It was like trying to drive while ignoring the engine light - the one that's blinking and means "Pull over immediately."  TDD makes me feel exactly the same way.  If I have fewer than a hundred unit tests, a litte voice in my heads starts saying, "See this test you're writing?  You could be adding business value right now, but instead you're writing this test."  I know it's the right thing to do.  I know it adds quality early and prevents bugs.  But it's still unsettling.

!(/images/jkhines/the-art-of-agile-training---day-3/9a80fed5-check-engine-light.jpg)

Which brings me back to that  Dvorak transition.  One year later I'm slower, more accurate, and healthier.  I can type longer with fewer corrections.  The primary measurement for success in typing is speed, but I've established a pace that will enable me to enjoy greater longevity and personal satisfaction.  Which all sounds like the benefits of TDD to me.  So maybe that engine light can turn off now.

Instead of a book round-up I'll end with a shout-out to my Ruby-based coding partner for the day.  It was really cool for a C# guy and a Ruby guy to figure out how to code functional Java.  That was definitely a case of paired-programming paying off.

Technorati tags:

This article is part of the GWB Archives. Original Author: John

New on Geeks with Blogs

  • We Won The One Award I Actually Care About

    Full Scale made the Inc. 5000 for the fifth year straight, the 12th listing across my three companies. Here is why the one award you cannot buy is worth stopping for.

  • Your Customers Build the Features Now

    I let a tool I liked sit dead for a year rather than build the features I wanted. An MCP server meant I never had to, and your customers can do the same to your product.

  • Get the Size of a Directory in Linux the Easy Way

    du -sh for the quick answer, ncdu for the cleanup, df for the disk itself: every command for checking directory size in Linux, plus why du and df never agree.

  • Vim Search and Replace: The Ultimate Guide

    One :%s command replaces every match in a file before a find dialog would even open. The Vim substitute patterns worth the muscle memory: flags, ranges, capture groups, and multi-file edits.