views:

463

answers:

6

I posted this question on Reddit Programming and did not get a single response. So I am hoping that Stack Overflow community will have an opinion.

Have any of you ever been on a software project that had fallen behind, where 'Crashing' or 'Fast-Tracking' the project schedule actually brought the project schedule back on track? I have never seen either of these project management techniques actually work. And all the articles on software development that I have read all state that these 2 techniques do not work and actually pushing the project further behind (for example literature on the Mythical Man Month). So who has seen it work?

Thanks Bill.

+2  A: 

I have only ever seen it work once. It was a three or four month long project that was projected to run an extra two months over the original delivery date. The project got fast-tracked and things ended up getting back on track for the release.

...keep in mind though, that was only once. I've been on many more projects where the PM tried to use one of those two methods and they failed miserably and dragged the project out for months beyond already extended date.

Justin Niessner
A: 

There is a software management principle that says adding manpower to a late project makes it later.

That said, as long as the measures taken are sensible it should be ok. Don't expect too much of your staff and provide reasonable incentives and don't take short cuts. It won't make miracles happen but if you're practical and want to push things just that little bit faster it can definitely be done.

When people have a stake in the potential success of something it's amazing how much more effort they're willing to put in.

Evernoob
A: 

It depends on what you mean by "work". I don't think I've ever seen it make a way late project deliver on time, if that's what you are asking.

However, I have seen it make way late projects deliver only a bit late. From the fuzzy perspective of management, that might be called "working". I've also seen it significantly lower the customer-based pressure on the company. Some might also call that "working".

Of course the price is rather high. Employees burn out, develop health problems or big problems in their neglected personal lives, etc. All of that has large financial repurcussions to the company. So I doubt the company comes out ahead in the long run. Is that "working"?

T.E.D.
What I mean by "work" is doing what you stated in your 2nd paragraph. Taking a project that is behind schedule and bringing back on schedule or at least cutting the time that it is behind.
bkoch
+2  A: 

It can work. But there's a price to be paid: lower quality (more bugs, less testing) and turnover of burned-out programmers.

And in many cases, a fast-tracked project will both fail to deliver on time and will still pay the full negative price, for the reasons stated in Mythical man-month.

MaxVT
+1  A: 

I've seen it work but it's not the norm.

Things I'd want to see before I thought it might be feasible:

1) Staff available with suitable skills and approach. By that I don't mean ".NET programmer", I mean detailed technical skills, business domain skills (so they understand the problem), personality fit and understand the tools and the approach (source control, methodology and so on). This can happen in large companies where there are common tools, standards and knowledge but you need to be sure that they're ticking pretty much all the boxes.

2) Tasks must be nicely divisible. The best situation is where there are whole modules, applications or tasks unstarted and you can put new people on that. It minimises upskilling, additional communication and so on. If you can't separate out what the new people will do you're likely to majorly disrupt the existing team.

3) The whole team must have bought into the approach. If the existing team don't agree that bringing people on board will be right they'll likely fight it and you're doomed.

4) You need to be sure you've addressed why it was running late in the first place. If it was just bad estimates then are you confident the new estimates are good? If it was scope creep have you got the scope and change control in hand now? If it was because the deadline moved, are you sure it won't move again?

If you can't tick all four of those off, it isn't going to work.

Jon Hopkins
+1  A: 

Crashing and Fast-Tracking are two very different things...

Fast Tracking is where you take something (tasks or work packages) out of sequence and do it early. This may because of hardware delivery lead times, availability of resources, risk or whatever. So you might do things in parallel where originally you had planned to do it sequentially. I've fast tracked a lot of projects.. and yes it works.

Crashing a project is different in that you typically throw more resources at a problem to get it done quicker... this can be tricky. If it's done as a crisis response it can be painful adding extra people as you are already under the pump. In some situations you just add more problems.

Another alternative to crashing is to reduce scope. This is not always possible, but it should be considered.

With fast tracking or crashing... the sooner you know when you need to make a schedule change the easier to manage. This is why early deadlines are so important, they indicate how the rest of the project will go.

Mark Nold
+1 for explaining the terms.
RodeoClown