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 May 31st 2012 | Software
Published by Angel on June 6th 2012 | Software
Published by Waltersloan on May 25th 2012 | Software
Published by Robert Woodard on April 17th 2012 | Software
Published by Alsa on January 3rd 2012 | Software
Published by Amela Brooke on April 30th 2012 | Computer
Published by Elan Technologies on May 17th 2012 | Computer
Published by Etisbewcorp on August 23rd 2012 | Software
With the consumer market getting giddy in anticipatio...
Published by Sybrant Technologies on January 23rd 2012 | Software
Published by Terry Littrell on June 22nd 2012 | Software
Published by Siketich Simon on March 23rd 2012 | Software
Published by Angel on July 20th 2012 | Software
Published by Anand Kumar on December 12th 2011 | Software
Published by Spassurance on December 14th 2011 | Software
Published by Terry Littrell on May 18th 2012 | Software
Published by Jay Donaldson on March 29th 2012 | Computer
Published by Sudha Vishwakarma on December 21st 2011 | Software
Published by Jon on February 10th 2012 | Software
Published by Angel on July 5th 2012 | Software
Published by Angel on May 30th 2012 | Software