Custom Software Development

Custom software development has many advantages over “off-the-shelf” software, sometime including price. Below is a comparison of the two:


Custom Software Off-The-Shelf Software
Use Cases: Custom software is developed to meet the requirements as defined by your business needs. Developed for ‘all’ businesses including features not needed with the complexity of fitting every business model.
Customizability: Changes can be made to any aspect of the program as business needs dictate. Limited ability to make changes, usually through configuration options or creative use of existing features.
Problem Fixes: Can be fixed on demand. Must wait for the publisher to recognize the bug and determine it’s worth fixing.
New Features: Can add new features/use cases as needed. Dependent on the publisher’s determination of utilization across all customers of the application.
Support: Provided by the software developers and IT staff. Provided, usually at additional cost, by a call center without access to the software development team.
Cost: Cost varies dependent on the feature and use cases: you pay for functionality and support. Cost range from $2,000 per use case and up. Fix cost determined by the publisher. Paid for by the user. Cost can range from $500 per user up to $10,000 per user per year.
Business Model: The application is written to fit your business model. Your business model is modified to fit the application.

We follow a modified Unified Process for software development. This software engineering process has the breaks the process out into Inception, Requirements, Design, Development, Testing, Deployment, and Maintenance. For new software, it can be expected that 1/3 the time is spent on Inception, Requirements, and Design.


Web Application Development

Custom software development comes in three forms: traditional desktop, web, and mobile. Custom web application development requires that the application, in specific the user interface, be designed in such a way to accommodate the disconnected lifecycle of web servers. Additional considerations should include specific web browsers to be supported.

Mobile Application Development

Mobile development come in two forms: a web application masked as a mobile application, and a true blue mobile application. A true blue mobile application is preferred when taking advantage of hardware features of mobile devices, and when performance is critical. The disadvantage to true mobile application development is we need to do it once for iPhones and iPads, and once for Android based devices, and yet once again for Windows phones. This brings us to the advantage of a web application masked as a mobile app: it’s universal and portable across all devices if done correctly.

Database Development

Database development and application development go hand-in-hand. When referring to database development, most people mean software development. Database is the structure, storage, and organization of information. Most modern enterprise database systems do not include a user interface, which is what the application provides: this is why most refer to ‘database development’ and mean application development.

Software Integration

Most businesses are ran through a combination of “off-the-shelf” software’s and custom applications. Connecting these applications together is usually done by using and reusing the same data from one system to another.

Off-The-Shelf Software

Off the shelf software usually uses a process of ‘synchronization’ which is copying the data from one application to another, and then replicating changes. Problems arise when changes are made in both systems at the same time: now the conflict must be resolved by either choosing or defaulting to the primary source.

Custom Software

Custom software can directly use the data in other applications depending on what the other applications allow. Usually, we can depend on a read only connection to “off-the-shelf” software, with some systems allowing “read/write” access to their data.