140 likes | 902 Views
From Inception to Elaboration. Chapter 8 Applying UML and Patterns -Craig Larman. Objectives. Elaboration is the initial series of iterations during which the team does the following Serious investigation Discover & stabilize major requirements Mitigate/retire risks ( business value )
E N D
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman
Objectives • Elaboration is the initial series of iterations during which the team does the following • Serious investigation • Discover & stabilize major requirements • Mitigate/retire risks ( business value ) • Build core architecture elements • Estimate overall schedule and resources • Establish a supporting environment
Inception - Artifacts and Activities (1) • Short Requirements workshop • Naming most actors, goals, use cases • Keep use cases brief (10-20% are in fully dressed) • Identify most risky & influential quality requirements • First version of Supplementary Specification and vision are written
Inception - Artifacts and Activities ( 2 ) • Risk list (including deadlines on demo) • Technical feasibility investigation (does the requirements supported by our used technology? ) • UI oriented prototypes to clarify vision • Buy/build/reuse components (ex: recommendations to buy a tax calculator) • High-level candidate architecture (a rough estimate of various accessories; a java front end? ) • Plan for the first iteration • Candidate tools list
Elaboration - Key Ideas • Not a waterfall model ! • Two to six weeks for each iteration • Timeboxed iterations (deadlines should be strictly maintained) • Each iteration products ends in a stable and tested release
Architecture Prototype/Baseline • Not a partial system • Evolutionary prototype of final product • Don’t create throw-away prototypes • Production subset of final system • Also called Executable Architecture
Best Practices • Start programming early • Adapt based on feedback from tests, users, developers • Design, implement and test adaptively • Test early and realistically • Requirements and use case details through series of workshops (once per iteration)
Requirements and Iterations ranking depends on…. • Risk -includes technical complexity and other factors. • Coverage -whether all major parts are covered or not. • Criticality -functions of high business value.
Ranking • Rank work across iterations • High ranking scenarios in early iterations (ex: process sales, logging, etc.) • Rank adaptively
UP Artifacts planning • Iteration Plan:- only the next iteration is planned • Change Request:- plan written in greater detailed whenever necessary • Software Development Plan:- overall requirement ranking is recorded.
Artifacts starting in Elaboration (this will not be completed rather refined over iterations) • Domain Model (conceptual class diagram) • Design Model (logical design: class diagram, object oriented diagram, etc.) • Software Architecture Document (summary of ideas and motivations) • Data Model (database schemas..) • Test Model • Implementation Model (source code, databases and so on. ) • Use-Case Storyboards and UI Prototypes (description of user interfaces, navigations etc.
Inception and Elaboration • Main output is a stable software architecture, that enables quality planning of Construction and Deployment • 15 to 25 percent of total project cost
You didn’t Understand Elaboration When … • No Timeboxed schedule • Single Iteration • Most requirements already defined • No Risk mitigation/resolution • No Executable Architecture • Requirements Phase • Attempt full and careful design
You didn’t Understand Elaboration When (2)... • Minimal feedback and adaptation • No early and realistic testing • Frozen Architecture • No Proof-of-concept programming • No multiple requirements workshops