Click here to Skip to main content
Click here to Skip to main content
Go to top

Why Are Small Software Projects So Hard to Track

, 21 Oct 2007
Rate this:
Please Sign up or sign in to vote.
Problems are common when organizing work on small software projects. Self invented systems are usually inadequate, while specialized software packages seem to be exclusively focused on corporations. So what can be done?

Again...

It's time. You have been postponing it for long enough! Finally, you are ready to make the much-needed improvements to your SuperTool utility. First, you find the notes that you put away on the top rack of your bookshelf. These papers and sticky notes look familiar but there are no dates on them. Which are the most recent ones? With some effort and help from your memory, you are able to put them in the right order. But something is still missing. You don't have a clue as to where the last bug report list is. You feel an odd sense of uneasiness until you manage to locate it in a directory with an awkward name «Other stuff». Now that you have everything on hand, you decide to start coding until you switch back to HyperTool, yet another great utility.

The Awakening

After several recurrences of the same stressful experience, you think that you have had enough. You decide to keep everything neatly in a Word document, a text file, or even a spreadsheet in the root of your project directory. You name it SuperTool-TODO.doc and put some structure in place. You have headings such as «Bugs», «Ideas», «Improvements», and «High Priority Improvements». After some thought, you add another section called «Web Site», because you have designed a cool website for your utility. If everything has to be in one place, so should the website too.

You begin to use your invention and it feels right! It's not hard after all to compile all tasks to be done in such a manner. And you don't have to worry about losing track of anything. You can even quickly find whatever you want with a simple keyboard command: <Ctrl+F>. The only problem is that you have to cut out the details, because otherwise your system may soon become unusable. No big deal! You exercise writing shorter descriptions and everything seems to work really great. You can even print the file and work on it while traveling in a bus or a plane (or even while soaking in a bathtub).

Welcome to the Mainstream

You are meticulously writing down every single little bug or idea. After several months, your list looks really long. After a year, it's exhaustive and downright humungous. You are beginning to doubt if your great idea was really even good in the first place. You are still able to work on the hard-copy, but need a small folder to carry it around. To work with a colleague, you need to give over specific parts of the file and merge the suggested changes later. You are forced to add more sections to keep track of what has been done and how. Finally, you decide to feed everything into a software that is built to handle such situations automatically.

More months have passed. You are intimately acquainted with Bugzilla and you know every glitch in Trac. You have even mastered Microsoft Project. It's not that you haven't found a solution. Each of these fine tools does everything you need and much more. So much more. But you don't care so much about specific dates, hours, dependencies, and resources. And you can surely live without babysitting the infrastructure you have put in place. And all you want to do is to have a list so you don't forget something and to know what needs to be done next. You finally realize you are not having fun anymore.

Back to Basics

After this glorious battle with yourself, you are now a free soul. You are back to your yellow post-it notes and to-do lists on paper. You feel so much more productive now. But sometimes you dread the moment you'll finish your current work and return to that HyperSmartUtil you haven't opened in months because you know you'll be back to square one.

Does it have to be like that? Maybe. The truth is that the answer lies within you. Are you willing to make some trade-offs and live comfortably in spite of them. Someone is fine with tools created for corporations and large teams that manage the project, the people, the infrastructure, the process, and whatever you may name. Or, you can do what I have done.

Equilibrium in Duality

I don't know how it is with you, but what I really want on small projects are only the basics. I want a list and I want to know what I should be doing right now. So how do I do it? I keep three lists, I call them «Now», «Later», and «Much Later». I don't see a point in making bigger distinctions than that, because for tasks I should be doing «now», the important thing is that I know I should be doing them. For other tasks, the only thing that does matter is that I don't forget about them. This way, when something comes to mind (or to my inbox for that matter), I simply add it to the most appropriate list. And I maintain the right to change my mind later! Actually, after each milestone or release, I'm combing the lists to decide what needs to be done next.

«Hey», I hear you say suspiciously, «that's similar to what you already described…but it had all those problems? Have you simply accepted to live with them? (shrug)». The answer is yes. At first. Then I write my own to-do application, which keeps the simplicity, namely, lists and focus on what to do next. But it enables me to enter the details; keeps the records for me; and does all the boring jobs like merging someone else's changes. You are welcome to follow my path, or you can probably find a similar tool on the Internet. I surely tried, but I found myself confronted with zillion to-do applications. The first dozen that I tried just didn't make life easier for me. So, I quit trying.

I found the solution that works (at least for me) for small projects, but what about big corporate projects? Here is the secret: for these, I continue to use the corporate stuff! You can't simplify big projects too much anyway, and it wouldn't get well with your boss either. It took me quite some time to realize that, but the truth is the same as ever. Sometimes you just can't fulfill all your needs with a single tool. While you probably can't avoid the heavy duty software packages altogether, you are much better off with a small specialized tool for small projects.

History

  • 21st October, 2007: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

ijese
Web Developer
Croatia Croatia
Igor Jese works in software development since early 1990s, with emphasis on software requirements and development methodology. He is a certified Software Requirements Expert and Project Management Professional, and also the author of several popular tools, including Mockup Screens tool for creating quick GUI prototypes and Simple Project ToDo for easy tracking of small software projects.

Comments and Discussions

 
Generalthanks for sharing PinmemberDonsw19-Jun-09 18:26 
GeneralVery good Pinmemberangel.escamilla25-Oct-07 6:58 
Generaltnx PinmemberHerre Kuijpers21-Oct-07 21:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140916.1 | Last Updated 21 Oct 2007
Article Copyright 2007 by ijese
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid