Fog Creek Software
Discussion Board




Painless Software Project Software?

Joel described why Microsoft Project (and almost all other project management software) is useless for managing software projects.

He makes a good argument for keeping it really simple and using Excel instead.

Are there any other alternatives to the traditional dependency and resource-levelling centric packages out there?

I'm especially interested in software that integrates scheduling with bug tracking, builds, and version control.

Links and google keywords gratefully requested...

http://www.braithwaite-lee.com/

Reginald Braithwaite-Lee
Tuesday, August 26, 2003

Project management software is useless for managing projects? Although Project is certainly a much more rich tool than Excel, with a steep learning curve, it was designed to do exactly that--help you manage projects.

Personally, I tried the Excel method for about 2 months and it turned into a mess. Managing even my small team of six people turned into a big nightmare. Here are some problems I found personally. Perhaps I simply wasn't applying the method correctly, but I was closely following Joel's advice:

1. Difficult to support a hierarchical project structure. It was difficult for me to break down features into phases, then into tasks without a lot of manual ministrations. I did not look into some of the hierarchical features of Excel, which may have supported this.
2. Difficult to move blocks of tasks around. Again, perhaps if I investigated the hierarchical features of Excel, this would have been solved.
3. Impossible to track dependencies. I could not see, for example, that because a task is taking twice as long as expected, Jim down the hall is going to have nothing to do in two days.
4. Can't tell when the project has been updated.  Did Jim update his hours today? When did he do it? No way to tell with a shared Excel file.

I switched to Project and Project Server, and these problems are solved. I can manage hierarchical task structures, and via the Web interface, each team member can input their hours at the end of each day and I'm automatically notified.

Tracking dependencies, although poo-pooed by Joel, is a rather critical piece of information, especially with an interative approach, where we're doing requirements, design, and code "just in time" for each use case. Before implementing this system, I'd have people coming to me once or twice a week telling me "I don't have anything to work on."

Because I couldn't track dependencies, I couldn't see that unless I re-task Bill to finish off the UI design, for example, Jim is going to come to a standstill in two days because the other task he was working on took less time than we thought.

In fact, I'd say dependency tracking is the MOST IMPORTANT aspect of forming a realistic schedule. It tells you when you need to have certain team members work on certain tasks that you may otherwise think can "wait for later."

Now, this may be simply because of the assembly-line nature of our particular team. Our four core team members are each responsible for one part of the development. UI specifications, use cases, detailed design, and coding, respectively. There isn't much that can be done completely independent of someone else.

Again, this is all based upon our particular experience. For those shops where there are many independent tasks that don't have many dependencies between them, perhaps Excel will work. However, as your team and dependencies grow, I think a project management tool is what you need to manage your project.

All that being said, I would love to hear from people who have sucessfully managed four- to six-person (or larger!) teams using the Excel method.  Did you use the method exactly as Joel outlined? Did it solve all of your problems, or are there additional things you needed to do to make it work?  If I could solve the issues I outlined above in an easy fashion, I think I'd take another look at the Excel method, perhaps for a future phase or future project.

More simple IS attractive!

Dave
Tuesday, August 26, 2003

MS Project is a symptom of the larger problem of huge project management. When you select a project management methodology that encourages huge project planning, then you absolutely have to have a tool to help you manage it. When you select a project management methodology that encourages short term project planning, then your needs are much simpler to accommodate.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, August 26, 2003

Dave:

We used this simple method for managing the tasks within an iteration:

http://www.braithwaite-lee.com/opinions/cork-board.html

...and Excel for managing the "backlog" and the projected iterations to ship the product.

YMMV: we specifically avoided dependancies within an iteration. There are many reasons for this, but the most important was that refactoring your architecture and project to eliminate dependancies within iterations decreases risk.

If your software ships on time with good quality without drama, stick with it. Your project, like the one described in my link, is one of the few and the proud.

But back to my request... I'm specifically interested in software packages that take a different perspective, especially those that integrate with the bug DB, the build/release system, and the repository.

