6
Testing & Configuration Management From the beginning of our software engineering organization to our current Capability Maturity Model ® (CMM ® )Level 5 quality practices, the implementation of the software configuration management (SCM) discipline combined with management and engineering practices has been critical to our weapon-system software sustainment activities. The focus of this article is to discuss how SCM adds value to our organization by establishing and main- taining continuity of the engineering workflow and provides information to help establish a strong SCM function in maturing software organizations. ® The Capability Maturity Model and CMM are registered in the U.S. Patent and Trademark Office. Faith Turner Scientech, Inc.

Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

Software Configuration Management: A Discipline with Added ValueTresa Butler, Verla Standley, Elaine Sullivan Ogden Air Logistics Center, Technology and Industrial Support

Testing & Configuration Management

The word “Kaizen” is a Japanese termused to define the discipline of con-

tinuous improvement. For example whenan automotive assembly line is consideredto be perfect, it is pushed past its limitsuntil a malfunction occurs; the anomaly isfound and corrected, and then the limitsare tested again. When applied in theworkplace, Kaizen means continuingimprovement involving everyone – man-agers and workers alike.

Software configuration management1

(SCM) is the one discipline where devel-opment, sustainment, support, and soft-ware Kaizen are accomplished to achievequality products. SCM defines, imple-ments, and manages product life cycles byplanning, identifying, controlling, audit-ing, and improving the elements by whichthey are created.

During the early years of our SoftwareEngineering Division (TIS) at Hill AirForce Base, Utah, SCM was not a termcommonly used. Most engineers wereaware of SCM, but would prefer to ignoreit. SCM meant processes and procedures.The engineers were there to write softwareand did not want to be bothered withprocess and paperwork. Every individualor team had their own way of doingthings, resulting in little work uniformity.They did, however, want to have qualitysoftware with as little rework as possible.

This desire to provide quality softwareforced us to look at how we did businessand to search for ways to improve.Management chose to use the SoftwareEngineering Institute’s CapabilityMaturity Model® (CMM®), and after aninitial review began building towardprocess improvement. This decision really

introduced SCM as a key process for bet-ter software to everyone within the divi-sion. In order to become a CMM Level 2organization we needed to have consistentpolicies for managing our software proj-ects. The standards set by the CMM forthis level were requirements management,software project planning, software projecttracking and oversight, software subcon-tract management, software quality assur-ance, and SCM.

During our CMM implementation,software quality assurance became tied toSCM and evolved as a major player with-in the structure of the organization. Thiswas not an easy road for the SCM team.Many people within the division did notwant the change and did not want theextra demands that SCM would put onthem. It meant being accountable forevery line of code as well as documentingevery change.

Until this point, each engineer wasaccountable for his or her own configura-tion management. Now it was necessary tohave a separate group of individuals withthe sole purpose of providing qualityassurance as well as managing the elementsof each project injected into the processes.

It meant following a process that wasrigid enough to keep everyone on the sametrack, but flexibile enough to allow eachteam to develop its products based on cus-tomer demands. Over time, SCM hasbecome the discipline that assures qualitysoftware. In short, SCM has become theglue to an organization that produces qual-ity products.

Developing the GlueDuring the developmental stages of ourweapon-system software activities, SCMplays a major role in planning and manag-

ing the schedules and milestones used dur-ing the project life cycles, as well as identi-fying product configuration items (CIs).Within TIS, SCM defines and records theorigin and details involved in the incep-tion of the product by establishing base-lines. When SCM disciplines are used dur-ing this initial developmental stage of theproduct life cycle, it is comparable to theparable of the man who built his houseupon the rock. A solid SCM disciplineprovides a firm foundation upon whichsoftware development and sustainment areachieved.

It is during the sustainment stage ofweapon-system software activities that theSCM discipline provides consistency andstrength. It is no longer adequate to simplycreate a product using a set of establishedground rules and guidelines; now a struc-tured enforcement of processes is a must.SCM provides continuity to the workflowby establishing the processes and proce-dures for controlling and auditing CI’sthroughout the product life cycle to ensurequality, integrity, and accountability levelsare met and maintained.

