See the Code, Be the Code

Haywards Heath Mob # 5
Creative Commons License photo credit: foxypar4

If you've every seen professional golfers drive the ball up the fairways, or putt the ball on the greens, they make it seem so easy. But for the vast army of us duffers out there, we know it is anything but.

There are many variables to consider to ensure success on every hole you play. There's the distance from the tee to the greens, the natural elements  -- wind, rain and sun --, the number of allotted strokes per hole, the vexing choice among various woods and irons, the hazards dotting the course, and the mental and physical aspect of dealing with this humbling game. But there is one answer to these challenges: practice, practice and more practice to fine tune your craft. Well, developing software is similar in many respects.

Software development has it's own thicket of variables to consider. There are the many functional and non-functional requirements that you must contend with, the different users involved (stakeholders, development team, system users, and the army of user persona's) for the project, the changing requirements, resources and time that can impact the project, and various tools, technologies and platforms thrown into the mix as well.

Applying agile to the mix helps brings order and focus to our round of software development. Just as in golf we don't play the whole course at once, but one hole at a time in 18 iterations. Success can be determined quickly through client feedback in those short iterations, just like each shot in golf tells you right away whether you've succeeded or failed.

Agile embraces changing requirement, fosters open communication between the customer and project team, minimizes the impact of resource juggling on the project by utilizing pair programming, and highlights the team accomplishments and removes obstacles using daily scrums. And last but not least, it takes practice, practice, practice and process refinement over the life of the project using retrospective session.

With practice and the right approach, we agile software developers can make developing software seem as easy as a Tiger Woods drive.

Related posts:

  1. Does your project have Code Ownership Culture?
  2. Agile Development: Pipelining
  3. Ten Keys to Successful Software Development: #9: Respect the Process
  4. The Origins of Software Engineering Economics — You are Ron Turcotte
  5. Before your Code Mildews — Refactor!

Comments: 2 so far

  1. I like the golf metaphor, particularly focusing on one hole at a time, comparing your results to ‘par’, and focusing on getting better and pacing yourself appropriately.

    Like in golf, its great when you have an unbelievable drive, or long putt, but what really matters is gaining consistency and improving on all parts of the game, and most importantly, making it all the way through to the end.

    Practice, Practice, and more Practice!

    Comment by John McCaffrey, Friday, March 27, 2009 @ 2:28 pm

  2. [...] my last post, See the Code, Be the Code, I compared agile development to the game of golf. But how does one truly “see the code” as the [...]

    Pingback by .NET » Before your Code Mildews — Refactor! » Pathfinder Development, Tuesday, April 7, 2009 @ 8:52 am

Leave a comment

Powered by WP Hashcash

Launch: Pathfinder Newsletter

Topics

Search

WordPress

Comments about this site: info@pathf.com