Voyager scm

  • View
    231

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Text of Voyager scm

  • Software Configuration Management(SCM)[1.0]VOYAGERL&T Information Technology Ltd.

  • ContentsCharacteristics of Todays Software industrySCM Concepts and terminologyWhy Software configuration management?Requirements of Configuration managementStandard reportsTypical Uses of SCM

  • The Fundamental Law of Configuration ManagementConfiguration Management is the foundation of a software project. Without it, no matter how talented the staff, how large the budget, how robust the development and test processes, or how technically superior the development tools, project discipline will collapse and success will be left to chance. Do Configuration Management right, or forget about improving your development process.

  • Why did the Tower of Babel fail?The Tower of Babel project failed because of lack of communication and organization

  • Today's Software industry characteristics are..

  • Characteristic 1 -Coordination & CommunicationMen and months cannot be interchangedFred BrooksNumber of communication channels increase exponentially with number of team members - the number of coordination problems also increase exponentially with the project size.

  • Communication Channels

  • # Team Members #Communication Channels10213346510....nn*(n-1)/2

  • Characteristic 2 - Software is Easy to Copy00000000

  • Characteristic 3 - ChangesDifferent users / customers have different requirementsGet clarified / known at a later dateChanges to business environmentTechnology changePersonnel whims

  • Characteristic 4 - Personnel TurnoverDevelopers leaveUsers changeFurther Adds to the Coordination problem

  • Resulting ProblemsListing seems OK; program does not workWorks in Bombay, misbehaves in DelhiWe had customized for this client, how do we install the upgrade now?I had fixed this bug last month. How did it re-appear?I havent changed the program. Why is it now blowing up?Which is the latest source? I need to put a patch.In the last month, the user asked for this change and now she does not want itWhere did Gates leave the programs he was working on?

  • Main Classes of ProblemsDouble maintenance problemsShared dataSimultaneous updateMissing / unknown version problem

  • Double MaintenanceMultiple copies of same software in useFix in one- SHOULD FIX IN OTHERSExample- Same set of common routines in two systems- Same system - multiple sitesforget to informsites detect bug at same time and fix differently= = > > DIVERGENCEShould do- Bug fixed in all copies- Fix same bug in identical manner in all copies

  • Shared DataChanges made in one program interfere with proper functioning of other program- Example : subroutines, MW objectsNeed- Control of modifications- Good communications

  • Simultaneous UpdateOne module being worked on by more than one programmer- Changes made by one programmer disappearNeed- Better division into modules- Ensure simultaneous working

  • Missing / unknown Version problemConsciously decide which version to keep, which to destroyUse a systematic method to identify versions and changes across versionsUse consistent back-up procedures?

  • Why Software Configuration ManagementSCM addresses all these issues!!Abracadabra

  • SCM provides visibility into the status of the evolving software product.

    SCM answers the following: Who, What, When, and Why. Who made the changes? What changes were made to the software? When were the changes made? Why were the changes made? Who will benefit from SCM(Importance in descending order) :Software developersProject managers Quality Assurance (QA) personnelTestersCustomer

  • Program Families & ConfigurationsADEBCFACLIENT-1DGBWEFCLIENT-2ApplicationsApplications

  • ADEBCFGWCLIENT-AABCDEFCLIENT-BABDEFGWApplications

  • SCMConcepts & Terminology

  • DefinitionsThe arrangement of a computer system or component as defined by the number, nature, and interconnections of its constituent partsConfigurationThe art of identifying, organizing and controlling modifications to the software being built by a programming team. The goal is to maximize productivity by minimizing mistakes.

    Configuration Management

  • Configuration Management

  • Configuration IdentificationThe approved documentation or description that identifies and defines a configuration item's (CI) functional and physical characteristics in the form of a specification or standard, algorithm or code, and interface control description. ABCD

  • Configuration ControlEvaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification

  • Configuration Status AccountingRecording and reporting of information needed to manage a configuration effectively. Includes a listing of the approved configuration identification, the status of the proposed changes to the configuration identification, and the implementation status of approved changes.CI = 30CR = 2PR = 1

  • Configuration AuditVerifying the following:All required configuration items have been producedThe current version agrees with the specified requirementsThe technical documentation completely and accurately describes that configuration itemsAll change requests have been resolved

  • Requirements of Configuration Management

  • CM RequirementsIdentification of Configuration ItemsEstablishment of BaselinesDocument controlVersion controlManagement of WorkspacesCreation of BuildsBackup & ArchivalManagement of Changes to Baselined Configuration ItemsStatus AccountingConfiguration Audits

  • Configuration Items and BaselinesConfiguration Item- An aggregation of software, documents and data that is treated as a single entity in the configuration management processThere are 3 types of CIs:Baselined Formally reviewed and agreed document/source code, which is basis for, further development. E.g. Requirement specification document, design document etc.Controlled and Managed Documents describing the admin and project Management activities. E.g. Project management plan, task allocation and project schedule documents, coding or GUI guidelinesControlled Documents obtained from the customer which are not managed by us. E.g. reference technical material.

  • What is Baseline?- A item that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change procedures

  • Configuration Items & Baselines - Typical ScenarioDefinition Baseline - Created at the end of Requirement Specifications. Typical configuration items (CI) -- Requirement Specifications- Project Plan- Design Standards / Guidelines- Acceptance Test PlanDesign Baseline - Created at the end of Design. Typical CIs - - System Design Specification- Program Specification- Data Base Design- Coding Standards- System Test Plan- User Manual- User Interface Standards- Testing Standards

  • Code / Unit Test Baseline - Created at the end of coding and unit. Typical configuration items (CI) -- source code- object code- unit test data / scriptsTesting Baseline - Created at the end of system testing . Typical CIs - - System test data- system test scripts- operations manual- installation manual

  • Definition Baseline Creation - A schematicIndividual workspacesInternal review changesDefinition BaselineInternal review WorkspaceCustomer Review WorkspaceFormal change management procedures become applicableConfiguration AuditReview LogReview Log

  • Document controlDocument Control procedure ensures the traceability of all the documents.

    It involves the following tasks:Defining the naming scheme.Updating Document Record List (DCR) of the documents to reflect the changes and assigning of version and release nos.Provides usage of the documents by giving access rights to different folders.MyName isMr.Unique

  • VersionA variant of some artifact; later versions of an artifact typically expand on earlier versions. Version ControlVersion Control ensures the ability to reproduce any version of the software at any given time. It controls versions of source code, executables and documents .It provides version change history to ensure trace-ability.

    A1A2A3A4

  • An operational version of a system or part of a system that demonstrates a subset of the capabilities to be provided in the final product.

  • Work space managementWorkspaces refer to private areas where developers can implement and test code in accordance with the projects adopted standards in relative isolation from other developers.

  • Uncertainty is the only certain in this world.

    Why Backup?

  • Change Control

  • I can make the change directly in the baseline copy. Its just a one line change, so I dont want to fool around with Change Request, check-out, check-in, etc

  • Change ControlRecord of changesApproval of change requests after analysing impacts (impact on retest & review, think it as another proposed)Maintaining of baselinesTraceability between changes and change requests and vice versaIEEE DefinitionAn element of configuration management, consisting of the evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification

  • Change Management ProcessChange request documentedChange request EvaluatedChange request reviewed for approval CCB approvedChange order preparedConfiguration items, tasks, QC required