28 June 2000P. Mato, CERN1 Software Checklist Proposal for controlling and documenting all the steps in developing software Program of Work Meeting, June

Embed Size (px)

DESCRIPTION

28 June 2000P. Mato, CERN3 USDP: Phases and Iterations u Phases –Inception (feasibility) –Elaboration (“do-ability”) –Construction (building) –Transition (release) u Iterations –Several iterations in each phase –Each iteration: »requirements, analysis, design, implementation & test –Iteration == mini-project requirements analysis/ design implemen- tation testing

Citation preview

28 June 2000P. Mato, CERN1 Software Checklist Proposal for controlling and documenting all the steps in developing software Program of Work Meeting, June 28-19, 2000 P. Mato, CERN 28 June 2000P. Mato, CERN2 Unified Software Development Process * u Use-Case Driven Use cases capture functional requirements. They drive the development process. u Architecture-Centric The software system is developed around an architecture. The architecture ennobles the most significant static and dynamic aspects of the system. u Iterative and Incremental Iterations refer to steps in the workflow Increments are the growth in the product. Software Development Process Users requirements Software system (*) I. Jacobson et al., The Unified Software Development Process, Addison Wesley, 1999 28 June 2000P. Mato, CERN3 USDP: Phases and Iterations u Phases Inception (feasibility) Elaboration (do-ability) Construction (building) Transition (release) u Iterations Several iterations in each phase Each iteration: requirements, analysis, design, implementation & test Iteration == mini-project requirements analysis/ design implemen- tation testing 28 June 2000P. Mato, CERN4 UDSP: Core Workflows 28 June 2000P. Mato, CERN5 Specializing USDP to our situation u Simplification Remove some workers and artifacts to better fit our immature organization and minimize overheads u Workers User-case specifier, Architect, Component Engineer, Test engineer, Librarian u Artifacts Documents: Use-case, analysis & design, test plan, release notes, users manual (if interaction with user) Code: package(s), test programs templates needed!! Predominant during construction phase 28 June 2000P. Mato, CERN6 Component Engineer u Scale of project few days to few weeks u Single person performs the 4 activities u Move to next activity if corresponding document reviewed u Checklist to support process u Templates for documentation are essential Component Engineer Analyses use cases Design component Implement component Implement & Perform test Use case, requirements, problem report Analysis & Design document Component Tests User Manual Release Notes 28 June 2000P. Mato, CERN7 Checklist(s) u The idea is to produce a number of checklists, one for each type of development Bug fix New functionality in existing component New component u The checklist should guide the developer through the agreed workflow Links to the tools to be used Template locations Memo aid Checklist for Bug Fixes Set problem report assigned Analyze bug (reproduce, get more information,) Produce (update) analysis & design documentation Reviewed by ______ date _____ Checkout CVS head revision Implement code Unit test Build on all platforms Run code checker Reviewed by ______ date _____ Write release notes Commit changes to CVS Send request to librarian Write (update) user manual Set problem fixed 28 June 2000P. Mato, CERN8 Proposal u Produce a set of basic checklists for Component Engineer Bug fixes or small enhancements New Components (e.g. Toolbox) New Frameworks (e.g. Conditions Data Framework) u Web or paper based? u The checklists should be designed Not too heavy Easy to be followed Only put things that are useful u Enforce checklist within the Computing Group