Existing Applications Have Hidden Issues
Every home improvement show I watch uncovers hidden surprises: asbestos in the walls, faulty wiring creating fire hazards, mold, water damage, etc. It's no different in software development. Whether dealing with Web Applications, Desktop Software or iOS and Droid Device Application Development, when you work on something built (or simply started) many years ago, you will run into hidden problems that must be fixed.
Working on existing software built by someone else is one of the most difficult challenges in the software consulting industry. People want to know how much it will cost. But we don't really know what we will be getting into until we get our hands into the mix.
Even worse, the client is used to working with a developer who knows how everything works--after all, they wrote it. When a new developer gets started, there are many hours--sometimes hundreds of hours--spent just learning what is there and how it works. That expense of getting a new person up to speed can be a hard pill for a client to swallow.
What do they do in the construction world? They start by giving estimates for what they think they will need to do and build in a buffer - a "just in case" amount for unforeseeable problems. If something bigger than the buffer comes up, they stop and present the client with options, and then either raise the budget or change the requirements.
This might not sound like the ideal solution, but work has to be started before you know the full extent of the problems. To discover mold in the walls, you have to tear into those walls. The key is to be prepared. If there are extensive or expensive issues to be resolved, come up with creative ways to fix the problem so as to minimize the expense and stay close to the original budget.
So if you have an existing software application that needs to be updated or upgraded, what do you need to consider?
First, expect ramp up time (and cost) in order to get the new person up to speed. The first few weeks or even months, depending on the size of your custom software application, may see few visible results.
If you are getting estimates from vendors, ask exactly what they plan to do for that amount of money. If you are very specific about what you want, you should expect bids that are fairly close to each other. However, if the estimates are all over the board (one company we talked to had estimates ranging from $5k - $300k+) then you probably need to size down what you are asking them to do (pick a small chunk of work to start with) and then very clearly, with more detail, spell out your requirements. This will produce estimates that you can better compare - apples to apples that should result in estimates that vary by smaller amounts.
Make sure you and your vendor budget time and money for unexpected things that crop up. Even perfect projects done by the best people have issues come up.
Finally, pick a team that solves problems creatively. Quite often, creative individuals turn a problem into an opportunity or find slick ways to solve the problem with little money. When we interview we look for this--we give the potential hire a situation we have encountered in the past and ask for their solution. If you do this, give the base information you had when you encountered the issue and ask the potential hire or vendor what they would do. They usually don't have time to actually solve the problem--that isn't the point. You just want to see how they think and if they can be creative.
Published by Anoop TU on July 15th 2012 | Software
Published by Martin Tuner on January 4th 2012 | Software
Published by Calsoft Inc on April 4th 2012 | Software
Published by Terry Littrell on May 18th 2012 | Software
Published by Coloprilreview on November 25th 2011 | Software
Published by LizaFox on May 1st 2012 | Software
Published by Deniel on June 9th 2012 | Software
Published by Jamesarmstrong2011 on July 19th 2012 | Computer
Published by Randykennedy on June 15th 2012 | Software
Published by Jon on December 20th 2011 | Software
Published by Josejames on June 12th 2012 | Software
Published by Elan Technologies on January 2nd 2012 | Software
Published by Sumitdass on August 23rd 2012 | Software
Published by Amperesoftware on May 31st 2012 | Software
Published by Angel on January 25th 2012 | Software
Published by Terry Littrell on June 15th 2012 | Software
Published by Sigma Solve LLC on July 18th 2012 | Software
Published by Roger Lopez on January 17th 2012 | Software
Published by Terry Littrell on June 22nd 2012 | Software
Published by Jon on March 20th 2012 | Software