While out on one of my walks this evening, I was lining up in my head all of the things that I have kind of floating around in source control that are not finished. There are quite a few projects that I have started, some several years old, that never hit the Internet as finished products. They all started for different reasons... something that interested me, something that seemed like a good product idea, something that was purely a science project... all sorts of stuff. They're all not done.
The situation always bums me out, because I feel like a slacker or some other non-positive entity. But on this walk tonight, I had a moment of clarity. Earlier in the walk I was thinking about the age old problem of getting people in my line of work to be better at what they do, which had me thinking about motivational factors. The research on this is pretty clear, that intrinsic motivators ultimately are the best things to get people to kick ass. Duh, I've known this for a long time.
In the absence of intrinsic motivation, there are usually several potential problems. The first is that what you're doing is pointless. In the case of my personal projects, I doubt this is ever the case, though one could argue that the fear of ultimately failing with the project would make it pointless. The second problem is that what you have to do just isn't very well defined. When you don't have something actionable, of course it demotivates you. A lot of my projects have that lack of clarity. The third problem is one of prioritization, where sometimes the motivation to do other things is simply higher. I run into this all of the time. Diana and Simon time tend to trump alone time projects.
At the end of the day, the problems with not finishing are not some fatal personality flaw, as I so often lead myself to believe. It's usually one of those things getting in the way of intrinsic motivators. When I look at it that way, it's completely liberating, and I don't feel like a piece of crap with no follow through.