SCM plays an integral part in schedul-ing, attending, and recording pertinentinformation during the definition portionof the project. SCM enhances the sustain-ment stage of the product by carefullytracking each software activity, thus blend-ing in integrity and quality throughrepeatable auditing and data control.Establishing traceable metrics to trackcosts, identify weaknesses, and determinerecovery capabilities ensures SCM as avalue-added entity to the product life cycleof our organization. It assures that everyrequirement, problem, action item, etc., istracked to closure, and that metrics datafor each of these activities are updated.

From the beginning of our software engineering organization to our current Capability Maturity Model®

(CMM®)Level 5 quality practices, the implementation of the software configuration management (SCM) disciplinecombined with management and engineering practices has been critical to our weapon-system software sustainmentactivities. The focus of this article is to discuss how SCM adds value to our organization by establishing and main-taining continuity of the engineering workflow and provides information to help establish a strong SCM functionin maturing software organizations.

4 CROSSTALK The Journal of Defense Software Engineering July 2001

® The Capability Maturity Model and CMM areregistered in the U.S. Patent and Trademark Office.

Faith Turner Scientech, Inc.

Page 2: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

Report Documentation Page Form ApprovedOMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering andmaintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, ArlingtonVA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if itdoes not display a currently valid OMB control number.

1. REPORT DATE JUL 2001 2. REPORT TYPE

3. DATES COVERED 00-00-2001 to 00-00-2001

4. TITLE AND SUBTITLE Software Configuration Management: A Discipline with Added Value

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S) 5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Ogden Air Logistics Center,Software Engineering Division,6137Wardleigh Road,Hill AFB,UT,93943

8. PERFORMING ORGANIZATIONREPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited

13. SUPPLEMENTARY NOTES CROSSTALK The Journal of Defense Software Engineering, July 2001

14. ABSTRACT

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT Same as

Report (SAR)

18. NUMBEROF PAGES

5

19a. NAME OFRESPONSIBLE PERSON

a. REPORT unclassified

b. ABSTRACT unclassified

c. THIS PAGE unclassified

Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

Page 3: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

SCM maintains a configuration statusaccounting (CSA) record of requirementscompliance, cost control, source lines ofcode, and more. This data is used in infor-mation exchanges such as program manage-ment reviews to make well thought-out,informed decisions. SCM’s data manage-ment of workflow, as well as maintenanceof product life cycles, provides sustainmentfor past, present, and future projects.

The Life Cycle WorkflowWithin our organization, the SCM func-tion defines, implements, and managesproduct life cycles by planning, identify-ing, controlling, and auditing the currentworkflow. Having a well-defined processhas enabled us to adapt new hardware andsoftware workloads into our organization-al workflow.

One thing that has proven to be verybeneficial to our organization is the abilityto tailor our formal configuration manage-ment (CM) process to the needs of eachindividual project. This way each individ-ual team does not have to adhere to strictprocedures; instead, each team is allowedflexibility within their own programs.SCM has been very helpful to each teamin setting up procedures that comply withthe process, but also fit individual needs.Following is an outline of that workflowprocess:Planning: Management utilizes SCM toestablish and maintain CM and projectplans that define project activities anddeliverable work products. This includesprocesses and procedures for the life spanof the project. SCM is used to attend andrecord project directives, schedules, datarequirements, peer reviews, and configura-tion control boards (CCB). These boardsdefine milestones, deliverable work prod-ucts, and cost and schedule.

Within our organization, the CCB isheld prior to initiation of any work todefine requirements, schedules, and deliv-erables, which are incorporated into aproject directive and project requirementsdocument. These signed documents repre-sent the agreement between our organiza-tion and our customer defining projectmilestones and deliverables. CM config-ures these documents for referral through-out the life of the project, and these docu-ments are reviewed periodically for addi-tions/deletions.

Identifying: Upon completion of theupper level planning, the CSA database ispopulated by SCM to begin the task ofidentifying each configuration item and tobegin gathering metrics for the life-cycleupdates. By obtaining metrics for pro-posed work products, SCM provides man-agement and engineering with the neces-sary data to make judicious decisionsregarding weapon-system software sustain-ment activities. This is the heart of thecontinuous process improvement of ourLevel 5 organization.

