So you’ve decided to go ahead a commission a bespoke IT solution, but who do you get to develop it, and what should you be asking for? No points for guessing that we’d like you to considerDataMouse. However, this article looks at what you should be asking for and how to communicate your needs to the prospective developer.
Writing a Requirements Specification
Before getting any quotes you should put together a requirements document outlining what you need the system to do and how you want it to do it. You might want to use this to send out directly to prospective suppliers to get estimates and use it as a short-listing process, or just for your own benefits so you have a clear idea of what you want and what questions to ask. The document doesn’t need to be particularly technical and detailed, but the more information the better.
DataMouse have developed a simple form which you can use for outlining your requirements – please contact us and we’ll email it through it you. You’ll find more details on writing specifications in our article, Writing a Specification.
What to ask for
During a development project, somethings can be easily overlooked, but could make a big difference to costs and development time if you don’t specifically ask for them. The following section outlines some important features that you should make sure are part of the service.
Full specification before you start
A specification outlines in detail your requirements for the system and should be produced before development begins. Working with the developer to create this specification allows you to be clearer about your requirements as well as making sure your developer has a good understanding of want you want. It also is a good way for you to check off that all the features you have requested are present in the final system.
Flexibility to make changes to the specification during development
As mentioned above, the purpose of the specification is to document all the features requested, and this would be what the developer based their quotation on. However, more often that not, when you start seeing the system in action you will realise you forgot something, or want a feature to work in a slightly different way.
Make sure your developer will allow some flexibility in this respect and won’t charge extra for every small alteration from the specification. If these changes become too numerous or are very complex, then you should expect additional charges. These charges should, however, be communicated to you before the alterations are implemented.
The source code is the skeleton of the system and without the source code and supporting files it is very difficult (if not impossible) to make alterations to your system. If your developer goes bust, goes away or you just fall out with them you could be left high and dry with no way to update or fix any problems. It is not uncommon to come across systems that have had to be re-written from scratch because the original source code wasn’t available – obviously a very costly exercise. Having the source code gives you overall control and means you’re not reliant on the original developer of the system.
Different to the specification, the technical documentation contains vital information for consultants in maintaining and modifying the system. Good documentation helps a developer to make changes quicker, cheaper, and with less bugs because they fully understand the system and the implications of the changes they are making. As with the source code, having a copy of the technical documentation yourself gives you overall control and means you’re not reliant on the original developer of the system.
To a certain extent, bugs in software are unavoidable. With good testing procedures the majority of these should be caught and there should be no major problems in the long term. Different developers will offer different levels of support after project completion. However, you should ensure that the developer will fix bugs free of charge – even after the project has been signed off. DataMouse offer a lifetime bug warranty.
As well as bug fixing, you may require other additional support such as user support or system maintenance. If you require this, make sure your developer can offer the level of service you require.