Tuesday, December 18, 2007

Learning the Guitar: Waterfall or Iterative Methodology

In the software business there are as many methodologies around how to create good software as there are around becoming a good guitarist. As I worked on developing my guitar skills I stumbled on the fact that there is a relationship between the two. First, a brief outline on software development methodologies.

Software methodologies fall into two main types: waterfall and iterative. In waterfall, you plan everything up front and move through the project in a sequential fashion like water running over the falls. In iterative, you do everything you would do in waterfall but in much shorter cycles. You use multiple cycles to reach the end product rather than one cycle over a longer timeframe. While there are raging debates over which is better, I will outline how this is relevant to accelerating your progress on the guitar.

Let's say you set out to learn Ozzy Osbourne's "Crazy Train". This song requires techniques such as hammer ons, pull offs, tapping, palm muting, harmonics, alternate picking, and most of all, the ability to do all these at a tempo around 140 beats per minute. If you are already an accomplished guitarist, you can learn the song quickly. If you are more of a novice with ambitions to get better, not so much.

I took an initial run at learning this song thinking that if I kept slogging away I would learn the song as well as all of the requisite techniques. After awhile I reached the point where I could play the intro cleanly at speed and little else. In hindsight, I realized I was following a waterfall approach to learning this song.

The waterfall approach calls for planning everything up front and my problem was that my “plan” lacked a key prerequisite, the base resources needed to complete the project, or, in my case a stronger foundation in technique.

In my next post I will outline how I stumbled on this revelation and how I improved progress by adopting an iterative approach.

0 comments:

Post a Comment


Google