My advisers are starting to use Basecamp for my project, and I like most of it so far. I am wondering, though, about the arguments for and against Basecamp.
Org-mode has a number of features that are useful for project planning. You can set headings as multi-state TODO lists and set scheduled start times or deadlines. You can also set effort estimates for tasks and generate text based reports via tables or the agenda view, all while inside Org-mode. The Org-mode manual covers the customizations to these areas and there are a number of tutorials discussing the customization of Org-mode for a variety of tasks.
To generate graphical reports, Org-mode has an export feature for TaskJuggler. TaskJuggler takes text-based inputs and generates a number of different reports including Gantt charts and resource allocations. If you do not wish to use Org-mode as the source of your planning, TaskJuggler has its own native format for the text files, highlighted in the manual.
All the tools listed are open source and are actively being developed/maintained.
A potential downside to these tools is that they are primarily text-based. If you are a visual person who wants a GUI approach to planning/reporting, these tools are probably not suited for you. Additionally, Emacs has a fairly steep learning curve, so if you are not already using it and do not have the time to become familiar with it, other tools will probably be better suited for you.
I'm finding it a little difficult to write my thesis while simultaneously working at an internet company, so I started using the Kanban technique. Lean/Kanban is a technique from industrial production management that was adapted and is becoming quite popular in the software development world. I use the Trello website to track kanban.
Kanban is very intuitive - it's just a board with many columns (for example: (work to do) - (work in progress) - (work complete), you can increase the granularity as much as you want). Each task is a card that moves around on the columns.
The purpose of the board is giving you visualization on how much work you have to do. If you worked in a car factory and you realized that cars where stacking on a queue because one of the welding machine is broken, you would notice the problem right away. But it's quite difficult to realize that there's a pile of abstract work to be done because your workflow is somehow defective. If you have a visual representation of your workflow, it's easier to detect bottlenecks and solve them.
There are a few management rules like:
- limit the number of tasks in progress and never pull new tasks until there's space available in the "in progress" column (I usually like to create very fine-grained tasks and limit it to only one in progress at a time),
- kanban is a "pulled system" instead of a "push system". You'll pull work to your desk when you finish what you're doing now (instead of waiting until someone push work onto your desk when they need you to do it). This prevents both being overwhelmed by work to do and having free time because no one give you work to do.
- organize tasks in order of priority,
- reduce waste: if you do something and abandon when it's almost done, you've wasted that time. It would be better to spend this time working on something that you would work on until completion. Or maybe you just need to push a little bit harder and bring this to completion.
- stablish "acceptance criteria". What are the criteria this piece of work must satisfy to be accepted as finished?
- stablish and measure what is "value" to you. If value is the quality of a text, then stablish levels of quality and measure the quality of your text. If value is getting things done quickly, than measure the time you take to do things.
- Stablish priority: what brings you the most value should be done first. Or rather: what have greater cost-of-delay should be done first.
Lean/Kanban works very well for software development and I needed something to organized the writing of my thesis. So I divided the thesis in chapters.sections.subsections (in the typical latex fashion) not longer than 3 paragraphs. Then I defined levels of quality (level A, the text is ok to be delivered, level B, it must undergo some review, level C, references must be checked, etc..., until level F when there's no text at all). So my tasks are: "bring subsection 2.1.3 to quality D". Now it's very easy to assign priority and measure the amount of work done / to do. There are even some scripts to graph your progress and extract some metrics.
But what is really important is that it allowed me to focus on the small scale work to do and have clear short term landmarks, and also think on the large scale structure of the thesis and have large scale landmarks.
Some reading on Kanban and Lean for software development (I believe most of it can be seamlessly applied to academic work - most of the problems are the same):
Nice question. Curiously, I've been used the dotproject, it's a FLOSS (i.e, an open-source software) alternative to msproject. It may sound weird for somebody, for a couple of reasons (isn't it a tool for huge projects? yep, and I can ask someone: isn't my thesis a huuuuge project? lol)... but, believe or not, it's been good to keep my tasks on track. Besides, as it is web-based, I've provided my advisor with access to such a tool, so that he may monitor my tasks, especially because I've been out of my country, for a while (due to an internship).
I've really thought about implementing some features to extend this tool so as to include things that are interesting, and unfortunately dotproject doesnt include.
btw, if anyone either know any tool (as a good answer for the main question) or is interested in extend the dotproject in order to come up with a tool for helping researchers to keep their tasks on trach, please tell me!
Redmine is a popular open-source project management tool. It has lots of capabilities (issue tracking, time management, gantt charts, wikis, etc); see the overview on the linked page. You download and run it on your own server.
It really depends on what you are looking for in a project management tool. In my opinion, Basecamp is good in term of basic task management. And I really liked its Calendar feature. It was easy to set a milestone and adjust schedules in a click. But in the new version of BC it’s no longer an option, as calendars are now events, so I need to edit each part of the schedule manually. I personally preferred the good old version of BC, it was simple and clear. My team agreed with me and, we decided to switch to another tool.
We’ve evaluated Trello, but it had no calendar feature at all. Asana didn’t quite fit our scheduling needs either. We realized that we lacked the ability to view all the projects on a monthly progress chart. Whether it’s per project or per team member, Asana couldn’t give that to us. In the end, we settled for Wrike. I like its Gantt chart even better than the Calendar we used. Thanks to it I can visualize my whole project, set dependencies between tasks, and adjust them with just drag-and-drop. And the Dashboard view is all clean and uncluttered, just like BC’s used to be. So, we are sticking with it for now.
Eclipse PPM is a good tool - it's project/project portfolio management software. Quite a few universities and colleges use it.