| Application Development |
|
Our main stock-in-trade is the development of bespoke database solutions for customers. For the simpler project our method is as follows:
For larger project it is necessary to spend more time on the specification, including a detailed database design and user-interface prototyping. These need time for both you the customer and ourselves to consider. So we usually conduct this specification phase as a mini-project in its own right. We will agree a fee to cover this work, of approximately 25% of the total development cost. The development process is as follows: 1. Project Objectives – Preliminary PlanningFirst and foremost we must identify the objective or vision of a project. What business issue does it aims to resolve? What is its scope and budget? What benefits will the solution provide the company? What is the return on investment? Who will sponsor the project within the company? 2. Business ProcessWe then look at what facilities the system must provide. How will it affect the existing business process? What changes are required to working practices? 3. Requirements DefinitionWe build a concise list of testable requirements for the system: what it must do, how well, and within what technological constraints. This normally focuses on the functional requirements of the system (the “what”). However issues such as performance, reliability, and extensibility of the system must be addressed as these have major impact on the cost of any solution adopted. 4. Architectural DesignAn architectural model of the system is then constructed. This identifies the main server components (software and hardware), interfaces to the outside world, legacy systems and peripherals. We consider the number of users, the volume of data stored, transaction performance, reliability and other system attributes that affect the design of the system. At this point the system hardware and software can be identified and priced. Some technical feasibility work may be performed to eliminate various technical risks in the design. 5. Conceptual DesignThe next task is to design a logical data model for the proposed system and to perform a first-cut design to ensure that the basic logical design of the system is conceptually correct, in both the eyes of the developer and the customers. A series of walkthroughs are usually conducted to "validate" the design at this stage. The point being to recognise any misunderstanding or inadequate earlier requirements definition. Possibly the user interface to the system will be mocked up at this point, and some real data entered into the database. Once again we find that the future users of the system are more likely to understand the proposed system if they can see real data, data entry screens and reports (even if these are just mock ups). 6. Detailed DesignSome further detailed design may then be necessary according to the size of the project. This usually consists of fleshing out the algorithms of the system, verifying the detailed design matches the conceptual design, and ensuring that all the requirements mentioned earlier have been satisfied. If any data-take on is required this is usually performed now. 7. Coding and TestingThe system is developed, and the various components tested and integrated with increasingly sophisticated and large scale tests. Once we believe the system is functional - i.e. we have completed our system tests. A series of user acceptance tests are conducted. Once again this validates that the system is ready for deployment. 8. Configuration and DeploymentThe system is configured for use, users are trained, the various maintenance procedures are put in place. At this point the customer's business process will change with the adoption of the new system, so users must be adequately prepared and trained for the change over. User guides and help files may be produced at this stage. 9. Go Live and MaintenanceWe will help the customer go live with the new system, ironing out any (almost inevitable) last-minute hitches. From then onwards it is a matter of monitoring the system is working optimally, and delivering bug fixes and program enhancements in a timely and transparent manner. Updates will either be performed by ourselves, possibly using remote administration software, or with supplied instructions by a competent local system administrator. |
|
Anderson Software Home. 01908 236807. |