Recently I have taken over a project at a company, which is in Partnership with another company. The other company seems to be the big brother in the relationship and tends to enforce its policies and procedures down to little brother.
The project I am running was not suitable for little brother and so the project had been running for 6 months with little progress at my company, but had been almost completed at the other company. I came in to fix the project and get it going (my favourite type of project management role).
The main problem was the design of the solution. It worked for big brother, but it did not work in the company I was working in and would basically prevent 4200+ users from using not only their email/calendar, but also many of their business applications.
The design was completed and tested at the big brother company and was minimally tested at my company. This meant that the full extent of user types was unknown and more importantly, not tested. This resulted in many changes to the initial design and caused many political contentions and delays in the project proceeding.
The only way to deal with this was to stop the project from my end and to look at each problem to find a solution. This would then result in a 3 week delay to the schedule for a redesign and a new code to be written.
We are now just 4 months into the roll out of the project and have completed 80% of our target. The initial project was supposed to last 6 months to roll out to 4200 users, but we have rolled out to almost 3500 in 13 weeks.
Sometimes it is of greater benefit to stop a project to understand why it is failing. Fix the problems, design the new solution and start again. This has had a positive affect on the morale of the people in the project team and the acceptance of the business change to our customers.