The SCM team works with the pro-gram managers to identify the project’sCIs. SCM populates the tracking databas-es by creating work products and theirrelated data management objects andensures that all requirements approvedduring the planning state are incorporatedinto the update. This requires creation,maintenance, and closure of work prod-ucts for schedules, engineering changeproposals, system design change requests,subsystem design change requests, soft-ware change requests, source lines of code,etc. The database then provides pertinentinformation for accumulating proposedweapon-systems upgrades.

Our organization uses our CSA systemto record many types of metrics as well asactual man-hours and lines of code dedi-cated to each change request produced.These actual metrics are later used whenaccessing assets and manpower for newworkloads. Figure 1 is a sample project

report that includes the project identifier,project name, engineer assigned to theproject, man-hours, lines of code, andother information that may be requiredduring project development. There areseveral other reports that can be pulled toshow the status of projects, percent com-plete, and other valuable metrics.Controlling: SCM enforces control of CIsby establishing processes and proceduresto maintain accountability of configuredsoftware enhancements throughout thelife cycle of the upgrade. Incremental con-figuration at each stage/milestone ensuresincorporation of approved source codeand maintains traceability of knownanomalies. Within our organization, theCM functions to update the CSA databaseat intervals during the product life-cycle,providing a current snapshot of the pro-gram at any given time. This means thatwhen addressing both current andarchived projects, the historical dataregarding incremental releases describesduring which phase anomalies were iden-tified, along with in which release theanomalies were corrected.

Figure 2 (see page 6) is an example ofa Software Change Request (SCR) form asit is recorded within our database. Withinthis process several metrics are recordedfor future use. Dates are tracked as eachmilestone is passed such as the completionof a final peer review and the approval ofthe CCB, as well as the man-hours spentreviewing SCRs, time spent in peer

July 2001 www.stsc.hill.af.mil 5

Software Configuration Management: A Discipline with Added Value

Figure 1: Sample Project Report

Page 4: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

reviews, number of action items, their pri-ority, source lines of code, and memorychanges.

Anomalies are found during varioustesting phases. As they are detected theengineer responsible for finding the errorenters them into the database. The databaseassigns the anomaly a tracking number afterwhich the anomaly becomes a configureditem. SCM tracks the error until it is fixedor determined not to be an error. Figure 3is an example of a report used to show thestatus of anomalies.Auditing: SCM produces audits at incre-mental steps throughout the software-building process to ensure quality, integrity,and adherence to established processes andprocedures. Additionally, SCM incorpo-rates quality assurance throughout the lifecycle of the product by being a separateentity and maintaining continuity andaccountability of the engineering work-flow. Our CM processes include auditsand quality checks ensuring that specifica-tions are being updated incrementally assoftware lines of code are being developed.

An example of these audits within ourorganization occurs after a change requesthas been reviewed, comments recorded,and the author has accomplished a re-editto include peer review comments. Ourpeer review process requires that an auditof the document be performed to ensure

that the author incorporated all theapproved changes. If the audit is notpassed, the change request repeats this stepof the process.

One of our lessons learned occurredwhen a customer provided us with docu-mentation that required an upgrade priorto releasing new software. The customerrequirements were vague and undefined

and did not include all CI and identifiersneeded. Additional hardware modificationrequirements were not identified untilafter we began upgrading the software.Identifying, correcting, and implementingthe anomaly at such a late date impactedthe software release cycle. To prevent thisanomaly from reoccurring, a correctiveaction to tailor SCM processes resulted ina preliminary review of all documentation.This has eliminated 90 percent of theproblems we had previously encountered.This resulted in the CCB receiving a bet-ter product to review and more accurateestimates of program cost/schedule.

Tools and MetricsTools are one of the key capabilities with-in our software sustainment environment.Tools provide the identification and con-trol of the software and its related compo-nents as they change during the software’slife cycle. There are numerous off-the-shelfSCM tools available in today’s market,some of which we use in our organization.But we have developed many organic toolsto comply or adapt specifically to ourprocesses and corporate culture. There aretraditional CM tools that provide check-in/check-out control of code as well as theability to compile or build. Within ourorganization we have tools that provideprocess management such as the ability totrack anomalies and provide problem

