- Stakeholder concurrence on scope definition and cost/schedule estimates.
- Requirements understanding as evidenced by the fidelity of the primary use cases.
- Credibility of the cost/schedule estimates, priorities, risks, and development process.
- Depth and breadth of any architectural prototype that was developed.
- Establishing a baseline by which to compare actual expenditures versus planned expenditures.
•Elaboration The primary objective is to mitigate the key risk items identified by analysis up to the end of this phase. The elaboration phase is where the project starts to take shape. In this phase the problem domain analysis is made and the architecture of the project gets its basic form.
The outcome of the elaboration phase is:
- A use-case model in which the use-cases and the actors have been identified and most of the use-case descriptions are developed.
- The use-case model should be 80% complete.
- A description of the software architecture in a software system development process.
- An executable architecture that realizes architecturally significant use cases.
- Business case and risk list which are revised.
- A development plan for the overall project. Prototypes that demonstrably mitigate each identified technical risk.
- A preliminary user manual (optional)
- Is the vision of the product stable?
- Is the architecture stable?
- Does the executable demonstration indicate that major risk elements are addressed and resolved?
- Is the construction phase plan sufficiently detailed and accurate?
- Do all stakeholders agree that the current vision can be achieved using current plan in the context of the current architecture?
- Is the actual vs. planned resource expenditure acceptable?
•Develop software iteratively
–Plan increments based on customer priorities and deliver highest priority increments first.
–Explicitly document customer requirements and keep track of changes to these requirements.
•Use component-based architectures
–Organize the system architecture as a set of reusable components.
•Visually model software
–Use graphical UML models to present static and dynamic views of the software.
•Verify software quality
–Ensure that the software meet’s organizational quality standards.
•Control changes to software
–Manage software changes using a change management system and configuration management tools.
You can also view:
1. Boehms Spiral Process Model
2. Rapid Application Development-RAD
3. Prototyping Process Model
4. Incremental Process Model
5. Component Based Software Engineering
6. Evolutionary Process Development Model
7. Waterfall Process Model
8. Software Process Framework Activity