The Goal

Everybody says that it's good thing to set goals. It's not that I didn't believe them. I've just always been in taking things one step at a time. Goals are good, but they can change. It's the next step that's the most important.

In software development (my chosen profession before committing career suicide here in Haiti), there is a traditional approach to building a program call "the waterfall model.". Lucky for you, the details aren't important. But the basic motto is "get it right the first time." The vast majority of your time is planning. You should make sure you know exactly what you're doing before writing even a single piece of code. Everything you do is with the end in mind so that the very best possible piece of software will emerge at the end of the process.

As I was going through school, a new model of programming emerged. It was called XP and the basic motto was "get it done, then fix it." The idea was to build something useful as quickly as possible and then fix and expand it as you got feedback from your users. The plan called for a new program, or incremental improvement, to be released every few weeks instead of the traditional years to complete the development cycle. In this paradigm, its the next step, the next feature that is always paramount. The end result will work itself out if you keep building what the user needs.

The danger of this method is a lack of direction. Walking without a destination is just wandering-- you won't get anywhere. I found this to be true of my "day off adventures" as well. There is a freedom that comes with being able to go anywhere you want. And I don't want to lose that freedom. But at the end of the day, if I just wandered around, it never feels like it was worth the effort.

I believe we need to do the things that make us happy on a daily basis, but in the end, if we don't have a dream or a goal that is controlling the overall direction of our lives, we're just wandering. And that's not worth the effort.

1 comments:

Andy Bird said...

That is why we have Agile