Saturday, February 11, 2012

Software Project Rescue: Development projects fail. How do you save them?

January 20, 2010 by  
Filed under software development schedule

If you’re in the software development business long enough (like a year) you’ll see a development project fail. There are many reasons why this happens: budget, scope, schedule, poor management, poor developers, bad technology, etc. There are companies that will allow you to pay them lots of money in order to come in and help you to determine the cause of your failure. I call this “walking the battlefield and knifing the wounded.” If you’re lucky enough to have one root cause then you should have corrected the problem very early. Otherwise, what you have is many small causes and a lot of collateral damage.

The secret to software project rescue is a methodical approach that focuses on the solution, not the path to failure. Once the project is a success and money is falling from the sky you can focus on the failure and make sure it never happens again. If you’re able to accomplish this and prevent failure you should write a book. I promise I’ll be in line to buy a copy at 12:01 the day it comes out.

Some people would be afraid to share their approach to this particular problem. I’m of the opinion that I could share this with 100 development companies and 2 would be able to execute it. The approach requires discipline, hard work and a core group of talented people to execute. It also requires a company that is willing to have honest and tough conversations with a client about budget, scope and schedule. Here are four of many things you should be looking for when procuring a development partner that’s willing to help you get out of a tight spot with your project in jeopardy:

1)      Requirements

What is the point of this development effort? What are the business goals? If there is one thing that failed projects have in common it is a lack of direction. A software development project requires this direction and it comes from clearly stating requirements. You don’t have to have get every detail nailed down (I’m not advocating Waterfall here), but there does have to be a clear goal.

2)      System Audit

That code that you’ve spent a good deal of time and money on is probably of some use. The big question is: how much can be salvaged? If you go to a company and they’re willing to take on a project without reviewing the existing code first – be afraid! Would you buy a used car without taking it out for a drive or looking under the hood? A system audit will mitigate risk and give the development team a good starting point.

3)      Set Expectations

This is a fine mess you find yourself in. My guess is it took you some time and money to get into the mess. It will take some time and money to get out. Beware of anybody selling miracle cures. Most projects can be salvaged into something that will buy time, but they almost never look exactly like your vision. Choose a custom software development company that is up front and honest about what can be accomplished by when and for how much.

4)      Measurable Progress

You’ve heard the phrase: “Vote early, vote often.” In the custom application development world it should be: “See progress early and often.” The end of the requirements and code review phases should produce a punch-list of items that can be accomplished quickly and with measureable results. Is a page of the system agonizingly slow? Speed it up. Are your customers unable to check-out? Repair the shopping cart. If you try and fix everything all at once you’ll end up in the same place. Pick some items that will get you measurable progress towards your goal. A good development team should be able to accomplish a couple of the items quickly and get you moving again.

I would not begin to tell anyone that this is easy. It is a process that requires a lot of work from a talented group of individuals working as a team. From the client’s perspective the entire company could be on the line; at the very least their job. There will be pressure, issues and some late nights. Picking a good development partner early on will allow you to avoid this scenario. However, in the event you find yourself in this spot wouldn’t you want someone who’s been there before and survived?

Amadeus Consulting is a custom software development company dedicated to creating intelligent technology solutions. As a Microsoft Gold Certified Partner, we have competencies in Custom Development, Mobility and Data Management. Other areas of expertise include content management, e-commerce, social networking, data collection and management, browser plug-ins, and iPhone application development.

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

You must be logged in to post a comment.

Powered by Yahoo! Answers