Thursday, June 01, 2006

AgileScotland: June 19th - Selling Test Driven Development to Managers ... and the unconverted

Hi everyone,
Next meeting:  Selling Test Driven Development to Managers, with Peter Gordon, 7:30pm on June 19th, Gordon, VISION Consulting offices*, Edinburgh
I've just returned from a week in France, where I had to drive on the right-hand side of the road for the first time in my life. 
Despite having driven almost every day since I got my licence, aged 15, the first 3 days of the trip were very, very scary.  On the face of it, the change wasn't that great - sure the signs being written in some foreign language and the cars were on the wrong side of the road, but the road rules were more or less the same, the car was familiar, and I was used the same basic skills I'd learned over 20 years ago.  But, it was very scary.  I kept running over curbs  I drove on the left hand side a couple of times too, which made the trip all the more exciting.   I maintained a constant dialog of "I'm driving on the right hand side of the road", "I'm turning left and I need to turn into the right lane" and so on ... It didn't help that my wife/navigator can't tell the difference between left and right.
Thankfully, by the 4th day, things had settled down and the drive back to the airport was a breeze.
Which brings me to Test Driven Development - TDD
On the face of it, there's not that much different between TDD and ordinary programming - you use the same languages and IDEs, you still write new code, you still modify existing code, and you still test the code.  The only obvious difference is that in TDD you write your tests before you write your code.  Simple!  But it's not, that simple.  TDD is massive change in technique and habit.  Many say it's a massive improvement - but it's hard to explain why it's such a huge improvement without peoples eyes glazing over.
How do you sell TDD to your bosses and colleagues?
Enter Microsoft Excel!
AgileScotlander, Peter Gordon** will introduce TDD using Microsoft Excel and VBA.  In an interactive 60 - 90 minute session Peter will walk through a simple TDD session using Excel - a tool that all managers understand and have on their desktops. 
I first used the exercise in an university lecture and it went down so well that I've written up the example and it has now been used around the world.  Here' are a few quotes I've received about the exercise:
  • I'm certainly not the first person to recognize the value and power of TDD, nor the first to wrestle with the problem of how to communicate this message clearly to various audiences. I didn't know how to begin to approach the problem until I saw  the  "test drive" of TDD using Microsoft Excel . Here was a tool for exploring TDD that was accessible to business managers!

  • As a demo for managers I think that it really stood up. It got the point across without losing them. I think some of the programming was beyond [my manager] but the frequent switches back to the tests kept him interested and he could see the power when I made a mistake, got instant feedback, fix it and rant the tests again.

  • I like that you've taken the TDD and separated it from heavy code. Anyone who has fooled around with Excel can understand your paper. Well done.
  • A great example of TDD
  • Today I ran a TDD workshop at work for my colleagues. I started off with your "Integer to Roman" example in Excel. It was a huge hit! ... A million thanks to you for the "TDD in Excel"., It is simply brilliant. It makes a huge impact.   The Red and Green colors through conditional formatting is a neat detail and a real master stroke.

Please join us (and if you wouldn't mind, send me an email confimrng you want to come),

Clarke Ching.  

* VISION Consulting, 496 Ferry Road, Edinburgh, eh5 2dl
** Peter Gordon is a programmer with a keen interest in everything Agile. Peter Gordon is currently working as Agile Process Specialist for In Practice Solutions in Dundee. His role at InPS means he is constatly applying Agile techniques, practises and thinking which he has gained over the last 6 years to a large software project. Before working for InPS Peter Gordon ran his own contracting company PG Software Ltd. Peter spent 3 years working in Phoenix, Arizona contracting at large companies including among others Intel for Spherion.