Why Tracking Bugs In Personal Projects Matters
Out Of Date Warning
Languages change. Perspectives are different. Ideas move on. This article was published on December 9, 2009 which is more than two years ago. It may be out of date. You should verify that technical information in this article is still current before relying upon it for your own purposes.
A lot of time and effort goes into designing processes for development projects when the projects are professional or work-related projects. We spend hours investing in version control, bug tracking, specification design, and process.
But what about our own personal projects, that we do either for money or for fun? Too often, it seems like these development practices are abandoned, especially with regards to the use of a bug tracker. I know I have personally been guilty of failing to use a bug tracker, even though I use things like Subversion and develop specifications. It’s easy to forget, but important to remember. Here are five reasons why our personal projects should utilize a bug tracker.
These are personal anecdotes from coming back into the “bug tracking fold” after being away for a while.
1. Our minds are imperfect repositories of information.
As we work through personal projects, there’s often a much more intimate relationship between ourselves and the product. This often leads to the feeling that bugs and necessary features no longer need to be logged in a bug tracker because we’ll remember them. The reality of the situation is that we cannot remember everything we need to remember. Details will be forgotten, unless we use some sort of a system to remember them later on.
2. Bad development practices can form.
When we opt not to use a bug tracker in our own personal projects, we get into the habit of writing code without one. This is a poor habit to get into, because it is one that will affect us when we go to our jobs. The truth is that habits are easy to form, and conflicting habits will always be resolved to the most lazy habit, because we’re human.
3. It makes it harder to force ourselves to use bug trackers for private paying clients.
Most developers I know have a few private clients that they work with who are not connected to their employer. It is crucial that we employ the same level of process and use the same development practices with our private clients as our employer’s clients, because these clients are still paying for our services and deserve our best work. The problem is that if we have let ourselves slip on the personal projects, we will find it increasingly hard to keep bugs filed for private clients. This will lead to a lower quality product, which is less than optimal.
4. Predicting time to completion becomes more difficult.
When you’re at work, it’s easy to plug on and complete a project – it’s what you’re paid to do. But at home, for personal projects, it’s much harder to plug along without some assurance that the project is nearing completion. Having a task tracker lets you see the things that have been done, making personal projects easier to manage and making it easier to see how long it will take to finish something (which is a reward in itself).
5. Seeing progress being made is that much more difficult.
Along with predicting when it will be finished, using a bug tracker also makes it possible to see how far along you are in a project. I know that when I create tickets for everything in a project, I can easily feel good that I closed six or seven of them; I feel like I’m making progress and I have statistics to show for it.