440 likes | 571 Views
Perpetual Maintenance Is a Reality (or Resources to Spare for Real Development). Presentation abstract:
E N D
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.
Agenda 1. Introduction to Software Configuration Management (SCM) 2. “Home-grown” and standard systems 3. Introduction to CMplus 4. Introduction to SQA 5. SQA installations around the world.
Huge amount invested inlegacy 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 business process is constantly changing, program maintenance is and always will be with us. It is better, therefore, to successfully manage this maintenance and development in the most efficient manner to the satisfaction of all.
Software Configuration Management "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
Software Configuration Management 1. Distinct, secure repository for source code 2. 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 releases 6. Detailed historical database for auditing 7. Local procedures can be integrated 8. Paperless Change Administration 9. Clearly defined limits between the Development, QA & Production areas 10. All elements and changes archived (forever) “Who made changes in the IT system, why, what and when”. Definition
Configuration Management history 2000 PRODUCTION LIBARY Mainframe 1980 1970 PRODUCTION LIBARY PRODUCTION LIBARY Mainframe Mainframe 1990 PRODUCTION LIBARY Mainframe
Purpose Improve the development environment for complex maintenance-sensitive IT systems Secure systems in production Meet management and audit requirements Save money (improve productivity)
Auditors’ Requirements Changes in the IT system Accounting consists mainly of information aboutwhich 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.
Auditors’ Requirements Application 1 Application 2 Application 3 Application 4 Application 5 External
An SCM forOS2200 Standard tool and homegrown CMplus from UNISYS SQA from ARKDATA ”HGS” (the generic homegrown system)
How to evaluate 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
Our recommendation 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.
Disadvantages • 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
Advantages • 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 • 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 organize • current work and all future activities.
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 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)
Not Just a Source Control Tool… CMplus is Unisys Designed for ClearPath IX/2200 3GL Business Applications Providing… What is “Configuration Management Program Librarian For Unisys Systems (CMplus)?” . . . . . UNISYS
Introduction to SQA Software Quality Assurance
Definitions System A collection of elements which are used for a specific purpose, e.g. payroll Element Main program, sub-program, schema subschema, proc, runstream, MAP, LINK, SSG, RDMS-relations, etc.
Definitions Task A 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
Production executable library Production source library SYS*SYM. SYS*SAVSYM. CURRENT SCHEMA SYS*PRC. SYS*SAVPRC. SYS*RLS. SYS*SAVPR1. SYSC*MAINREL. SYS*RLM. SYS*SAVPR2. SYSC*SUBREL. SYS*ABS. SYS*SAVRUN. SYSC*INCLUDE. SYS*ONL. SYS*SAVDIV. SYSC*RUNECL. SYS*RUN. SYS*ARCCML. SYSC*ADDECL. SYS*OMN. SYS*W. SYS*PR2. SATC*ARCHIVE. SYS*PR3. 140 220 120 SYS*A9999SYM. CURRENT SCHEMA SYS*A9999PRC. SYS*B9999SYM. SYS*A9999RLS. SYS*B9999PRC. SYS*A9999RLM. SYS*B9999RLS. 140 SYS*A9999ABS. SYS*B9999RLM. SYS*A9999ONL. SYS*B9999ABS. SYS*A9999RUN. SYS*B9999ONL. SYS*A9999DIV. SYS*B9999RUN. SYS*B9999DIV. Development environment Quality Assurance environment
Clearance level PRODUCTION LIBARY MAINFRAME AND PC-WORKSTATION Operational manager Application manager COMPONENTS DEVELOPMENT PRODUCTION CONTROL TEST QUALITY ASSURANCE Analyst/programmer QA/User Analyst/programmer
SQA 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 about what 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 & 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
Result of compiling & mapping with *.* 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>
Registering 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
SQA installation IRS New Carrollton, MD USA
THE WORK FLOW PRODUCTION LIBARY MAINFRAME Register changes and copy software elements Transfer changed components back to production COMPONENTS Development, program test documentation Transfer of executables to productions centers Coordination of changes on the section level Coordination of changes on computer center level Coordination of changes for QA QA-activities Changes scheduled for transfer to production Confirm changes completed Changes automatically recompiled and integrity checked Transfer changed components to QA environment Changes accepted by QA section
IRS PRODUCTION LIBRARY SAT ENVIRONMENT FIT Environment SYS*SYM. SYS*SAVSYM. CURRENT SCHEMA FUTURE SCHEMA SYS*PRC. SYS*SAVPRC. SYS*RLS. SYS*SAVPR1. SATF*MAINREL. SATC*MAINREL. MCC*MAINREL. SYS*RLM. SYS*SAVPR2. SATF*SUBREL. SATC*SUBREL. MCC*SUBREL. PRODUCTION SYS*ABS. SYS*SAVRUN. SATF*INCLUDE. SATC*INCLUDE. MCC*INCLUDE. SYS*ONL. SYS*SAVDIV. SATC*RUNECL. SATF*RUNECL. MCC*RUNECL. SYS*RUN. SYS*ARCCML. SATF*ADDECL. SATC*ADDECL. MCC*ADDECL. MCC*MAINREL. SYS*OMN. SYS*W. MCC*SUBREL. SYS*PR2. SATF*ARCHIVE. SATC*ARCHIVE. MCC*INCLUDE. SYS*PR3. MCC*RUNECL. 220 120 140 MCC*ADDECL. SYS*A9999SYM. CURRENT SCHEMA FUTURE SCHEMA SYS*A9999PRC. SYS*B9999SYM. SYS*C9999SYM. SYS*A9999RLS. SYS*B9999PRC. SYS*C9999PRC. SQA*X-MEMOFILE. SYS*A9999RLM. DEVELOPMENT SYS*B9999RLS. SYS*C9999RLS. SQA*X-ELTFILE. 140 SYS*A9999ABS. SYS*B9999RLM. SYS*C9999RLM. NTC SQA*X-SCXMIT. SYS*A9999ONL. 320 SYS*B9999ABS. SYS*C9999ABS. SQA*E-MEMOFILE. SYS*A9999RUN. SYS*B9999ONL. SYS*C9999ONL. 135 SQA*E-ELTFILE. SYS*A9999DIV. SYS*B9999RUN. SYS*C9999RUN. + SQA*E-SCXMIT. SYS*C9999DIV. SYS*B9999DIV. ITCC ENVIRONMENT COMMON USED NON PRODUCTION LIBRARY INTERFACE SQA-TRASMITTAL SQA*CDEPRC. SQA*CDERLS. SQA*CQAPRC. SQA*CQARLS. CUL SQA*CFPPRC. SQA*CFPRLS. - SQA*CDLPRC. SQA*CDLRLS. 320 SQA*CQLPRC. SQA*CQLRLS.
SQA installation Western Union Montvale, NJ USA
PRODUCTION LIBRARY PRODUCTION QA TEST QA USER MTONL*SYM. MTONL*SAVSYM. MTONL*PROC. MTONL*SAVPROC. UCOB PRODUCTION SCHEMA PRODUCTION SCHEMA MTONL*RLS. MTONL*SAVPROC1. MTONL*ABS. MTONL*RLM. MTONL*SAVPROC2. MTONL*SAVABS. TIP$*QATEST. TIP$*QAUSER. MTONL*ABS. MTONL*SAVRUN. MTONL*TIP. MTONL*TIP. MTONL*SAVDIV. MTONL*SAVTIP. MTONL*RUN. MTONL*W. MTONL*OMN. MTONL*OMN. SQA*CML. MTONL*SAVOMN. MTONL*PROC2. SQA*DOWNR. MTONL*PROC3. SQA*ARKSYM. 135 QT 135 QU 120 320 320 320 130 MTONL*A9999SYM. PODUCTION SCHEMA 320 MTONL*A9999PROC. MTONL*B9999SYM. MTONL*B9999SYM. MTONL*A9999RLS. MTONL*B9999PROC. MTONL*B9999PROC. MTONL*A9999RLM. DEVELOPMENT MTONL*B9999RLS. MTONL*B9999RLS. 140 MTONL*A9999ABS. MTONL*B9999RLM. MTONL*B9999RLM. MTONL*A9999TIP. MTONL*B9999ABS. MTONL*PROC. MTONL*A9999RUN. MTONL*B9999TIP. MTONL*RLS. 135 MTONL*A9999DIV. MTONL*B9999RUN. MTONL*B9999ABS. + MTONL*B9999DIV. MTONL*B9999TIP. SQA QA ENVIRONMENT COMMON USED NON PRODUCTION LIBRARY CUL SQA*CDEPRC. SQA*CDERLS. SQA*CQAPRC. SQA*CQARLS. - 320
SQA Installation Swedish Defense Arboga Sweden
SQA PRODUCTION LIBRARY PRODUCTION TRAINING SYS*SYM. SYS*SAVSYM. CURRENT SCHEMA CURRENT SCHEMA SYS*PRC. SYS*SAVPRC. SYS*RLS. SYS*SAVPR1. SYSC*MAINREL. SYST*MAINREL. SYS*RLM. SYS*SAVPR2. SYSC*SUBREL. SYST*SUBREL. SYS*ABS. SYS*SAVRUN. SYSC*INCLUDE. SYST*INCLUDE. SYS*ONL. SYS*SAVDIV. SYSC*RUNECL. SYST*RUNECL. SYS*RUN. SYS*ARCCML. SYSC*ADDECL. SYST*ADDECL. SYS*OMN. SYS*W. SYS*PR2. SATC*ARCHIVE. SYS*PR3. 220 120 140 SYS*A9999SYM. TRAINING SCHEMA CURRENT SCHEMA TEST SCHEMA SYS*A9999PRC. SYS*B9999SYM. SYS*C9999SYM. SYS*D9999SYM. SYS*A9999RLS. SYS*B9999PRC. SYS*C9999PRC. SYS*C9999PRC. SYS*A9999RLM. DEVELOPMENT SYS*B9999RLS. SYS*C9999RLS. SYS*C9999RLS. 140 SYS*A9999ABS. SYS*B9999RLM. SYS*C9999RLM. SYS*C9999RLM. SYS*A9999ONL. SYS*B9999ABS. SYS*C9999ABS. SYS*C9999ABS. SYS*A9999RUN. SYS*B9999ONL. SYS*C9999ONL. SYS*C9999ONL. 135 SYS*A9999DIV. SYS*B9999RUN. SYS*C9999RUN. SYS*C9999RUN. + SYS*C9999DIV. SYS*C9999DIV. SYS*B9999DIV. SQA ENVIRONMENT COMMON USED NON PRODUCTION LIBRARY SQA*CDEPRC. SQA*CDERLS. SQA*CQAPRC. SQA*CQARLS. CUL SQA*CFPPRC. SQA*CFPRLS. - SQA*CDLPRC. SQA*CDLRLS. 320 SQA*CQLPRC. SQA*CQLRLS.
Legacy Systems - Who will look after them when a whole generation of developers retires?
Conclusions 1. 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. +46 8 644 00 40 Tel. 914 393 8397 krfu@arkdata.se Stockholm, Sweden Katonah, New York, USA