perpetual maintenance is a reality (or resources to spare for real development)

44

Post on 19-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Perpetual Maintenance Is a Reality

(or Resources

to Spare for Real Development).

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

Introduction to CMplus

Configuration Management Program Librarian

For Unisys Systems (CMplus)

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

Introduction to SQA

Software QualityAssurance

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

Some SQA installations

SQA installation

IRS New Carrollton, MDUSA

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

SQA installation

Western UnionMontvale, NJUSA

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 Installation

Swedish DefenseArbogaSweden

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

Legacy Systems - Who will look after themwhen a whole generationof developers retires?

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.

SQA

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