Selecting a Software Consulting Company

 

 


Regardless if you elect to utilize the services of Advantage Systems or not we understand the complexities involved with the selection of a company to develop your software package and the cost involved with this decision. Not only is there the initial upfront cost to develop the software package but the related business cost if the application fails to produce the results necessary to maximize the benefit to your company.

To help you with this selection process we compiled a list of items to consider when selecting a software consulting company..
 

 

  • When requesting a quote from a software vendor ensure the vendor includes such items as support time, change orders and deployment cost amongst other things in the proposal. These items are normally considered out-of-scope and while the project on paper may appear to be in budget during development these type of “back-end” charges could drastically effect the actual cost of the software.
     

  • Given the nature of software development, regardless if the development is being done onsite or offsite, it is difficult to track the actual number of hours being billed to develop your software package. You need to carefully consider why a consulting company would send you timesheets or invoices on a daily basis. Having an open timesheet visible on a web site 24 hours a day is no guarantee your software is actually being worked on during that timeframe. Instead it is better to request the consulting company provide you with a timesheet when they deliver interim releases of the software for you to review. This will allow you to compare the timesheet with the software to ensure you are receiving what you are being billed. The timesheet should be in a consolidated concise format. You should be easily able compare the current timesheet with the previous timesheet to ensure you are not getting double billed for the same work.
     

  • Some software companies utilize offshore programmers, in other words they develop a written specification of the software project then send the work overseas for a discounted programming rate. While the cost of the development is reduced, Advantage Systems has heard from clients they have experienced slow turnaround time, source code is not commented or commented in a foreign language and communication is challenging.
     

  • A software company should utilize source code control software, this will enable the company to retrieve previous versions of the software in the event an unexpected behavior occurs between releases of the software and isolate exactly what part of the source code changed.  Further, the source code should be located on a file server with redundancy, reliable backups and a disaster recovery plan.
     

  • A consulting company should provide you with a development or beta release of your software every 10-15 business days. This will allow you to track the progress of the software, ensure a miscommunication is not occurring and the software is headed in a direction beneficial to your company. Even if you are not a programmer you should still be able open some of the source code using notepad to ensure the source code is properly commented. In the event a programmer leaves a consulting company or you decide to go elsewhere this will drastically decrease the cost of transitioning the project to another programmer. For example if you are having a company develop a software application written in Visual FoxPro; as part of the source code there should be files with a “prg” file extension. These files can be opened using word or notepad for review without any negative impact on the application itself. This practice will further ensure the vendor is providing you with the source code for your application.

  • Request to speak with the programmer who is actually going to be working on your application during the presales phase. No matter how much you may like the salesman the programmer is the one you will need to rely on if any issues arise with the software.
     

  • Written specifications is a good idea to ensure your application is being programmed correctly, however this is equally to protect the software company as much as it is you. Often you will be billed by the vendor for drafting the specification document along will giving the software company a way to bill change orders for modifications not included in the written specification.  One method of documenting specification is to draft a specification document for a single module or subsystem of your application then ask to review the progress of the software development for that specific module. An alternative approach is to actually build a prototype of the screens and reports during the specification phase, this approach eliminates any questions about what functionality to include and what the final look and feel of the application will be like. A proficient programmer should be able to create a form with you in about 2-4 hours depending on the complexity of the application. While it may not be fully functional many times this approach works better then a written specification.

Advantage Systems © 2007 • Privacy Policy