I. From inception to elaboration (Larman Ch. 8) what happened during the inception phase? ------------------------------------------ FROM INCEPTION TO ELABORATION (Ch 8) Purpose of elaboration: - find and stabilize most requirements - mitigate or retire the major risks - implement improved core architecture elements - estimate the overall schedule and resources ------------------------------------------ A. onwards (8.2) is elaboration a design phase? are the models fully developed in the elaboration for the construction step? ------------------------------------------ KEY IDEAS AND BEST PRACTICES (Larman p. 109) Overall: - short timeboxed risk-driven iterations - start programming early - adaptively design, implement and test the core and risky parts of the arch. - test early, often, realistically - adapt based on feedback from: tests, users, developers - write most of the use cases and other requirements in detail For the architectural design: - identifying the processes, layers, packages, and subsystems, and their high-level responsibilities and interfaces - defining details of all inter-module interfaces - integrating existing components - implementing scenarios that use many parts ------------------------------------------ ------------------------------------------ TESTING Important for feedback Example in StickSync: ------------------------------------------ B. Planning the next iteration (8.3) ------------------------------------------ HOW TO ORGANIZE WORK IN ITERATIONS (8.3) Rank use cases to implement by criteria of: - risk - coverage - criticality Do the highest ranked ones first plus a use case for "Start Up" ------------------------------------------ C. our case study (8.4) What are the use cases for the StickSync system? How would you rank these and why? How much of the highly ranked requirements could be done by three to four people in two weeks? D. artifacts started in elaboration (8.4) (skip) ------------------------------------------ ARTIFACTS STARTED IN ELABORATION (8.5) - Domain model - Design model - Software Architecture Docuement - Data Model - Test Model - Implementation - Use-Case Storyboards - User Interface Prototypes ------------------------------------------ E. questions (8.6) how long should the elaboration phase take? can the elaboration phase be just one iteration? does there have to be production code programming? is the elaboration phase mostly a requirements phase? Is everthing supposed to be fully and carefully designed before any code is written? does there have to be testing in the first iteration? Is elaboration the same as prototyping?