Reginald Braithwaite-Lee
Tuesday, August 26, 2003

I have used Replicon's web timesheet before (as a form filler, not as an accountant), it seems to work. There must be tons on the market, but this is one of the few ones I have used besides filling out excel timesheets.

Li-fan Chen
Tuesday, August 26, 2003

I am with Dave on this one.  A project of any size or duration is going to overwhelm excel fairly fast.  A six month project with 20-30 developers must have something more. 

While somewhat vendor agnostic, I believe MS has gotten project right.  Unfortunately, they sell it poorly.  It can be as simple or complex as you wish.  However, hands down my favorite feature is its integration into outlook.  Send out a task update and like magic, the plan, time line and allocations are updated. 

However...
It is like any power tool.  Giving me an power saw does not make me a carpenter.  Giving someone MS project does not make them a project manager.  Much like a power saw, it allows me to do really bad things in a very short amount of time.  It is not a replacement for thinking.  I believe this was Brad's point.  Again, it is not the tool but the person using it.  (A perfect example is a PM that decided to request daily time and percentage updates on every task of a 9 month project. - She was gone in a month.)

Mike Gamerland
Tuesday, August 26, 2003

I thought about Joel's Excel method, and it works to a point but.. Every time I said to myself 'I wish Excel did this' I realized MS Project does it.

Don't use the more advance features without knowing what you're doing, keep it as simple as possible, and you'll get through it.

www.marktaw.com
Tuesday, August 26, 2003

WBS Chart Pro and PERT Chart Expert are great (and can use MSProject as file format and are integrated for round trip work). They are located at www.criticaltools.com (a short sample is here:  http://www.highoctane.be/articles/fog0000000023.html )

Philippe Back
Tuesday, August 26, 2003

I've never seen MS Project used properly (i.e., everyone enters begin/end dates instead of duration and dependencies).

pb
Tuesday, August 26, 2003

We use an extremely high-tech solution:

1. A whiteboard, metallic core
2. A stack of 3x5 cards
3. A stack of magnets that hold 3x5 cards

Write tasks on cards. Stick cards in magnets. Using whiteboard as organizational tool. Everybody estimates their work for the tasks for the next 2 weeks. Anything that can't be done in 2 weeks is broken up into smaller tasks. Repeat every 2 weeks, using new cards and new tasks.

You'd be shocked at how well it works.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, August 26, 2003

Painless Schedule, here: http://www.uil.net/uProducts/PainlessSchedule.html is excellent and only 35 bucks.
SourceGear Vault is very good, and it integrates with FogBugz.

Israel Orange
Tuesday, August 26, 2003

Painless Schedule was explicitly designed to address what Joel was talking about in that article, BTW.

Israel Orange
Tuesday, August 26, 2003


We have fan boys, and now fan companies. Looks like slashdot's bashing material, here.

Still cool, thought :-)

Leonardo Herrera
Wednesday, August 27, 2003

Excel on one end. Stuff like this on the other: http://www.tufan.com

The big enterprise PM  apps have great features but there sheer size and cost add significant pain.

Painless. Haven't found that yet but really learning MS Project will reduce the pain there.

fool for python
Wednesday, August 27, 2003

The biggest thing isn't the software used to track the plan, but to have a decent, realistic plan that is kept up to date.

Most of the significant projects that I've been have had someone put together a GANT chart in Primavera or Project to show the bosses that we would make some ship date. The whole purpose was to show that if everything went exactly to plan we could make a date. The GANT chart was usually done before any real detail design had been complete so it was compelte fiction.

Once the project was kicked off, the plan was put on the shelf until a crisis occured and we could no longer pretend we would be done in time. The old plan would be discarded and another equally fictitious plan would be written

Thankfully I'm no longer in the group that works that way and have the chance to make my own mistakes. I'm going with Excel to start with since there will only be 2-4 people on the project.

pdq
Wednesday, August 27, 2003

*  Recent Topics

*  Fog Creek Home