Software Development Companies: A Buyer's Guide


Software Developers

Get FREE quotes from up to 4 leading Software Developers

What kind of software development do you need?

What software development language do you need?

We protect your privacy and security

Home > Indexes > Software Developers > Articles > Article

A Buyer's Guide to Software Development Companies



If the software your business currently uses has become outdated, inefficient or no longer fit for purpose you may have to seek the services of a software development company. But how on Earth is it possible to chose the right company for the job without a concrete understanding of what exactly it is that such companies do? This Buyers' Guide is written for the layperson who doesn't have an in-depth understanding of different programing languages, platforms or information architecture. Instead we'll operate from the viewpoint that it's the developers you're assessing rather than the particular software technology they bring with them. By concentrating on the companies and the people themselves rather than the technical details you should be able to assess the suitability of the company to your particular problem and be able to pick the right software development firm for the job.

Establishing your Software Requirements

Software development cannot occur without a well structured and clearly defined set of your business's software requirements, as the work is in essence a process of addressing needs and solving problems. Consequently, development success will depend largely on the time and effort you dedicate to this stage of the process. It is only by analyzing needs and desired functions that a developer can provide you with as accurate a job proposal and cost estimation as possible.

Be extremely thorough and precise at this stage, including key employees' suggestions and needs, and compile a comprehensible requirements document, separating the mandatory needs from the optional. Draw up a list of potential developers by asking businesspeople you know for recommendations or by researching web directories. Send them the requirements document, as well as information about your company (such as business objectives) and your budget, so that they can in turn provide you with a job proposal and quotation.

Assess the Candidate Developers

A preliminary assessment of developers' written proposals and quotations should give you a good indication of their suitability in addressing your needs, but a final decision should be determined by in-person interviews as well. Meeting face-to-face is crucial in evaluating not only the candidates' services, but their personalities and communication skills too. The latter two are vital aspects in ensuring a strong collaborative partnership with the company, which will largely determine the success of the software development. In your assessment of the potential developers, consider these factors:

  • Experience and expertise
    You will obviously want to hire someone who is proficient in the field and keeps abreast of the latest software technology trends and discoveries. Be sure that the candidate is a genuine software developer able to suggest solutions to your problems, and not merely a programmer who wants exact instructions on what program he or she should write. Also be careful of developers who are preoccupied with their particular area of technology specialization at the expense of your particular needs. A good developer should provide you with the type of technology most suited to your requirements.

    It is preferable to choose a developer who is both experienced in their own domain and familiar with your particular industry. They should be aware of the common types of needs, problems and general expectations (both clearly stated and implied) in your line of work.

    Visiting a candidate's website should give you a good initial indication but the best and most direct way to determine a candidate's experience and expertise is to contact former and current clients. Ask them specific questions about the development company's general service delivery, response to problems, and the efficiency of the developed software.

    You can ask to see samples of software, and test it yourself to see whether it is effective and user-friendly (although remember that training will be provided).
  • Flexibility
    This will be more important for some projects than others. If your software development requirements depend on integration with other pieces of software or hardware designed by yet other suppliers a flexible approach may be required to achieve total compatibility. A broad knowledge base and skillset will help here as well as experience on a diverse range of projects.
  • Stability
    If you require any kind of ongoing support for your software or envisage the need for further development at some future date you'll want to be able to get in touch with the same company again to quote for it. Try to assess the financial situation of the development company - are they likely to go bust or relocate to another country sometime soon?
  • Size
    There are advantages and disadvantages to both big companies and sole proprietor situations. A big company may house all the skills and services needed by your requirements, but you run the risk of getting lost among many clients. The opposite is true for a small company or sole proprietor. Therefore, size is not an important deciding factor. Rather, make sure that the developer you choose can cope with the size of your company, and either cover all your requirements or be able to outsource specialized skills to reputable contacts.

    Industry awards are also a good indication of a company's stature.
  • Personality and communication skills
    This may sound trivial, but your instinctual like or dislike of the person or group is significant in the selection process. You will be working in close partnership with the developer, discussing problems which can become draining and difficult, so it is vital that you get along. The ability to communicate clearly and patiently, without loads of jargon, is also imperative. Software development entails your description of needs and problems being translated by the developer into functional solutions. Misunderstandings are inevitable in such a complex communication situation, therefore be sure that a good basic level of interaction is evident from the start.

    Note too their interest in the work and in your vision. Passion for a subject will generate creative problem solving.
  • Support
    Your company will need technical and administrative support during and after software implementation. This includes staff training, user-manuals or help documentation, and debugging of software. The company should also be committed to the general improvement of your software and the software should support integration with your existing applications and major systems, and comply with all platforms. These issues, along with specifications of the amount of support provided, should be clearly stated in the contract.
  • Price
    This is another factor which should not solely determine your choice of developer. Software development is a complex process and you should expect to invest a substantial amount of money in the process.

    More important issues of price in choosing a developer are those of costing methods and charging for changes. Avoid companies that charge hourly rates without specifying the amount of time that the job will take. A good developer should be able to make a fairly accurate cost estimation that constitutes fixed fees, providing that your requirements have been clearly and completely stated. Be prepared, however, for possible added costs later in the development process if changes are needed (which they usually are). Changes cannot be predicted, but be certain that you understand the developers means of dealing with and charging for changes (this should also be stated in the contract).
  • Legal Issues
    An important aspect that should be stated in the contract is that of licensing. Ensure that you will be able to use the software on all the computers that you need to, and be aware of any specific copyright claims the developer might have.

    A guarantee as to the products effectiveness should also be stated.

Begin the Development

After considering all these factors in the evaluation of candidates, you should be able to hire one that you are happy with. After signing the contract and starting the development, remember that communication is key. Address problems and announce required changes as early in the process as possible.

The beginning of development will involve a more in-depth analysis of your company needs by the developer. This may include interviews and observation, and should demand a fair amount of your time. Keep in mind, however, that this is the most crucial phase of development and therefore a sound investment of time. The developer should then provide you with a functional specification of your requirements, which can be signed off to commence the project.

Make certain that signing off the requirements does not bind you to them, but allows for changes to be made for an added fee. The remainder of the process entails the development of the prototype(s), testing, implementation and post-development training, support and maintenance.


How it works

  1. Complete this simple and FREE quote request form
  2. Receive customized price quotes
  3. Select the best solutions for your needs - save time and money

Need Help?

Call us on
0800 096 3462
.

About Approved Index

Since we began trading in 2004 we've helped thousands of businesses and individuals find the right service provider.

We're based in London and have several hundred listed suppliers nationwide, covering a vast range of services, specialisms and pricing structures.

For more information, or to register your business to receive qualified leads in your field, visit www.approvedindex.co.uk or call us on 0845 226 3534.

Testimonials

Alliance and Leicester

" As someone who was 'volunteered' to arrange a party for around 200 people with a 'different theme' I had no idea where to start. The person from Approved Index was incredibly helpful and put me in touch with a range of companies who came back to me very quickly. I would definitely use Approved Index again. "

OASSIS Applications Analyst, Alliance and Leicester

See more companies...

Are you a supplier?

Sign up now by completing our online sign up form or by calling on 0845 226 3534.

Sign up now