5 Things to Consider Before Custom Software Development

1) Document your software requirements. The easiest way to fail on a custom software development project is to skip the requirements gathering process. If you want to build it right you need a concise blueprint of the features and functions to be included in the application. A quality software design will include documentation of each user interaction with the software (use cases), detailed information about all outputs from the software, and documentation on any interfaces that need to be addressed by the software.

2) Decide how the custom software will be used. Is the application intended for a broad audience that would be best served by an internet application or is it an internal application to be used by members connected to your local area network? If you have determined that you need an internal application you will still need to decide if you want a smart-client desktop application or a web based Intranet application. Desktop software tends to perform faster while browser based software is generally slower but does not require client software updates.

3) Determine if your software already exists. Do some research. Commercial Off The Shelf Software (COTS) has the advantage of being mass distributed and its cost is spread over many installations, so it is always a less expensive option than custom software development. If your requirements involve financial or accounting applications and you can’t find a COTS solution that addresses your needs then you should consider a base product that has an SDK (software development kit) like QuickBooks. Software development on this type of platform is very reliable and requires far less effort than a full custom software solution.

4) If you do need to build custom software, choose a database. There was a time when one might question the need for a database but that time has long passed. Quality free database offerings such as MSSQL Express, MySQL, and Oracle 10g Express, combined with the performance advantages of stored procedures, triggers, and referential integrity, make the database inclusion a must for any quality custom software application. You do, however, need to be careful when selecting the database, particularly if you are using one of the express databases as they do have limitations on number of databases, database size, and upward mobility.

5) Pick a platform / language. There are many schools of thought regarding the choice of Windows vs. Open Source (typically Linux) operating systems and their supported development languages. Some languages such as Java will run in both environments while others, such as .NET operate only on Windows platforms. In general, either choice can provide a reliable software environment providing careful attention is given to the capabilities of the language and its suitability for your chosen deployment environment.

Technorati Profile

Tags: ,

Leave a Reply