Subsections
- Larger processes/methodologies:
- Rational Unified Process (RUP)
- Object-Oriented Software Process (OOSP)
- OPEN Process
- Lightweight/agile processes:
- XP (Extreme Programming)
- Cockburn's Crystal Family
- Open Source
- Highsmith's Adaptive Software Development
- Scrum
- Coad's Feature Driven Development
- DSDM (Dynamic System Development Method)
Larger/heavier processes are typically built around the Unified Modeling Language, or UML.
- Create a product that users want.
- Make the process manageable and predictable.
- Capability Maturity Model (CMM) from the Carnegie-Mellon University Software Engineering Institute defines five levels of "maturity".
- Traditional development process: Waterfall (Analysis, Design, Code, Test).
- Spiral process (Risk Analysis/Systems Analysis/User Feedback, Design, Code, Test/User Feedback).
- Objectory - defines the four project phases of Inception, Elaboration, Construction, Transition.
- Completion of each Objectory phase marks a major milestione.
- Objectory uses iteration to make complex projects possible.
- The process defines ways to make iterative projects manageable.
- Model the system before developing it (in the same way an architect models a new facility before building it).
Figure 1.8:
Steps of the Capability Maturity Model.
|
|
|