Testing & Configuration Management

6 CROSSTALK The Journal of Defense Software Engineering July 2001

Figure 3: Anomoly Status Report

Figure 2: Software Change Request (SCR) Form

Page 5: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

reports. We also have commercial off-the-shelf tools that have been tailored to fitinto our process and provide us with thenecessary quality checks and balances.

One of the key areas within SCM isstatus accounting. To have true CM, toolsare required to track the status of all CIsas well as problems or anomalies. We havedeveloped tools within our organizationthat provide the ability to track severalcomplex systems as well as to collect dataand generate numerous reports. Thesetools also provide versatility in adaptingto a variety of different workloads. One ofthe advantages of an organic tool is theability to adapt or to change the tool asnew requirements come in or as processesare updated.

An example of a new requirementadded to our database recently is the TapeHistory dialog box shown in Figure 4.This history helps us to track the baselineused to develop the current update of theOperational Flight Program (OFP). Ittracks all version releases of the softwareidentified by the OFP IdentificationNumber and the dates they were com-piled. As a result this has helped us totrack baselines for individual subsystems

and enables us to pull reports for thosewho need this information.

Throughout the different stages ofprocess improvement, from being aCMM Level 1 to a CMM Level 5 organ-ization, we have learned many valuablelessons. One of the most valuable beingthe importance of creating your processesand then buying or developing a tool thatcompliments that process. If you buy atool without knowing where you aregoing and what your overall goals are, youend up having to adapt your process to fitthe tool. That may not be the best foryour organization.

One of the benefits of a good statusaccounting tool is the metrics and reportsthat can be obtained. This has been verybeneficial to our organization and to ourcustomers. We are able to track estimatedcosts, man-hours, source lines of code,anomalies, memory requirements,rework, and much more. This gives us theability to compare estimated data to actualdata. It is this historical information thatgives us a solid track record and helps usgreatly in bidding on future workload, aswell as supplying our customers with infor-mation in creating project requirements.

TrainingTraining for each member of the SCMteam is a must. SCM is an evolving field.Not only is it necessary to keep up withnew ideas and tools, but to keep up withthe industry on how SCM is being inter-preted by the world or even in other partsof our own division. In order to providecustomers with current processes and pro-cedures, we must be aware of changes andimprovements made within the industry.This enables assigning appropriateauthorities and responsibilities to allSCM activities within our organizations.

Management, engineers, and configu-ration managers must understand theprocesses within their respective organiza-tions. It is necessary to be knowledgeableenough to tailor SCM practices to theneeds of each customer/workload.Configuration managers are involved inall stages of development; they mustbecome an integral part of the process.Here, they are depended on for theirexpertise in decision making to facilitateprocess improvement and provide a qual-ity assurance role. Detailed knowledge,formal training, and on-the-job experi-ence result in the ability to recognizeproblems – to stop work, address issues,correct problems, and continue movingahead. When problems are encountered,knowledgeable configuration managersare invaluable in resolving issues. Sometraining examples that benefit our organ-ization follow: • First is mentorship between trained

pesonnel and new/untrained personnel. • Second is CM training courses. These

courses give a broad overview of SCMand usually benefit anyone interested inbecoming knowledgeable of basic SCMfundamentals.

• Third, and most importantly, is on-the-job training, which provides the mostinsight to SCM processes and proce-dures.

Properly trained SCM personnelresult in procedures that produce repeat-able quality products. Members of theSCM team are not technical or engineer-ing people. The team is comprised ofindividuals who are competent in theskills needed to provide insight and back-ground to SCM policies and procedures.Within our organization, this has provid-ed an avenue for individuals to pursue the

July 2001 www.stsc.hill.af.mil 7

Software Configuration Management: A Discipline with Added Value

Figure 4: Operational Flight Program Tape History

Page 6: Testing & Configuration Management Software Configuration Management… · 2011. 5. 14. · From the beginning of our software engineering organization to our current Capability Maturity

