EVS Product Development Life Cycle Charles Griffin 9/19/2007
Motivation Need to provide Management with view of various products and product statuses Multiple Products under the EVS umbrella with distributed resources Coordinated product development with unified vision of the product Manageable, predictable, sustainable, quality products Must be able to exchange or inject resources amongst the various products with repeatable results
Software Development Process Modified Unified Process & Agile Unified Process Iterative, incremental Development with shorter, multiple releases (Sprint) Goal: Allows flexibility to respond to user needs during development process But: Maintain requirements stability for one iteration Process adapted for CBIIT and can be modified further if need be Explicit and frequent intra and inter-team communication Agreed on documentation maintained and current Risk Management Determined at the beginning of each iteration Monitor weekly ( Gforge Usage Document &language_id=1 &language_id=1
Software Development Life Cycle Phases Dev Test
Iterations and Releases The Agile Unified Process distinguishes between two types of iterations. A Development Release Iteration results in a deployment to the Quality Assurance and/or Demo area. A Production Release Iteration results in a deployment to the Production area
Inception Activities/Deliverables Kick Off meeting Product Plan Communications Scope Document Gforge Location Main EVS Gforge Site Docs EVS Cross Product Documentation Management 129&selected_doc_group_id=2068&language_id=1
Elaboration: Activities and Deliverables Activities / Deliverables Gforge Location Docs -> Project -> Version Refined Scope Features/Requirements Use Cases/Mock Ups Level of Effort (LOE) Task/Iteration Plan Test Plan Architecture/Design Doc Prototype Development -> Requirements -> Scope.doc Gforge Feature Request Tracker Development -> Requirements -> Use Case.doc Gforge “Feature Request” and “Bug” Tracker(s) Development -> Management -> TaskPlan.mpp Gforge “Release Development Items” Tracker QA -> Test Plan.doc Development -> Management -> ArcGuide.doc Subversion
Elaboration: Gforge Tracker Movement Feature Requests Bugs Release Development Items “Contains In Scope Items for Iteration”
Elaboration: Timing and Milestones When After Inception Starts before the end of each construction iteration One or more iterations Milestones Scope Document Signed Off Task Plan Baseline Signed Off
Construction: Activities and Deliverables Activities /Deliverables (***Per Iteration) Gforge Location Docs -> Project -> Version Detail Design/Mockups Design Review Code/Unit Tests Code Review Deployment Instructions QA Test Cases/Review QA Test Execution/Bug QA Test Support/Bug Fixes Integration/Regression Test Staging Deployment/UAT Development -> Design -> *.html, *.doc, etc… Subversion Gforge Release Development Items Tracker Deployment -> QA -> / Deployment -> Staging QA -> TestCases.xls Gforge “Bugs” Tracker Gforge “Bugs” Tracker / Subversion Gforge “Bugs” Tracker
Construction: Timing and Milestones When Near end or after Elaboration One or more iterations Milestones Iteration Code Complete Deployed to QA Deployed to Staging UAT Complete
Transition: Activities and Deliverables Activities / Deliverables Gforge Location Docs -> Project -> Version Documentation Guides Release Notes Production Deployment Production Support Guides Gforge Feature Request Tracker Development -> Requirements -> Use Case.doc Gforge “Support” Tracker / Subversion
Transition: Timing and Milestones When Starts near the end of a Production construction release iteration Milestones Submit Draft Guides to Tech Writing Team Guides Finalized Production Deployment Sent to Systems Team Production Deployment Complete
Current EVS Projects as of 9/19/2007