There’s lots of ways to slice and dice software process. In Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Ian F. Alexander and Neil Maiden show the waterfall model, systems engineering ‘in the large’ , and systems engineering ‘in the small.’
Waterfall Life Cycle Elements
Alexander and Maiden outline the key sequence of steps in the waterfall model based on Royce (1970).
- Requirements Discovery
- Requirements Validation
- System Specification
- System Design
- Coding, First of Class
- Integration & Testing
- Operations & Maintenance
Systems Engineering ‘In the Large’ Phase Sequence
Alexander and Maiden propose a set of macro activities and project phases that represent systems engineering ‘in the large’ to distinguish from the waterfall sequence of steps:
- Explore Concept
- Proof of Concept
- Full Development
- Production
- Installation
- In-service Support
- Disposal
Systems Engineering ‘In the Small’ Activity Sequence
Alexander and Maiden suggest a set of micro activities that represent systems engineering ‘in the small.’
- User Requirements Definition
- System Requirements Definition
- System Design/Architecture
- Preliminary Design
- Detailed Design
- Implementation
- Test and Integration
- Acceptance and Certification
In the Large Process Models
Alexander and Maiden provide an example of ‘in the large’ systems engineering process models:
- Evolutionary model
- Incremental model
- US DoD model
- UK Ministry of Defense CADMID model
- RUP (Rational Unified Process) – (RUP 2003)
- ‘Agile Methods’ (e.g. Extreme Programming (XP))
Evolutionary, Incremental, and High-Risk Model
Alexander and Maiden suggest that you can group the ‘in the large’ process models into the following three models:
- Evolutionary model
- Incremental model
- High-Risk model
Combining Models
Alexander and Maiden suggest that it’s possible to combine models ‘ in the large’ as necessary:
- Evolutionary and Incremental
- Evolutionary and High-Risk
- Incremental and High Risk
- Evolutionary, Incremental, and High Risk
Key Take Aways
Here’s my key take aways:
- By identifying and labeling systems engineering ‘in the small’ and ‘in the large’ you can more accurately and more precisely discuss the two levels of software process.
- Don’t confuse the systems engineering ‘in the large’ with the Waterfall sequence of stages.
- You can use the systems engineering ‘in the large’ and ‘in the small’ activities to define software processes.
- Waterfall Life-Cycle stages include: Requirements Discovery, Requirements Validation, System Specification, System Design, Coding, First of Class, Integration & Testing, Operations & Maintenance
- Systems engineering ‘in the large’ includes the following activities/phases: Explore Concept, Proof of Concept, Full Development, Production, Installation, In-service Support, Disposal
- Systems engineering ‘in the small’ includes: User Requirements Definition, System Requirements Definition, System Design/Architecture, Preliminary Design, Detailed Design, Implementation, Test and Integration, Acceptance and Certification
[…] Waterfall, In the Large, and In the Small No Comments, Comment or Ping […]