View the CRaG Systems Website | Overview | Process Concepts | Process Configurations | Process Glossary | Process Map | View the OMG's UML Website
Model-Driven Development Process
| Business Analysis | Requirements Gathering | System Analysis | System Architecture | Detailed Design |
| Project Management | Project Support | Coding | Testing | Rollout |
Process Configurations
The CRaG Systems software development process is designed to be configurable for both incremental and waterfall development. Process configuration defines which tasks will be performed and which not performed. Additional tasks can be created and existing tasks modified if any aspect of the CRaG Systems process does not fit a particular project and would leave a gap if simply left out.

The following table provides six suggested configurations of the process depending on three possible variables:
  • Whether the software is to be developed internally or contracted to an external development service.
  • Whether the business process that the system will automate is stable and well understood or whether it needs improvement or increased understanding.
  • Whether, in the case of externally developed software, the company wishes to specify the software with the bare minimum of effort or whether reducing the risk of errors in order to get the software as right as possible first time is crucial to the success of the project.
Increments and phases are defined as part of the project plan which is about when tasks are to be performed and, if the process is incremental, to which part of the functional requirements they apply. This is a separate configuration to the process configuration.
Tasks to be performed by project type and process stage Internal Development External Development
New Business Process Stable Business Process New Business Process Stable Business Process
  Less Risk Less Spec Less Risk Less Spec
Project Management
Develop Project Overview
Maintain Risk List
View Estimate Project Task Details
Plan Project
Assess Project
Manage Change Requests
Business Analysis
View Gather Stakeholder Needs Task Details
View Develop Business Process Model Task Details      
View Develop Business Data Model Task Details      
View Define Business Structure Task Details      
View Define Business Rules Task Details        
Requirements Gathering
View Develop Use Case Model Task Details
View Develop Use Case Document Task Detail
View Develop Proof of Concept Prototype Task Detail
View Gather Non-Functional Requirements Task Detail
View Maintain the Glossary Task Details
View Maintain the Data Dictionary Task Details        
System Analysis
View Develop Initial Logical Data Model Task Details
View Develop a Use Case Implementation Task Details
View Develop State  Model Task Details
System Architecture
Define Layers and Subsystems
Develop Task Model
Develop Component Model
Develop Deployment Model
Develop Architectural Patterns
Detailed Design
Design Use Case Implementation
Increment Subsystem Design
Develop Database
Testing
Develop Test Strategy
Develop System Tests
Perform System Tests
Develop Component Tests
Perform Component Tests
Rollout
Create Deliverables
Develop User Documentation
Perform Installation
Develop User Training
Gain User Acceptance
Project Support
Configure the Process
Establish Version Control
Manage Tools
Manage Project Website