set criteria for developing configurationmanagement skills, which results inopportunities for advancement. Propertraining creates knowledgeable configura-tion managers who can teach others thevalue of the SCM discipline. Trained con-figuration managers perform their dutieswith confidence and professionalism.These software professionals make theSCM discipline a vital function in matur-ing a software organization.

ConclusionMaintaining a SCM discipline is criticalto our CMM Level 5 software sustain-ment activities. Proper implementation ofSCM enables us to plan, identify, control,and audit product life cycles. SCM alongwith management and engineering guideour organization to continuously improveour ability to meet expectations of highquality, low cost, and on time deliveries.

Continuous improvement, or Kaizen, canbe achieved when practitioners are pro-vided with proper tools, adequate train-ing, and empowered with a qualityprocess.u

Note1. Configuration management definition

is as defined by the ConfigurationManagement Training Foundation(CMTF), Magalia, Calif.

Testing & Configuration Management

8 CROSSTALK The Journal of Defense Software Engineering July 2001

TTrreessaa BBuuttlleerr is a software configuration manager at the Ogden AirLogistic Center, Software Engineering Division at Hill Air ForceBase, Utah. She has worked for the Department of Defense for 13years with the past nine years in data management and softwareconfiguration management. She participated in the software con-figuration team that was assessed by the Software EngineeringInstitute as a Capability Maturity Model Level 5. She is currentlythe Software Configuration Management lead for F-16Operational Flight Programming workload. Butler attendedWeber State University and plans to continue her education in thefall.

6137 Wardleigh RoadHill AFB, UT 84056-5843Phone: (801) 777-6809DSN: 777-6809E-mail: [email protected]

FFaaiitthh TTuurrnneerr is a software configuration manager contractedthrough the F-16 (SPO) at Ogden Air Logistics Center in Utah,to provide configuration management support for software devel-opment at Hill Air Force Base (HAFB). She played an integral roleon the software configuration management team during a SoftwareEngineering Institute assessment that resulted in the firstCapability Maturity Model Level 5 rating at a government organ-ization. Turner has 16 years experience in the configuration statusaccounting and configuration management field. She has been amember of the F-16 software configuration management team forsix and one-half years. Turner attended Texas Women’s Universityand is continuing her education at Park College, HAFB.

Scientech, Inc.6137 Wardleigh RoadHill AFB, UT 84056-5843Phone: (801) 775-3104 DSN: 775-3104E-mail: [email protected]

VVeerrllaa SSttaannddlleeyy is a software configuration manager for theAutomatic Test Equipment (ATE) in the Software EngineeringDivision at Hill Air Force Base. She has worked for the govern-ment for 22 years and has been a configuration manager for 10years. Standley was a member of the software configuration teamthat was assessed by the Software Engineering Institute as aCapability Maturity Model Level 5. For the past three and one-halfyears she has been the Software Configuration Management leadover the ATE workload. Verla attended Weber State College andhas taken several configuration management classes.

7278 4th

StreetHill AFB, UT 84056-5205Phone: (801) 777-0960DSN: 777-0960E-mail: [email protected]

EEllaaiinnee SSuulllliivvaann is a software configuration manager in the OgdenAir Logistics Center, Software Engineering Division at Hill AirForce Base, Utah. She has been involved with configuration of F-16 software since 1988 and is currently the Software ConfigurationManagement lead over the Avionics Intermediate Shop Workload.Sullivan developed and implemented the configuration process forher area and was instrumental in writing the configuration process-es for the division and branch. She was an integral part of the soft-ware configuration team during a Software Engineering Instituteassessment that resulted in the first Capability Maturity ModelLevel 5 rating at a government organization. She has an associate’sdegree from Ricks College, Rexburg, Idaho.

6137 Wardleigh RoadHill AFB, UT 84056-5843Phone: (801) 775-2878 DSN: 775-2878E-mail: [email protected]

“If I had to sum up in one word what makes a good manager, I’d say decisiveness. You can use thefanciest computers to gather numbers, but in the end you have to set a timetable and act.”

– Lee Iacocca

About the Authors