General Phases and Deliverables
Business Case Analysis
The business case analysis phase is the first and most important phase of our methodology. During this phase, we work with client representatives to determine the business case for an application and to understand the scope and operational implications of the proposed system. We also work to determine how the expected return on investment is to be measured. This analysis allows us to consider the technical, operational, and economical feasibility of the system. The Business Case Analysis Document is produced to present this information and to help the client determine whether the project should process.
System Requirements Specification
The system requirements phase involves identifying the hardware, software, and operational functionality of the application and developing appropriate specifications for each area. We use a process-oriented approach to determine system requirements and work with client representatives from the various functional areas involved in a particular business process. The output of this activity is a document detailing the functional requirements of a system as well as the required hardware/software infrastructure.
Software Requirements Specification
After determining the system requirements, we develop interface prototypes so that the client has a concrete vision of the system. This approach allows us to get client feedback early in the process and to incorporate ideas from the prospective users of the system.
After the interface prototypes have been accepted by the client, detailed software requirements are developed for the application software components of the system. The Software Requirements Specification Document then functions as a contract specifying the functionality of the software system.
Preliminary Design
The preliminary design phase involves identifying the general application components and specifying the overall system and data flow. We develop prototypes to address any technical issues we feel must be resolved such as the performance of a particular algorithm or the interface with a particular hardware device. The Preliminary Design Document presents the results of this effort to the client and acts as a vehicle for resolving any outstanding issues.
Detailed Design
The detailed design phase involves specifying the application component functionality as well as the interfaces. Any special processing is fully specified down to the psuedocode level. Another part of the detailed design phase involves developing the detailed data model for the system. The deliverable from this phase is the Detailed Design Document as well as the Data Model Specification.
Implementation and Unit Test
Implementation begins after the application and system software components and data have been fully specified. Each developer is responsible for unit testing components as they are developed. Once a software component has passed unit testing as documented by the developer, it is moved to configuration management and becomes part of a project baseline.
Integration and System Test
After individual components have been tested and entered into the configuration management system, software quality assurance personnel perform integration and system testing for the application. Test documents are generated during the project analysis and specification phases and are used to verify the performance of the system with its specifications. To ensure impartial testing, the developer of a software component does not perform software quality assurance for that component.
Formal Acceptance
Once integration and system testing are complete for an application, a formal acceptance process is used to turn the system over to the client. Generally, clients have internal quality assurance personnel who then perform additional integration testing on the system.
The following table illustrates these general phases and associated deliverables. For each phase, the table also includes an estimated percentage of the entire project and the cost type.
Phase |
Deliverable(s) |
Estimated % |
Cost Type |
Business Case Analysis |
Feasibility Analysis Document |
5 |
Time & Materials |
Systems Requirements Specification |
System Test Plan
System Requirements Document |
10 |
Time & Materials |
Software Requirements Specification |
Interface Prototypes
Software Requirements Document
Updated System Test Plan |
15 |
Time & Materials |
Preliminary and Detailed Design |
Preliminary Design Document
Detailed Design Document
Data Model |
25 |
Fixed |
Implementation and Unit Test |
Unit Development Folders |
20 |
Fixed |
Integration and System Test |
System Test Results Document |
20 |
Fixed |
Formal Acceptance |
System Version 1.0 |
5 |
Fixed |
|