Dr. Ernest Wallmüller Wolfgang Höh Rule 8 Configuration Management Qualität & Informatik www.itq.ch Copyright Qualität & Informatik 2005
Software Configuration Management (S) The process of identifying, organizing, and controlling changes to the software during development and maintenance.! S is a support activity that makes technical and managerial activities more effective! S operates throughout the SW life-cycle Copyright Qualität & Informatik / www.itq.ch 2
Basics! Building a configuration from configuration items! Unique identification of a configuration! Change history (Release tree) abc-1.0 abc-2.0 Copyright Qualität & Informatik / www.itq.ch 3
Milestones and Baselines Milestone A milestone is the end of a stage or phase of a project at which one or more deliverables are actually delivered. Baselines A baseline is that collection of items which when complete indicates that a milestone in the development process has been reached. Copyright Qualität & Informatik / www.itq.ch 4
Typical Baselines Phase Feasibility study Requirements definition SRS, Interface spec. Detailed design Source and Object code User manuals Test documents Installation Baseline Functional baseline Allocated baseline Design baseline Product baseline Operational baseline Copyright Qualität & Informatik / www.itq.ch 5
Configuration Identification! Identify what the different baselines will consist of! Set labeling and identification conventions for the CIs Copyright Qualität & Informatik / www.itq.ch 6
Basic CI information! Item identity! Baseline to which it belongs! Relationships to other items! Version! Variant Copyright Qualität & Informatik / www.itq.ch 7
S Terminology Version a SW CI having a defined set of functional capabilities. Revisions changes to a version to correct only errors in design logic but does not affect documented functional capabilities since none of the requirements have changed. Variants a variation of a version developed to run on different types of HW, or to provide slightly different facilities for different users. Copyright Qualität & Informatik / www.itq.ch 8
Examples successive versions 1.1 1.2 1.3 1.4 branching versions (variants) 1.3.1.1 1.3.1.2 1.1 1.2 1.3 1.4 Copyright Qualität & Informatik / www.itq.ch 9
Basics in Copyright Qualität & Informatik / www.itq.ch 10
Context Measurements, analyses Information needs Configuration items; change requests All process areas Baselines; audit reports Quality and noncompliance issues es and work products; standards and procedures Copyright Qualität & Informatik / www.itq.ch 11
SW Development Overview: Rule 9 () Phase A Phase B Phase C Phase D Phase E Phase F P- Review 2 URS Handover of URS to PL-DP P- Review 3 Start Development KICK OFF SRS P- Review 4 (SRS- Review) DDS- Review Draft Architectural Design Complete Software Design Design- Review SDD- Review SW-Design Approval 09_ Impl. and Module Test Integration and Integration Test α n- Version Check Completeness of Deployments System Test Function Test Applic. Test P- Review 5 M Tryout Representative βa, β B, β C,.. GPM: Beta Version Release Review β1, β 2, β 3,.. Type Approval P- Review 6 Final Version Copyright Qualität & Informatik / www.itq.ch 12
- Policy / Scope / Purpose! Policy According to the Standard Software Development the policy establishes the following: Identifying the configuration of selected work products that compose the baselines at products given points in time Controlling changes to configuration items Building or providing specifications to build work products from the configuration management system Maintaining the integrity of baselines Providing accurate status and current configuration data to all stakeholders (developers, QA, product integrators, end users, and customers)! Scope All software-producing units in AVL SBU MES.! Purpose The purpose of Configuration Management is to establish and maintain the integrity of work products using configuration Identification, configuration control, configuration status accounting, and configuration audits. Copyright Qualität & Informatik / www.itq.ch 13
Exercise: Familiarization! Method: Plenum! Timing: 10! Form: Brainstorming and discussion! Documents: none! Deliverable: Documentation on flipchart (Trainer)! Questions: I. What are you experiences with Product Integration? II. What worked well in the past? III. What did not work so well? Copyright Qualität & Informatik / www.itq.ch 14
Exercise: Roles, Activities, Work Products! Method: Individual! Timing: 15! Form: Individual elaboration! Documents: Rule 8; form: next foil! Deliverable: Filled in form Question: I. Based on your experience, the prior discussion and the process definition list the involved roles, the performed activities, and the produced work products. Copyright Qualität & Informatik / www.itq.ch 15
Roles, Activities, Work Products Roles Activities Work Products Copyright Qualität & Informatik / www.itq.ch 16
Roles, Activities, Work Products Roles G CCB PL-DP R IT ST Activities Establish a Plan Establish a and CR System Identify Configuration Items Create or Release Baselines Track Change Requests Control Configuration Items Establish Configuration Management Records Provide Reports Work Products Reviewed Plan Environment in Environment in CR system Configuration items attributes (change time, modifier, CR ID, etc.) Documented Baseline in system Daily Build Report Test Reports Recovery report of the complete project infrastructure and content Copyright Qualität & Informatik / www.itq.ch 17
with Practices Establish Baselines Establish a Plan Establish a and CR System Create or Release Baselines Configuration Management System Track and Control Changes Change Request Database Change Requests Track Change Requests Establish Integrity Establish Config. Mgmt Records Provide Reports Control Configuration Items Status Audit Results Action Items Copyright Qualität & Informatik / www.itq.ch 18
Tasks 1/3 Practice Task Work Products Establish a Plan Establish a and CR System Identify Configuration Items Create or Release Baselines Track Change Requests Create a Plan Establish the System Establish the CR System Identify Configuration Items Create or Release Baselines Assignment of Change Requests to Baselines Plan Environments in system (Harvest) Environment in CR System (ClearQuest) Plan with configuration items Documented Baseline in Harvest CR assigned to baseline History of CR Copyright Qualität & Informatik / www.itq.ch 19
Tasks 2/3 Practice Task Work Products Control Configuration Items Control/Record changes to configuration items. Assign changes of configuration items to CR IDs Verify Configuration Item Integrity through daily builds Verify Configuration Item Integrity through Smoke Tests and Regression Tests History of configuration item attributes like modifier, modification date, CR ID, etc. (provided by system) Daily Build Report Integration Test Reports Copyright Qualität & Informatik / www.itq.ch 20
Tasks 3/3 Practice Task Work Products Establish Configuration Management Records Perform Configuration Audits Record configuration management actions Provide Reports Assess the integrity, completeness and correctness of the baselines Confirm compliance with applicable Standards and procedures. Changes of CI attributes as well as changes of the content are recorded by the system ( Tool) Baseline reports including status and history (provided by system) ( Tool) Build and Test Reports for specific Baselines (Alpha, Beta, etc.) Recovery report of the complete project infrastructure and content plan approved by PL-DP (prior DR 3) Action List Copyright Qualität & Informatik / www.itq.ch 21
Configuration Management use of Terms The Plan describes classes of items to be put under version control. Configuration Items are uniquely identified in the System (date, time, author, item marked as base version if based on a branch or CR reference given for new items) Snapshots in System that can be used as baseline for a new environment (=branch) or are used to label a certain set of configuration items for approved versions (alpha, beta, final, etc.). Change requests (CR) - new or changed requirements - and defects are assigned to specific products and versions (alpha, beta and final) (=> CCB decision). The history of every change request (creation, assignment to developer, solution history,) is tracked in the CR system Copyright Qualität & Informatik / www.itq.ch 22
Exercise: Task Description! Method: Group work! Timing: 20 group work, 15 presentation & discussion (comparative discussion of group results)! Form: Group elaboration! Documents: Rule 8:! Deliverable: Task description on flipchart! Question: I. Describe the selected task _T05: Identify Configuration Items using the presented description technique ("next foil). Copyright Qualität & Informatik / www.itq.ch 23
Task Description Technique Input ID Task Name Description Roles Tools Method/Technique Output Copyright Qualität & Informatik / www.itq.ch 24
Task Details Identify Configuration Items Input CRs Technical Data Defined Resources ID _T05 Roles G Task Name Identify Configuration Items Description Define classes of configuration items Work products delivered to the customer Internal Work Products Third Party Products Tools Assign unique Identifiers and Attributes Attributes are: Creation Date, Modification Date, Author, Reason for Change Resp. for task _T05 Tools Template: Template _Configuration Management Plan.dot System (Harvest) Method/Technique not specified Output Identified CRs Identified CIs in Plan Deficiency List in Plan Copyright Qualität & Informatik / www.itq.ch 25
Rule 8: Work Products and Templates WP Id Type Description Task Id Resp. Link to Template _W01 M Reviewed Plan _T01, G Template _Configuration Management Plan.dot _T02 _W02 M Environment in _T03 G n.a. system _W03 M Environment in CR _T04 G n.a. system _W04 M Documented Baseline _T06 G n.a. in system _W05 O Daily Build Report _T08 R n.a. (generated) _W06 O Test Reports _T09 IT n.a. (generated) _W07 M Recovery report of the complete project infrastructure and content _T10 G Example see: \\nfs08\mesproj\development_standards\4003_ MI\04_OPAL\Best_Practice\ Example ConfigurationRecoveryPlan_001.doc Copyright Qualität & Informatik / www.itq.ch 26
Rule 8: Concluding Discussion What was important for you concerning this Rule? Copyright Qualität & Informatik / www.itq.ch 27
Any Questions Copyright Qualität & Informatik / www.itq.ch 28