As their application of new technology matures, many companies are turning to custom development work to solve problems and streamline business.
For many businesses, though, the bulk of their experience with new technology has been in the use of off-the-shelf products. As a result, buyers are often unhappy with the custom development process. Stories of blown budgets, missed deadlines and unsatisfactory results abound.
This guide was written to help businesses understand custom development work and the steps you can take to avoid the most common pitfalls.
What is custom development?
Custom development is the creation of a product or solution specifically crafted to solve a unique business need. It is undertaken when mass-market products are not sufficient for the task.
Custom development takes many forms: programming, graphic design, database development, the authoring of brand-new applications and software.
While custom development may employ certain off-the-shelf products, the largest portions are created from scratch.
Step 1: Define your requirements
When you engage a developer to build a custom solution for your problem, you're faced with an immediate danger: mismatched expectations.
You have a vision for what you want the project to achieve and have specific goals. But since you're not a developer, you're not sure what technologies should be used, how long they will take to build, and how much it will cost. So you call a custom development shop.
After communicating your vision and goals, your developer begins to form a picture of what you want. But they're coming at the project with a completely different set of experiences, and what they have in their heads may be significantly different than what you have in yours.
If you and your developer don't share the same vision for the project, you can't be sure that they will provide you with an accurate cost estimate, and you can't be sure that what they build will satisfy your needs.
To mitigate against this danger, you must engage your developer in a period of discovery. You will want to define with a high degree of detail the specific methods that will be employed to accomplish the project and what specific tasks must be completed to do so.
Keep in mind that most developers will require a certain amount of compensation for this discovery; accuracy in project scoping comes at a cost, but it can be money well spent if it ensures the project's success.
If you have a developer who is highly tuned to your business and industry, and one in which you have a significant level of trust, you can save some money and ultimately end up with a better product if you forego the absolute list of tasks to be completed and use a more flexible approach to the work.
Still, due diligence at this stage can save a lot of headache down the road.
Step 2: Budgets and timelines
Once you're confident that you and your developer share the same vision, the developer will provide you with a cost for the project and a timeline for development.
Here arises another potential danger: inaccurate estimates and unrealistic timelines.
Keep in mind that developers tend to be an optimistic bunch, and they may underestimate the amount of time necessary to complete tasks. Be sure that you've allocated enough money to account for challenges that may arise during the project.
On the other hand, developers are sometimes burned by clients who insist that projects be completed at a fixed price regardless of what unforeseen circumstances arise. They may pad their estimate to cover this eventuality.
You should also be wary of low estimates. In today's economic climate and with the shakeout of the technology economy, many developers are cash-hungry and may make promises they can't keep -- providing you with a low cost estimate just to get the project.
Step 3: Beta testing and review
If you've made it through the first two steps and have a clear development plan with realistic costs and timelines, then you've begun the actual development process.
A good developer will provide you with a defined beta period. They've built and presented a preliminary solution, and now they're asking you what needs to be changed.
This is a critical stage; at the end of the beta period, you will be asked to sign off on the project with the understanding that any additional work following sign-off will incur additional costs.
Invest your time now to thoroughly review and test the product yourself. Provide your developer with solid, tangible feedback on what needs to be modified. Then make sure changes are fully implemented.
Step 4: Implement and assess
You now have a custom development solution that has been built, tested, implemented and paid for.
Even so, it's still probably not done. Particularly with custom development that is part of a rapidly evolving business process, you will undoubtedly find glitches that need to be fixed or enhancements that need to be made. Be sure you and your developer have discussed how such modifications will be made and how you will be charged for them.
Custom development can be perilous, but if you address the most common problems, you'll be better off.
Scott Gere is chief executive at Impact LLC a communications and technology company. He can be reached via e-mail at scott@impact451.com.