A term that is often heard in software development circles these days is Bespoke Development. The Oxford Dictionary defines “bespoke” as:
In our digital age, there is a need for two types of software:
Off-the-shelve software: This type of software serves the needs that are shared by a large number of users, and include operating systems, anti-virus programs, word processors and spread sheet tools. These applications tend to be sold at a relatively low cost, but have very limited customisation capabilities. In many cases, users find that using this type of software for certain business related tasks, forces them to adapt their business rules to the functionality available in the software.
Customised Software: This type of software is designed for an organisation, and caters for specific needs in terms of user interface, data storage, interfaces and business rules. When developing customised software, vendors generally go to great lengths to gather input from the various role players in order to cater for their unique needs.
At Dac Systems we believe that software exists to serve a user or organisation, and should therefore be designed to adapt to the needs of its owner, instead of the owner having to adapt his business to fit the software.
Over the years, by designing and building a large variety of customised systems, we have learned many lessons on how customised development should, and should not, be approached. We have seen many instances of software vendors taking short cuts in the Software Development Life Cycle and thus wasting huge amounts of their clients’ money by delivering systems that decrease the productivity of their users instead of increasing it.
When developing customised software solutions, Dac Systems follows a definitive methodology that can be summarised in the following steps:
User Requirements Analysis: We aim to understand exactly what the user expects from the systems by listening to the various role players, and then compiling a User Requirements Specification that is signed off by the client before we are willing to proceed with the project.
Technical Design: The system design is done by one of our software engineers, and checked via a peer review process. If the system needs to interface with other systems, the various system owners are consulted, and the technical designed approved by all relevant parties before proceeding.
Development: During this phase, the code for the system is written.
User Acceptance Testing Document: This document describes the criteria for determining whether the system performs as envisioned by the users, and has to be approved by the client.
Software Testing: Our quality assurance staff test the software against the User Acceptance Testing Document before delivering the software to the client, to ensure that the delivery meets their requirements.
Acceptance Testing Procedure: Before sign-off, the system is verified against the User Acceptance Testing Document by the client to ensure that it meets their expectations.
Sign-off: At this stage, the system is deemed completed and ready for deployment.
Back to News Page