(From 37 Signals, Written by a creator of Basecamp: Read the Whole Thing Here)
When I started racing cars, I thought it would be great if I could just settle in mid-pack in a respectable gentlemanâ€™s cup series. After all, racing to me was all about getting access to long stretches of flow, that sensation of being so completely engrossed in an activity that you lose track of time and place.
It didnâ€™t take long before my ambition swelled, and I upped the goal from finishing mid-pack to top 10. Of course, not before taking a brief moment to bask in the glory of reaching that first goal, enjoying success per my own definition. A definition that would surely have qualified as utter failure for many others (what schmuck is happy to be mid-pack among gentlemen?! At the time, me!).
And thus, the goal creep was on. It crept from top 10, to podium, to moving up to a bigger series, a faster car, more downforce, tougher competition, longer races, a better team, and on it went.
The key is that it was all a bite-sized progression. While the ultimate goal might have been entering the 24 hours of Le Mans (a goal that itself has crept from entering, to finishing, to winning the class), that wasnâ€™t really part of the detailed goal posts that has driven the pursuit forward.
You can think of goal creep as the test-driven development of a real-life pursuit. In TDD, you donâ€™t try to design your entire program upfront. Instead, you just write a simple test and then implement just enough code to make that test pass.
Setting small goals, like writing simple tests, keeps the pursuit from becoming overwhelming. Making the mental jump of going straight from playing Forza Motorsports to getting on the grid at Le Mans is an insurmountable idea for most. It certainly was for me.
(From 37 Signals: Read the Whole Thing Here)