An Agile UP Introduction.pdf

25 434 0
An Agile UP Introduction.pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

An Agile UP Introduction.pdf

Agile UP 9/27/2002 An Agile UP: Introduction Craig Larman www.craiglarman.com www.valtech.com Copyright © 2002 Craig Larman All rights reserved speaker background ? www.craiglarman.com ? Roles at IntellAgile & Valtech Underway: Agile and Iterative Development: A Manager’s Guide Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 UP Overview www.craiglarman.com www.valtech.com Copyright © 2002 Craig Larman All rights reserved Defining our Terms: UP and RUP ? The RUP process framework is a detailed, updated refinement of the more general UP process framework ? RUP lead architect: Philippe Kruchten ? Some use the term “UP” for “UP family” — those related to (and consistent with) the UP process framework, especially the RUP Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 UP Practice #1: Develop Iteratively iteration 2-6 weeks inc elaboration phase construction transition Work in early iterations emphasize: • Risk • Criticality (high business value) • Coverage (many components are touched) Copyright © Craig Larman www.craiglarman.com UP Practice #1: Develop Iteratively Reqs Design inc elaboration Implement construction transition Throwaway Prototype Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 UP Practice #2: Continuously Verify Quality Copyright © Craig Larman www.craiglarman.com UP Practice #3: Build a Cohesive Architecture Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 UP Practice #4 and #5: Manage Requirements and Manage Change Copyright © Craig Larman www.craiglarman.com UP Practice #6: Model Visually 10 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 Other Key UP Ideas UP Disciplines Requirements Design Implementation Test Iterations Deployment Discipline Optional Artifacts 11 Copyright © Craig Larman www.craiglarman.com Other Key UP Ideas 12 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 Business Modeling Domain Model Use-Case Model Requirements Data Model Design Model Design 13 Copyright © Craig Larman www.craiglarman.com Useful, Common UP Artifacts Use Cases Vision Requirements Supplementary Specification Software Architecture Doc Design Risk List Project Management 14 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 When Work Products are Needed use the UP Vocabulary ? Vision ? Use Case Model ? Supplementary Specification ? Software Architecture Document 15 Copyright © Craig Larman www.craiglarman.com Producers Domain Model Sale timeStamp Developer or Analyst Consumers Register Captured-on ProductCatalog Subject Matter Expert Developer domain concepts Use-Case Model : System Process Sale Developer or Analyst : Cashier Customer arrives Cashier makes new sale Subject Matter Expert make NewSale() system events System Sequence Diagrams Use Cases use-case realization with interaction diagrams Process Sale Cashier enterItem (id, quantity) Developer Use Case Diagrams Design Model : Register : ProductCatalog makeNewSale() Developer create() Developer : Sale enterItem(id, quantity) spec := getSpecification( id ) addLineItem( spec, quantity ) Data Architect Register makeNewSale() enterItem( ) 16 ProductCatalog 1 getSpecification( ) : ProductSpecification the design classes discovered while designing UCRs can be summarized in class diagrams Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 Use Case Model Use Handle Returns Customer arrives : System Process Sale : Cashier Customer arrives Cashier makes new sale system events make NewSale() Process Sale Cashier enterItem (id, quantity) System Sequence Diagrams Use Cases Use Case Diagram 17 Copyright © Craig Larman www.craiglarman.com Domain Model Records-sale-of Described-by Product Specification Product Catalog Contains 1 * 1 description price itemID Used-by * Describes * Sales LineItem * Store Item Stocks quantity 1 * address name Logscompleted ? Contained-in * Sale 1 Houses Register time Paid-by Payment Manager Started-by 1 Captured-on 1 * * date * 1 Initiated-by Customer ? Records-sales-on Cashier amount 18 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002 Design Model : Register : ProductCatalog makeNewSale() create() : Sale enterItem(id, quantity) spec := getSpecification( id ) addLineItem( spec, quantity ) Register ProductCatalog makeNewSale() enterItem( ) getSpecification( ) : ProductSpecification Domain Sales Register Pricing Sale ServiceAccess Payments Services Factory CreditPayment Inventory POSRuleEngine «interface» IInventoryAdapter «interface» ICreditAuthorization ServiceAdapter Taxes «interface» ITaxCalculatorAdapter POSRuleEngineFacade Technical Services Persistence DBFacade Log4J Jess SOAP 19 Copyright © Craig Larman www.craiglarman.com Data Model «Table» Manufacturer «PK» OID : char(16) Name : varchar(100) City : varchar(50) * PK - primary key FK - foreign key «Table» ProductSpecification «PK» OID : char(16) Description : varchar(100) «FK» Manu_OID : char(16) Applies a UML Profile 20 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 10 Agile UP 9/27/2002 Deployment Model : TaxServer «process» : TaxCalulator : Client «process» : JVMPOS-client : InventoryServer : Client SQL «process» : JVMPOS-client «process» : Inventory 21 «database» : Oracle9i Copyright © Craig Larman www.craiglarman.com Notation vs Method Models Sale Payment 1 Pays-for Raw UML class diagram notation used in an essential model visualizing real-world concepts date time amount UP Domain Model UP Design Model Sale Payment amount: Money getBalance(): Money 22 Pays-for date: Date startTime: Time getTotal(): Money Raw UML class diagram notation used in a specification model visualizing software components Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 11 Agile UP 9/27/2002 Three Modeling Perspectives (Cook & Daniels) Sale Conceptual date time Sale date: Date startTime: Time Specification getLineItems : List of LineItem Sale dateTime: java.util.Date Implementation getLineItems : java.util.List 23 Copyright © Craig Larman www.craiglarman.com Modeling Perspectives in a Sequence Dgm : Sales : Shipping placeOrder() UP Business Model (conceptual) requestShipment() : Register : Sale makePayment (cashTendered) makePayment(cashTendered) 24 UP Design Model (spec/impl) Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 12 Agile UP 9/27/2002 UP Adaptation ? In at least areas: Requirements Design Plan Process Great moments in evolution 25 Copyright © Craig Larman www.craiglarman.com Adaptive Planning in the UP A, B C, D E, F G, H I, J K, M N, O P ? Project is at this point (in the middle of an iteration) A, B C, D E, F, ? ? ? ? MILESTONE: A date (perhaps months in future) and set of objectives is established 26 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 13 Agile UP 9/27/2002 Mitigate High “ Risks Risks”” Early 27 Copyright © Craig Larman www.craiglarman.com Mitigate High “ Risks Risks”” Early Iter Risk 28 Iter Iter Iter n-1 Iter n Product Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 14 Agile UP 9/27/2002 Early Realistic Verification Early evaluation —> early feedback —> •adaptation and better fit •provable reliability •early defect removal 29 Copyright © Craig Larman www.craiglarman.com Follow the UP Phases •Vision & biz case •Scope •Lo-fi plan & est •“10%” reqs •Candidate arch Inception •Req workshop •Macroestimation wk 30 •Baseline proved architecture is built •Hi-fi plan & est •“80%” reqs in detail Elaboration •Design & build high-risk elements • Req workshop 2, •Micro-estimation Iter1 Iter2 Iter3 wk wk wk •Operational system •Docs •Deployed system Transition Construction •Design & build the rest •Minor req changes •Prep for deploy •Pilot tests Iter1 wk •Beta tests •Conversion •Training •Deployment Iter20 wk Iter1 Iter2 wk wk Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 15 Agile UP 9/27/2002 Follow the UP Phases ? The key distinctive idea is the elaboration phase ? Early iterations to discover and refine the core architecture and requirements while also implementing the production core of the system ? Believable macro-level plan and estimates at the end of elaboration, not during inception 31 Copyright © Craig Larman www.craiglarman.com Follow the UP Phases Inception ? Requirements Phase Elaboration ? Design Phase Construction ? Implementation Phase Transition ? Integration/QA Phase 32 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 16 Agile UP 9/27/2002 Elaboration vs Construction? Elaboration-ish Construction-ish The distinction between elaboration and construction iterations is fuzzy, and often unimportant on a project Time Iteration risk On some projects, a milestone decision to stop or to submit the bidding for out-sourced development 33 requirements instability Copyright © Craig Larman www.craiglarman.com Elaboration vs Construction? ? Therefore, ask yourself: “Is there some real practical reason I need to distinguish between elaboration and construction?” ? Often, the answer is no Fine ? Then we have: 34 Inception—a few days or weeks to vaguely comprehend the project goals and scope “Development”—a series of iterations, driven by risk, that continue until transition Transition—beta test and deploy Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 17 Agile UP 9/27/2002 Where Possible, Incremental Delivery ? Partial system in production, early ? Difficult with embedded or device systems; easy with web sites month “development cycle” #1 Inception Elaboration Construction Transition iteration 35 #2 Inception Elaboration Construction Transition #3 Inception Elaboration Construction Transition Copyright © Craig Larman www.craiglarman.com Why the UP? www.craiglarman.com www.valtech.com Copyright © 2002 Craig Larman All rights reserved Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 18 Agile UP 9/27/2002 History and Rationale ? The UP has rapidly emerged as a world- wide de facto industry standard for modern process ? Groups within many leading companies are adopting it ? IBM, Chase-Manhattan, Telia, Valtech, Alcatel, MCI, British Aerospace, Sprint, Volvo, Intel, Merrill, E&Y, Deloitte, Ericsson, 37 Copyright © Craig Larman www.craiglarman.com History and Rationale Why acceptance? ? It is good—combines most popular modern best practices (e.g., iterative development) ? Perceived as coming from modern process experts ? It is cohesive and well documented ? HTML ? Books 38 based RUP product Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 19 Agile UP 9/27/2002 History and Rationale Why acceptance? ? Flexible ? Many organizations have “process fatigue” and just want to adopt a good “turn key” solution 39 Copyright © Craig Larman www.craiglarman.com How to Fail with the UP www.craiglarman.com www.valtech.com Copyright © 2002 Craig Larman All rights reserved Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com 20 ... arman.com Agile UP 9/27/2002 UP Practice #4 and #5: Manage Requirements and Manage Change Copyright © Craig Larman www.craiglarman.com UP Practice #6: Model Visually 10 Copyright © Craig Larman www.craiglarman.com.. .Agile UP 9/27/2002 UP Overview www.craiglarman.com www.valtech.com Copyright © 2002 Craig Larman All rights reserved Defining our Terms: UP and RUP ? The RUP process framework... © Craig Larman www.craiglarman.com Other Key UP Ideas 12 Copyright © Craig Larman www.craiglarman.com Copyright (c) 2002 Craig Larman All rights reserved www.craigl arman.com Agile UP 9/27/2002

Ngày đăng: 14/09/2012, 10:51

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan