Development Guidelines: 4 - Design Phase
Learn about the fourth phase, Design, of a systems development methodology
4.0 Design Phase
4.1 The general design should capture and document a technology-independent view of the business process to automate as well as preliminary planning of other aspects of the project:
- Business flow
- Data structures
- Data and procedure interaction
- Reports
- Screens
- Prototypes
- Data conversions
- Interfaces to other systems
- Preliminary training plan
- Preliminary test plan
- Preliminary implementation plan
- Coding and other approriate infrastructure standards, such as conformance to campus data administration standards as they are developed
- Technical architecture (development, testing, training, production environments, and capacity planning)
- Preliminary contingency plan
- Access and authorization plan
- Operations plan
4.2 Review general design
- Business expert review
- Quality assurance review to assure all requirements are being met
- System architect to ensure that all designs are compatible and free of integrity problems and that technical architecure is viable
4.3 Detail design
In this phase, you should identify technical specifications for all software objects to be built and finalize other plans.
4.3.1 Technical specifications for:
- Screens
- Reports
- Batch routines
- Callable modules
- Data structure implementation
- Data integrity implementation
- Conversions
- Interfaces
- Technical architecture
4.3.2 Plans to be finalized:
- Training
- Testing
- Implementation
- Configuration management (includes version control, code migration, security, application server)
- Contingency plan
- Disaster recovery
- Capacity growth
- Access and authorization plan
- Operations plan
4.4 Review detail design
- Business expert review
- Quality assurance review to assure that all requirements are met and standards have been followed
- System architectural review to ensure that designs have no integrity problems and are compatible and that technical architecture is viable
4.5 Rapid application development
Rapid application development is a technique that can be viewed as a merging or blending of the detail design step and the development phase. It is used to speed up the development process. Prototypes of screens or processes can be built that capture the detailed requirements and provide preliminary software objects for eventual implementation. This can be an iterative process, and can be controlled by using techniques such as "time-boxing" or limiting the number of iterations.