View
217
Download
2
Embed Size (px)
Citation preview
Presentation abstract:
A brief introduction to Software Configuration Management (SCM) systems is given and a comparison made of the advantages and disadvantages of 'homegrown' systems against standard systems such as CMplus (from Unisys) and SQA (from Arkdata). Mr. Furmaniuk will then explain how you can evaluate which is best for your organization and, finally, present some customer experiences from several SQA installations around the world.
Offering a unique way of managing complex information systems, SQA is a powerful tool designed to help you optimize systems resources more easily than you could ever imagine. The SQA tool automatically maintains the proper version of source code and executables in controlled libraries,between the Developer to Quality Assurance and finally to Production. The tool includes release management, version control, change management and more.
1. Introduction to Software Configuration Management (SCM)2. “Home-grown” and standard systems3. Introduction to CMplus4. Introduction to SQA5. SQA installations around the world.
Agenda
Huge amount invested in legacy IT systems.
180 billion COBOL lines (The Gartner Group)+ billions Assembler, Fortran
and other languages
Difficult, expensive, time consuming to rewrite application with the same functionality on another platform(even if the estimate of time IS correct!)
Because of this and because the businessprocess is constantly changing, programmaintenance is and always will be with us.
It is better, therefore, to successfully managethis maintenance and development in the mostefficient manner to the satisfaction of all.
SoftwareConfigurationManagement
"COBOL is still the most widely used programming language
in business with a tremendous impact on the international
economy, and on peoples' daily lives as well."
The Gartner Group
Definition Definition Definition Definition Software Configuration Management 1. Distinct, secure repository for source code2. Multiple registration of one element to several amendments (tasks) 3. Automatic transfer to Production (only changed programs)4. Detailed database of all changes 5. Detailed database of all releases6. Detailed historical database for auditing7. Local procedures can be integrated8. Paperless Change Administration9. Clearly defined limits between the Development, QA & Production areas10. All elements and changes archived (forever)
“Who made changes in the IT system, why, what and when”.
Configuration Management historyConfiguration Management history
MainframeMainframe MainframeMainframe
MainframeMainframe
19701970 19801980
19901990MainframeMainframe
20002000
Purpose Purpose
IImprove the development environment for complex maintenance-sensitive
IT systems
Secure systems in production
Meet management and audit requirements
Save money (improve productivity)
Accounting consists mainly of information about which program instructions are changed and which processing criteria are the basis for these changes..
This applies to all changes which occur, regardless of the size of the change. This applies to all changes which occur, regardless of the size of the change.
Auditors’ RequirementsAuditors’ RequirementsAuditors’ RequirementsAuditors’ Requirements
Changes in the IT systemChanges in the IT system
Application 1
Application 2
Application 3
Application 4
Application 5
External
Auditors’ RequirementsAuditors’ Requirements
An SCM for OS2200OS2200Standard tool and homegrownStandard tool and homegrown
CMplus from UNISYSCMplus from UNISYSSQA from ARKDATASQA from ARKDATA
”HGSHGS” (the generic homegrown system) (the generic homegrown system)
Part 1. Requirements List (RL) 1. Internal list 2. Request one from supplier (review and update to meet your local requirements)
Part 2. Evaluation 1. Do I need to evaluate the tool? (A full evaluation can cost more than the tool) 2. Get references instead of evaluation 3. Have a standard tool installed on site and check if the system meets your requirements
How to evaluateHow to evaluate
1. Request RL from supplier (review and update RL to meet your local requirements). 2. Install the tool on the site & check whether it meets your requirements. If not, the contract should unequivocally state that the purchase need not proceed.
Our recommendationOur recommendation
DisadvantagesDisadvantages
Home-grown tool• Never accepted by auditors as an SCM• Often developed from a 70’s base • Often developed (e.g. @SSG) by technicians a long time ago without real-life experience of maintaining applications• Often no longer developed (difficult / arcane language)• Needs investment if key people quit
Standard tool• Initial investment • Often management do not understand why it is needed• Must train people• Initial take-on• Resistance to change from some staff
AdvantagesAdvantages
Home-grown tool• Probably 100% knowledge of using the tool • Fits in the environment and “we know what we have” feeling
Standard tool• Developed by people who have worked for years with a CM tool and applications • Ongoing development and meets future challenges• Often richly featured • Releases resources for the real development
Conclusion Conclusion
A Standard tool is in the long run:• Cheaper • Safer for IT department• Kept up to date with new releases OS2200• Less human dependent
Standard SCM tool makes it easier to organizecurrent work and all future activities.
Standard tool Standard tool
Objections
“It is impossible to gather the necessary resources to get started with the new SCM system. It is best to leave everything as it is. We don’t have time! We have managed this this way for (25 - 30 years).”
Comment:An SCM should be regarded as a help tool which pays for itself very quickly. A short period of effort ensures worry-free maintenance for many years to come!
SCM BenefitsSCM Benefits
An SCM is just a clever system which takes care of other systems. It’s that simple.
* reduces errors* increases control* increases visibility of changes* improves productivity* improves resource allocation* improves planning/budgeting* improves security* reduces administrative burdens* reduces risk
What is “Configuration Management Program Librarian For Unisys Systems (CMplus)?”
Not Just a Source Control Tool…
CMplus is Unisys Designed for ClearPath IX/2200 3GL Business Applications Providing… Application
Building
Problem Problem TrackingTracking
Quality Quality AssuranceAssurance
Application Application InstallationInstallation
Software Configuration Software Configuration ManagementManagement
CMplusCMplus
Create
ManageOrganize
CMplusCMplus
Create
ManageOrganize
Application Building
Problem Problem TrackingTracking
Quality Quality AssuranceAssurance
Application Application InstallationInstallation
Software Configuration Software Configuration ManagementManagement
CMplusCMplus
Create
ManageOrganize
CMplusCMplus
Create
ManageOrganize
. . . . .
UNISYS
SystemA collection of elements which are used for a specific purpose, e.g. payroll
ElementMain program, sub-program, schemasubschema, proc, runstream, MAP,
LINK, SSG, RDMS-relations, etc.
DefinitionsDefinitions
TaskA collection of elements which are to be
altered to effect a particular change.
One change can be broken into several tasks.
One task can be connected to several changes.
One task can be linked to release ID
DefinitionsDefinitions
Production source libraryProduction source library Production executable libraryProduction executable library
SYS*PR3.
SYS*PR2.
SYS*OMN.
SYS*RUN.
SYS*ONL.
SYS*ABS.
SYS*RLM.
SYS*RLS.
SYS*PRC.
SYS*SYM.
SYS*ARCCML.
SYS*SAVDIV.
SYS*SAVRUN.
SYS*SAVPR2.
SYS*SAVPR1.
SYS*SAVPRC.
SYS*SAVSYM.
SATC*ARCHIVE.
SYSC*ADDECL.
SYSC*RUNECL.
SYSC*INCLUDE.
SYSC*SUBREL.
SYSC*MAINREL.
SYS*A9999DIV.
SYS*A9999RUN.
SYS*A9999ONL.
SYS*A9999ABS.
SYS*A9999RLM.
SYS*A9999RLS.
SYS*A9999PRC.
SYS*A9999SYM.
CURRENT SCHEMA
CURRENT SCHEMACURRENT SCHEMA
140
220140
Quality Assurance environmentQuality Assurance environment
120
SYS*W.
SYS*B9999DIV.
SYS*B9999RUN.
SYS*B9999ONL.
SYS*B9999ABS.
SYS*B9999RLM.
SYS*B9999RLS.
SYS*B9999PRC.
SYS*B9999SYM.
Development environmentDevelopment environment
Clearance levelClearance level
DEVELOPMENTDEVELOPMENT PRODUCTION CONTROLPRODUCTION CONTROL
TESTTEST QUALITY ASSURANCEQUALITY ASSURANCE
AND PC-WORKSTATIONAND PC-WORKSTATION
MAINFRAMEMAINFRAME
COMPONENTSCOMPONENTSApplication manager
Analyst/programmer
Analyst/programmer
QA/User
Operational manager
SQA databaseSQA database
Current status of application
Administration of application
Administration of release
Processing criteria, the basis for changes
Application background and process history
In the SQA database, facts are collected aboutwhat was altered in the production program, why, when and by whom.
SQA100 MENU 2000-02-20 09:02 IRS MARTINSBURG 958225000000 2099-12-31 SQA VERSION R3.1 MAINTENANCE ( Key in Identity) 110.....Task register/update ( space for new task, or task #) 111.....SC production dates ( task #) 112.....Transmittal memo ( task #) 120.....Element register/update ( task #) 130.....Compilation/Mapping ( task #) 140.....Produce exec for production ( task #) 150.....View element reg. to task ( task #) 135.....Promote copy/sub-routine ( task #) 160.....Maintenance of element ( element id) ----------------------------------------------------------------------------- A = Maintenance B = QA (ITCC) C = Production (NTC) D = Query E = Management F = Technical F1=HELP F3=END SESSION Select Transaction 100 With identity A User.......... KRFU Password..... System........ PS1 Language..... ENG
Compiling & MappingCompiling & Mapping
SQA130 COMPILATION / MAPPING PS1 2000-02-20 09:14 Task(1)....... 37 DB-env........ <P,K,MT807> Request....... space = comp + map of program in Element(2) *.* = comp + map all in task *M* = comp mpg in Element(2) and all Task(1) subs +New copy/call. If new copy/call/subscema added in task you must put 'Y' in New copy/call Element(2).... PS1M01 PS1C10 PS1M02
Autocheck..... Y <Y=result of comp/map via message transaction 199> Printer....... < if you want compilelist to be printed> Breakpoint.... PS1*A0037BPC. < choose another ex. PS1*JOHN.> Run used...... PS1*W.CM0037 < used run for compile, can be restarted put in your own elementname if you want> ----------------------------------------------------------------------------- 140 = Prod. exec 420 = Ended tasks 110 = Reg. task 430 = Ongoing tasks 460 = Structure F1=HELP F3=MENU F9=PREVIOUS TRANSACTION Select Transaction 130 With identity 37
SQA199 MESSAGES PS1 2000-10-28 13:53 Sent by....: SQA723 Reference..: RESULT OF COMP/MAP IN DEV-ENV. Subject....: SYSTEM: PS1 , TASK: 0024 Date&time..: 20000916 095905 User.......: SS Name.......: SVEN SVENINGSSON PS1C10 , END PDP WARNING: 000 MINOR: 000 ERROR: 000 PS1M01 , END ACOB WARNING: 000 MINOR: 000 ERROR: 000 PS1M02 , END ADMLP WARNING: 000 MINOR: 000 ERROR: 000 PS1M02 , END ACOB WARNING: 000 MINOR: 000 ERROR: 000 PS1M01 , END MAP WARNING: 000 MINOR: 000 ERROR: 004 PS1M02 , END MAP WARNING: 000 MINOR: 000 ERROR: 004 ----------------------------------------------------------------------------- XXX = Hit enter 420 = Ended tasks 450 = Element info 130 = Compile 430 = Ongoing tasks 460 = Stru F1=HELP F3=MENU F7=PREV. MESS. F8=NEXT MESS. F9=PREV. TRANSACTION Transaction....... 199 Identity..... R <R>
Result of compiling & mapping with *.*Result of compiling & mapping with *.*
Registering a transmittal memoRegistering a transmittal memo
SQA112 TRANSMITTAL MEMO PS1 2000-02-20 09:11 Page 1 / 8 Identity....: 37 Date.. 20000220 Code <D=Delete> All Service Center Directors Director, Martinsburg Computing Center Attention Systems Control Point Chief: JOHN BROWN SUBROUTINES (AS IN TASK) MAIN PROGRAMS (AS IN TASK) ------------------------------------------------------------------------------ 120 = Reg elt 430 = Ongoing tasks 100 = Main men 450 = Elt info 420 = Ended task F1=HELP F3=MENU F6=PRINT F7=PREV.PAGE F8=NEXT PAGE F9=PREV. TRANSACTION Select Transaction: 112 With identity: 35 Page updated
THE WORK FLOWTHE WORK FLOW
Development, program test documentation
Development, program test documentation
Transfer of executables to productions centersTransfer of executables to productions centers
Coordination of changes on the section level
Coordination of changes on the section level
Coordination of changes on computer center level
Coordination of changes on computer center level
MAINFRAMEMAINFRAMECOMPONENTSCOMPONENTS
Coordination of changes for QACoordination of changes for QA QA-activitiesQA-activities
Register changesand copy software
elements
Changesautomatically
recompiled and integrity checked
Changesaccepted byQA section
Transfer changedcomponents
back to production
Confirmchanges
completed
Changes scheduledfor transfer to
production
Transfer changedcomponents to
QA environment
FIT Environment FIT Environment
MCC*ADDECL.
MCC*INCLUDE.
MCC*SUBREL.
MCC*MAINREL.
MCC*RUNECL.
PRODUCTION LIBRARYPRODUCTION LIBRARY SAT ENVIRONMENTSAT ENVIRONMENT
SYS*PR3.
SYS*PR2.
SYS*OMN.
SYS*RUN.
SYS*ONL.
SYS*ABS.
SYS*RLM.
SYS*RLS.
SYS*PRC.
SYS*SYM.
SYS*ARCCML.
SYS*SAVDIV.
SYS*SAVRUN.
SYS*SAVPR2.
SYS*SAVPR1.
SYS*SAVPRC.
SYS*SAVSYM.
SATC*ARCHIVE.
SATC*ADDECL.
SATC*RUNECL.
SATC*INCLUDE.
SATC*SUBREL.
SATC*MAINREL.
SYS*A9999DIV.
SYS*A9999RUN.
SYS*A9999ONL.
SYS*A9999ABS.
SYS*A9999RLM.
SYS*A9999RLS.
SYS*A9999PRC.
SYS*A9999SYM.
CURRENT SCHEMA
CURRENT SCHEMACURRENT SCHEMA
FUTURE SCHEMA
FUTURE SCHEMAFUTURE SCHEMA
140
DE
VE
LO
PM
EN
T220140
ITCC ENVIRONMENTITCC ENVIRONMENT
120
SQA*CQLPRC.
SQA*CDLPRC.
SQA*CFPPRC.SQA*CQAPRC.
SQA*CDEPRC.
SQA*CQLRLS.
SQA*CDLRLS.
SQA*CFPRLS.
SQA*CQARLS.
SQA*CDERLS.
NTC 320
135+
- 320
SQA*X-SCXMIT.
SQA*X-ELTFILE.
SQA*X-MEMOFILE.
INTERFACE SQA-TRASMITTAL
CULCUL
COMMON USED NON PRODUCTION LIBRARY
SYS*W.
SATF*ARCHIVE.
SATF*ADDECL.
SATF*INCLUDE.
SATF*SUBREL.
SATF*MAINREL.
SATF*RUNECL.
PRODUCTION PRODUCTION
MCC*ADDECL.
MCC*INCLUDE.
MCC*SUBREL.
MCC*MAINREL.
MCC*RUNECL.
SQA*E-SCXMIT.
SQA*E-ELTFILE.
SQA*E-MEMOFILE.
SYS*C9999DIV.SYS*C9999RUN.
SYS*C9999ONL.
SYS*C9999ABS.
SYS*C9999RLM.
SYS*C9999RLS.
SYS*C9999PRC.
SYS*C9999SYM.
SYS*B9999DIV.
SYS*B9999RUN.
SYS*B9999ONL.
SYS*B9999ABS.
SYS*B9999RLM.
SYS*B9999RLS.
SYS*B9999PRC.
SYS*B9999SYM.
IRSIRS
PRODUCTION LIBRARYPRODUCTION LIBRARY
MTONL*PROC3.
MTONL*PROC2.
MTONL*OMN.
MTONL*RUN.
MTONL*TIP.
MTONL*ABS.
MTONL*RLM.
MTONL*RLS.
MTONL*PROC.
MTONL*SYM.
MTONL*W.
MTONL*SAVDIV.
MTONL*SAVRUN.
MTONL*SAVPROC2.
MTONL*SAVPROC1.
MTONL*SAVPROC.
MTONL*SAVSYM.
TIP$*QATEST.
UCOB
PRODUCTION PRODUCTION
MTONL*A9999DIV.
MTONL*A9999RUN.
MTONL*A9999TIP.
MTONL*A9999ABS.
MTONL*A9999RLM.
MTONL*A9999RLS.
MTONL*A9999PROC.
MTONL*A9999SYM.
PRODUCTION SCHEMA
PODUCTION SCHEMAPODUCTION SCHEMA
140
DE
VE
LO
PM
EN
T135
QT
SQA QA ENVIRONMENTSQA QA ENVIRONMENT
120
SQA*CQAPRC.
SQA*CDEPRC.
SQA*CQARLS.
SQA*CDERLS.
135+
- 320
CULCUL
COMMON USED NON PRODUCTION LIBRARY
SQA*CML. MTONL*SAVOMN.
MTONL*OMN.
MTONL*TIP.
MTONL*SAVABS.
MTONL*ABS.
MTONL*SAVTIP.
MTONL*B9999DIV.
MTONL*B9999RUN.
MTONL*B9999TIP.
MTONL*B9999ABS.
MTONL*B9999RLM.
MTONL*B9999RLS.
MTONL*B9999PROC.
MTONL*B9999SYM.
SQA*DOWNR.
PRODUCTION SCHEMA
QA TESTQA TEST QA USER QA USER
135
QU
320
320
TIP$*QAUSER.
SQA*ARKSYM.
32
0
32
0130
MTONL*B9999TIP.
MTONL*B9999ABS.
MTONL*RLS.
MTONL*PROC.
MTONL*B9999RLM.
MTONL*B9999RLS.
MTONL*B9999PROC.MTONL*B9999SYM.
SQA PRODUCTION LIBRARYSQA PRODUCTION LIBRARY PRODUCTIONPRODUCTION
SYS*PR3.
SYS*PR2.
SYS*OMN.
SYS*RUN.
SYS*ONL.
SYS*ABS.
SYS*RLM.
SYS*RLS.
SYS*PRC.
SYS*SYM.
SYS*ARCCML.
SYS*SAVDIV.
SYS*SAVRUN.
SYS*SAVPR2.
SYS*SAVPR1.
SYS*SAVPRC.
SYS*SAVSYM.
SATC*ARCHIVE.
SYSC*ADDECL.
SYSC*RUNECL.
SYSC*INCLUDE.
SYSC*SUBREL.
SYSC*MAINREL.
SYS*A9999DIV.
SYS*A9999RUN.
SYS*A9999ONL.
SYS*A9999ABS.
SYS*A9999RLM.
SYS*A9999RLS.
SYS*A9999PRC.
SYS*A9999SYM.
CURRENT SCHEMA
CURRENT SCHEMACURRENT SCHEMA TEST SCHEMATEST SCHEMA
140
DE
VE
LO
PM
EN
T
220140
SQA ENVIRONMENTSQA ENVIRONMENT
120
SQA*CQLPRC.
SQA*CDLPRC.
SQA*CFPPRC.SQA*CQAPRC.
SQA*CDEPRC.
SQA*CQLRLS.
SQA*CDLRLS.
SQA*CFPRLS.
SQA*CQARLS.
SQA*CDERLS.
135+
- 320
CULCUL
COMMON USED NON PRODUCTION LIBRARY
SYS*W.
SYS*C9999DIV.SYS*C9999RUN.
SYS*C9999ONL.
SYS*C9999ABS.
SYS*C9999RLM.
SYS*C9999RLS.
SYS*C9999PRC.
SYS*C9999SYM.
SYS*B9999DIV.
SYS*B9999RUN.
SYS*B9999ONL.
SYS*B9999ABS.
SYS*B9999RLM.
SYS*B9999RLS.
SYS*B9999PRC.
SYS*B9999SYM.
TRAINING SCHEMATRAINING SCHEMA
SYS*C9999DIV.SYS*C9999RUN.
SYS*C9999ONL.
SYS*C9999ABS.
SYS*C9999RLM.
SYS*C9999RLS.
SYS*C9999PRC.
SYS*D9999SYM.
SYST*ADDECL.
SYST*RUNECL.
SYST*INCLUDE.
SYST*SUBREL.
SYST*MAINREL.
CURRENT SCHEMA
TRAININGTRAINING
Conclusions1. Perpetual maintenance IS a reality.2. Every site really needs an SCM. 3. A standard tool offers more functionality and long-term security than a home-grown one.4. Production mistakes due to manual control can be horrendous. Only then does EVERYONE see that an SCM is worth its weight in gold.5. The payback term is usually 12-18 months.
Provides a complete solution
for your daily software
management needs
Tel. 914 393 8397
[email protected], New York, USAStockholm, Sweden
Tel. +46 8 644 00 40