views:

191

answers:

7

Hello,
Do you need a project management system if you work alone? I mean a project management system that includes issue tracking, wiki, etc. Currently I keep my issues in a very good organizer software and I keep project documentation in Word files (and of course I have a version control system), so I am not really sure if I need a project management software, because I work alone.
One useful thing, I can think of, that project management system can additionally give me is linking issues with commits.
Another one - sharing issues so your users or your employer can view or manage them.
What am I missing? Is project management software necessary when working as the only programmer?

UPD. I've thought up another useful thing: In comments we can give a link to an issue or a wiki article with detailed information about the code being commented.

+10  A: 

So you already have your custom project management system. Just use it.

Project management systems does not have to be big, support sharing data or other kinds of documentation. As a programmer you are supposed to use one to make your work organized, but it doesn't matter which one. You can happily use plain text files if they work for you.

Still, if there is even a slight chance that you'll be cooperating with someone, you should try something that allows cooperation... just to know how they work.

liori
+4  A: 

Do you need a project management system if you work alone?

Yes.

Currently I keep my issues in a very good organizer software and I keep project documentation in Word files (and of course I have a version control system).

See. You have a project management system. Why ask?

project management system can additionally give me is linking issues with commits.

That's not necessarily project management. You can easily do that with you version control software.

Read this: http://tortoisesvn.tigris.org/issuetrackers.html

sharing issues so your users or your employer can view or manage them.

That means you're not working alone, if you're sharing something. What are you asking for here? How to share?

S.Lott
A: 

I mean a project management system that includes issue tracking, wiki, etc.

I don't use an Issue Tracker, but I practice continuous (not "big bang") integration, and I test (look for bugs) early and often, and I fix any bugs as soon as I find them, so that list of known Issues remains small.

I also have a lot of structure in the source code (e.g. separate projects/assemblies for separate components), so I try to have "the code is the documentation".

The table at What Types of Documents Should You Create? implies that you may not need documentation (e.g. a wiki), unless you're working with other people: e.g. with a manager, testers, and/or end-users.

ChrisW
A: 

I definitely believe that you need a Project Management System with an issue tracker, helpdesk and knowledge base included. This will make your life much easier. If you do it this way, you can release new versions of your product and let your users/customers put in issues about the product straight into the system. You can then use the system to communicate with the users and have them automatically see the progress of their reported issues. If the system you are using have a knowledge base included, you can use this to publish FAQs and documentation about the software.

There are not very many systems that support this many functions. I know of VisionProject, which is a hosted solution that can help you a lot.

MattPro
+1  A: 

I would not want to work without a system like trac anymore, even if I'm the only one working on the project. You should use a version control system of course, no question about that. Then there are two or three things coming up, you also mentioned.

First is documentation. There are lots of different possibilities and a wiki is just one of it. I personally use the wiki mostly for ideas, thoughts and notes. It's easy to put drawings in it, link to ressources in the web and really quickly edit. This can not replace in code documentation you do with source comments or tools like doxygen. And this can also not replace a manual, if the project requires one.

The second thing you'll come across is some kind of todos, let it be bug reports (even from yourself), feature requests, things like that. You can put them as comments in your code or use a list in a text file or your PIM system, but you can also use a ticket system, just to keep track of what you want to or have to do in the project in the future. You can not do everything just now.

Third is the bigger plan, this is not just atomic todos but things trac calls milestones. This has to be written down somewhere.

The great thing about trac now is, you can integrate all these thing you have to do anyway in one tool and even cross link between all the parts. Link to code lines from a ticket, reference tickets in a commit message, use ressources from your repository in the wiki, automatically build doxygen and integrate it and so on. You must decide if you want to use trac for all the things around your project or something else, but you have these things anyway so why not use a system integrating it all? ;-)

LeSpocky
+1  A: 

When working alone is the key thought to pursue here. When you are alone, you don't have the luxury of having someone else to keep you on your toes. A good "system" is essential therefore in order to help you manage your projects. As to which system to employ, that all comes down to your individual needs, and how much time you want to spend maintaining such a system.

If there is any possibility that you will need to involve someone else, then you need to decide if the system you use will scale to meet your changing requirements. This is also true if you continue to work alone and your workload changes.

As for software, that is almost another question entirely. I personally prefer to use a software tool to track all of my tasks, and to help me to collate data that helps me to determine priorities and task scheduling. That is in a nutshell what project management is all about. When working at home on my own projects, I use a simple Redmine configuration to manage different types of projects. Planning for programming projects, working out the logistics for my wedding, even managing my house renovations. All have been added to my private Redmine setup because I'm too lazy to try and keep paper-diary styled systems updated. At work, I have a more complex configuration to manage the myriad of programming projects we have here, and to manage the dependencies between them.

I've found though, that the most important thing is to ensure that the processes are streamlined, and that the the supporting tool can be configured to match the processes. You don't want to have to change your processes because the tool isn't up to par. Also, the tool should no become the sole focus of all of your efforts, therefore it should be configured to reduce the "red-tape" side of things. YOu only want to capture enough information to describe your tasks, and to determine when they need to be done, who will do them, and when they are completed. Yes, your needs may require more information to be captured, but always try to minimise this, as you don't want to feel like you are always updating Redmine when you'd rather be working on that latest killer algorithm you've been looking forward to doing! ;-)

S.Robins
A: 

You may be the only programmer now but will it stay that way forever? I often work alone on development projects but I still track the "to do" list and issues in a simple Access database. Makes it much easier if you need to expand/hand over a project.

Rob Nicholson