First off, no, honey, I'm not talking about you and I.
I'm talking about that point at which the project you're working on doesn't hold your attention anymore. When you begin to gaze longingly in other directions, at other code. When you find yourself daydreaming about meeting other challenges, other clients, other business problems. Yes, it's come to this: I've fallen out of love with my project.
It's not that I think my current project is bad, or at fault. In fact, it's pretty darned good if I do say so myself (with due credit to my coding partner, of course). It's definitely an 'It's not you, it's me' situation. We are at the point where the tricky technical challenges have been conquered and the remainder of the work is mopping up after user testing and doing our documentation. I always feel bad when I start feeling this way, like I don't have the maturity to appreciate the full project life-cycle, or that I have some kind of ADD where a project has to be hard in order to keep my attention.
That's why I was so happy to read a recent post by Jeff Atwood on Coding Horror where he quotes some passages by Alistair Cockburn and others on seeing the process of software development as a collaborative game. To paraphrase, if we have our way, we play at something for as long as it peeks our interest, which is usually directly related to the challenges presented and the people you get to play with. Atwood followed up today with a piece inspired by Cockburn, relating software development to rock climbing, which expands on this notion somewhat. Why do people climb rocks? Not because they have to, we aren't being chased by sabertooths or anything, after all. People rock climb because it's challenging and fun and because there's always something new to learn. You can feel good about the experience you have gained in past climbs while looking forward to what you'll learn on future climbs. It's also a cooperative endeavor, usually, and your enjoyment is very much tied to how well your team functions. Good, so I know I'm not alone in my ADD or pathology or whatever it is.
I can say without hesitation that my current climbing partner has been a joy to work with and I'm already mourning the day we head off in different directions. At the same time, I'm looking forward to getting into the groove with a new team and having new challenges to sharpen my coding wits on. For the time being, I've got to find the joy in finishing the project, even if the interesting bits are pretty much finished. I got lucky today because I needed to create a custom ComboBox control to get some crucial functionality for the users. None of which would have been all that important if I'd been under the deadline gun, but that's how the game works, eh?
Posted by buggy at April 2, 2007 12:18 PM