
The Development Process
We can help you at each stage in the process of developing a custom application, from first conception to ongoing support. If you are new to custom software development, the processes are generally as shown below. Not all projects require all of these stages. For any specific project, we can help you decide at which points in this process you need our assistance.
Requirements Analysis and Application Design
- Determining Business Requirements
To deliver the correct final application, it is essential to understand the requirements, including an understanding of the business context and an awareness of any business, technical or time constraints. This will ensure that any developed application meets the needs of your business now and in the future and provides maximum return on investment.
For small projects, we can determine requirements and present them with a budget estimate as part of our initial proposal.
For larger projects, we can undertake a detailed business analysis exercise to ensure that the requirements are clearly formulated and deliver this as a separate business analysis report. This report would include a rough estimate for the entire project and costings for any feasibility studies required and for preparation of a technical system requirements document.
- Technical Feasibility Studies
In larger projects there may be requirements which need technical investigation to determine the best technical route for delivering a solution. In such cases, we have a wealth of experience which allows us to undertake feasibility studies into particular areas of complexity and deliver a report on our findings.
- Determining System Requirements
With an understanding of the business requirements and the results of any technical feasibility studies, the system requirements can then be decided. The processes used in determining system requirements vary depending on the size of the project but can include:
- Modelling
Larger and more formal projects may require application modelling. This results in a technical description of the application using easily understood symbology. The models can be used to ensure that technical and non-technical staff are in agreement prior to development commencing. In addition, this forms useful documentation for understanding the rationale behind the application. Application modelling often provides an important link between business requirements and technical system design.
- Technical Platform
The specific application platform will depend on your technical stategy and the technology you already have in place as well as the needs of the application. With years of experience in the computing industry and with deep understanding of the advantages and disadvantages of different technologies, we can work with you to choose the right technical platform for your application to ensure that it provides the maximum flexibility and return on investment.
- Deployment Strategy
Some projects demand that full development and testing are complete before implementation can begin. However, in some circumstances you may not wish to wait for completion of the full development to start reaping benefits from the core functionality. In this case, a phased approach may allow you to deliver early quick wins to your business users. We can help plan the best approach for your particular situation.
- Application Architecture
With details of the application requirements and a clear decision on the technical platform and deployment strategy, it is then possible to determine the technical system requirements and design the specifics of the application architecture. The result of this will be a document detailing the system design. The depth of this will depend on the development methodology to be used. For projects which use prototyping this stage may be small; for projects which are more formal in nature this stage will be crucial.
|