You are an expert in your domain but not in software development success. However you have to get a a piece of software developed - this software is going to be the core of your business. Recently a few people in this situation asked me for a help. Here are a few tips that I have found useful over the years for software development success
A proper design and architecture is essential. Here you got to have top talent. Experience in designing similar systems is essential. They will know all the pitfalls and all the ways in which the system can be used. Sure they will cost a lot, but a few hours of their time at this stage will save you a lot of heartache later. If you can get a top talent to review your project and advice during the development phase, go for it.
Have a separate testing team/person. Make your testers responsible for the product meeting the customer's requirements. Requirements can be wrong and often are in the software development.
Have a separate documentation team. Developers rarely like to spend time documenting anything. Good documentation is important and should be tested just like software.
Have a secure, internet accessible version control system. You can buy this service cheaply from providers like CVS Dude. This will allow developers to work on your software from anywhere.
Do software development as fast as possible. Life is unpredictable. Projects get canceled, budgets axed, people transferred. Once you have the green signal, design and deliver the first version of the system as soon as possible.
Make the schedule for each individual activity tight. When people have lax schedules they tend to relax till the schedule becomes tight again. Keep a global safety margin for the project and keep it a secret.
You cannot plan a research project. Before laying down a schedule make sure all elements that require research have been accomplished.
Has the same kind of software been developed before by somebody? Give it to the same company, ask them to do the exact same thing. Do not ask them for version 2 of the software. Version 2 are notorious for being late.
If you are developing the software for an eventual user outside the company, make sure the developed make the user happy. Requirements rarely capture all the story.
Be prepared for glitches, cost overruns and schedule overruns. Split the software development into phases, each phase should deliver useful functionality. This way if you have to stop development midway, you will still have got something useful from it.
Do you need more help to solve your problem? Would you like to ask the author a question about your specific problem? Do you have a great idea about this?
We will post an answer within 2 business days. If you need more immediate assistance or you would like to discuss your issue privately, please use our contact us form or call us at 1-888-215-8557. We love solving technical issues and there is no charge if we solve your problem over email or over a short phone call.