---
title: Agile Software Development and Golf
url: https://www.grahambrooks.com/post/2010-06-30-agile-software-development-and-golf/
date: 2010-06-30T00:00:00+00:00
author: Graham Brooks
tags:
- Agile
- Travel
---

# Agile Software Development and Golf

![Golf putting]({{ site.url }}/images/golf-putting-banner.jpg)

Faced with the question 'What do you do?' from family and friends is
more challenging than it should be. Most other professions have been
around longer than a generation but writing software applications is
different. Especially for my parents and so this is for the vast
majority of people who don't do what I do but would like some sort of
idea of what I do.

But first a disclaimer &ndash; I don't really know that much about
golf. I have played a few rounds in the dim and distant past and
watched a bit on the TV. My apologies in advance to golfers everywhere
for the mistakes I am about to make.


## Teeing off

Every project needs to start somewhere. If a round of golf were a
project then it would start at the first Tee. Arriving with golf bag
with an arsenal of clubs ready to begin. Even before arriving at the
first tee there has been a bit of planning, appropriate clothing for
the weather, umbrella in case it changes on the way, score card and
pencil in hand it is time to start the project/game.</p>

If the fairway does not stretch out in front of you then this is
probably pitch and put and you are overdressed and equipped. Take a
couple of clubs from the bag and put the rest back in the car. Pitch
and put might be an appropriate metaphor for the support and
maintenance phase of a software project but that is not the game for
today.

So the first step is to work out how to approach the first hole. This
is similar to planning the first release. If the hole is close by you
might be able to reach it in one shot. Typically though the pin is
some way off in the distance, perhaps behind some trees or lake and
although you might have a general idea of where it is, trying to get
there in a single stroke is very risky and could land you in a whole
lot of trouble. The sensible approach is to work out how much of the
course you do know about (the bit in front of you) and try to get the
ball a far down the fairway as you can without hitting an unknown
obstacle. Each shot can be compared to an agile software development
iteration which takes on enough work to move the project forward and
deliver value without putting the overall project at risk.


## The drop shot

What makes golf and software development so interesting is all the
factors that can affect the game/process. Weather, tools, mood, other
people. Sometimes even the best players end up a long way from where
they intended to be and have to take a drop shot to continue the
game.

Sometimes development iterations don't go as expected. There are so
many variables that predicting the outcome of an iteration let a lone
a full product release is not reliable.
