200 likes | 356 Views
PRJ480 Mastering the Management of Iterative Development v2. Module 4: Phase Management - Elaboration. Module 4 Objectives. As a project progresses through phases and iterations, describe the changing emphasis of Project Management by:
E N D
PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration
Module 4 Objectives As a project progresses through phases and iterations, describe the changing emphasis of Project Management by: • Understanding Elaboration objectives, milestones, and evaluation criteria. • Understanding principal Elaboration activities and artifacts, and their uses. • Understanding the risk-reduction focus. • Understanding how change is managed by the team.
Elaboration Primary Objectives: • Baselining the architecture as rapidly as practical • Baselining the vision • Baselining a plan for the Construction phase with the increased accuracy made possible by removing the highest risks • Demonstrating that the baseline architecture will support the vision at a reasonable cost in a reasonable time frame Essential Activities: • Refining the vision • Refining the process and infrastructure • Refining the architecture and selecting components
Elaboration Considerations • Phase Focus • Architecture tested • Architecture baselined • Architectural risk mitigated • Product requirements refined
Elaboration Considerations • Measurements • Progress 25% • Expenditures (rate) Moderate • Staffing Ramp up • Stability Moderate • Modularity 25%-50% • Adaptability Varying • Maturity Fragile
Elaboration Essential Artifacts • Prototypes • Risk List • Development Process • Development Infrastructure • Software Architecture Document • Design Model (and all constituent artifacts) • Data Model • Implementation Model (and all constituent artifacts, including Implementation Elements) • Vision • Software Development Plan • Iteration Plan • Use-Case Model (Actors, Use Cases) • Supplementary Specifications • Test Suite ("smoke test") • Test Automation Architecture
Elaboration is Risk Driven • Update the Risk List • Risk mitigation drives iterations in the Elaboration phase
Primary Requirements Artifacts • Features: services that support user needs • Main audience: stakeholders and project team • Documented in the Visionartifact • Functional Requirements: specifying interactions with system users • Main audience: users and project team • Modeled in the Use-Case Modelartifact • Supplementary Requirements: specifying functionality, usability, reliability, performance, supportability requirements, and design constraints • Main audience: architects and designers • Documented in the Supplementary Specificationsartifact
Requirements Affect Architecture • Supplementary requirements strongly influence the architecture. • Functional requirements (use cases) are implemented to validate the architecture. • During Elaboration, selected use cases (or parts of use cases) are implemented to exercise the architecture being baselined.
Registrar Student Course Catalog Billing System Professor Example of a Use-Case Model A University Course Registration System Register for Courses Select Courses to Teach Maintain Professor Information Maintain Student Information Close Registration
Use Cases as a Basis for Iteration Planning Constraints Project Planning (Project Manager / Architect) Use-Case Model Iteration Plan Fine-grained plan for a single iteration Supplementary Specifications During Elaboration, use cases are implemented to validate the architecture.
Artifact Baselining Baselined artifact: A reviewed and approved release of an artifact that constitutes an agreed basis for further evolution or development • The artifact can only be changed through a formal procedure, such as change management and configuration control. • The natural timing for updating a previously-baselined artifact is at the end of an iteration.
Changing a Baselined Artifact Change Product Change Product Architecture/Design Requirements Proposed Requirements Proposed Arch/Design Change Request Change Request CCB Composition: Change Acceptance by Executive Manager CCB Marketing/User Manager Project Manager Architect Postponed Change System Analyst Request Approved Change Request Record for Next Rejected Change Product Release Request Incorporate Changes into Baselines Plan Next Iteration using New Baseline
Discussion: Change Control Board • What are characteristics of a successful CCB?
Elaboration% Management 12 Environment/CM 8 Requirements 18 Design 36 Implementation 13 Assessment 10 Deployment 3 Total 100 RUP Distribution of Skills by Phase Percentage of effort by activity for the Elaboration phase.
Elaboration Evaluation Criteria • Is the vision stable? • Is the architecture stable? • Does the executable demonstration show that the major risk elements have been addressed and credibly resolved? • Is the Construction phase plan of sufficient fidelity, and is it backed up with a credible basis of estimates? • Do all stakeholders agree that the current vision can be met if the current plan is executed to develop the complete system in the context of the current architecture?
Elaboration Phase Management Issues • Using the same person as the PM and the Architect • Putting your head in the sand
Elaboration Phase Recommendations • Don’t aim for a perfect solution since this is an engineering problem. • Look for the 80% solution that satisfies competing technical, social, and economic forces. • With an iterative approach, the entire development environment must be in place for the first release. • The project cannot defer finalizing CM and test policies and tools until later in the project.
Exercise: Collegiate Sports Case Study Refer to the Exercises section of your workbook and complete: Exercise 4: Risk Mitigation
Module 4 Review • The main objective of Elaboration is to achieve a stable vision and architecture. • Elaboration is risk-driven. • Important Elaboration artifacts include: • Risk List • Software Development Plan • Iteration Plan/Assessment