QA on Cobol code

Developments and Progress
   NESMA April 2009

       Steven Klusener / Han Noé
FPA meet de omvang van de functionele
Implementatie

                 Business         Business
                  function         wish




                 Application




       FPA       Function        Requirement




                (technical) IT
                component
                                                  (Symplified: n:m
                                                  relations are not
                                                  shown)
Productiviteit (kosten per eenheid)
                            Meetpunt:
                         Projectkosten
                      (aantal Uren of Euro’s)
          Euro‘s




                        Uren of Euro's                  Vendor
   ABN Amro            per functiepunt

                                                        Product




                           Meetpunt:            Meetpunt:
                   Functionele projectomvang     Product
                      (aantal functiepunten)    Kwaliteit
What for today?
“Regievoering in applicatie outsourcing behoeft een
constante monitoring van software- & documentatie
kwaliteit”
What for today?
 The general picture, from black box to grey box

 Progress within ABN AMRO

 Discussion
Why systematic QA Control?
 Stability of functionality
 Control of maintenance costs
 Control of multi-vendor model
 No vendor lock-in


Spin-off
 Improving negotiation position w.r.t. Vendors
 Supporting internal AAB staff in technical issues
General picture
 Application outsourcing is considered as a
  black box, however, non-functional
  requirements are relevant as well
 A black box model has the risk of vendor
  lock-in


 However, we do not want a white box
  either
General picture: limited control
 Limited QA control required, a grey box
 QA control based on pre-defined set of standards
 Standards formalized in the Cobol standards handbook
 According to the contract, the IT-provider must adhere to
  the standards
General picture: limited control
 Acceptance of projects wrt. software quality is restricted to
  agreed set of standards & guidelines
 The set of standards need continuous validation and
  evolution
 Identification of best practices and bad practices <->
  standards
 Validation of standards & guidelines change proposals by
  the Cobol expert team
Traffic safety



                       Traffic rules                      Legislation
Traffic control

        Safety on the streets
                                       Trafic incidents
Code Quality


                    Cobol standards
                                                  Cobol expert team
Quality control      & guidelines

         Cobol code quality
                                      QA review issues,
                                       Prod. Incidents
Code Quality


1.Automated scan    Cobol standards
on standards                                      Cobol expert team
                     & guidelines
2.Visual review
         Cobol code quality
                                      QA review issues,
                                       Prod. Incidents
Cobol code quality control steps

           Vendor
        Cobol sources



    ISPW, –> ST –> ET -> Prod

                                             Cobol
         Automated
                                            Guidelines
         QA SCAN
                                Selection     Visual
       HTML report               of ‘Bad’   QA REVIEW
                                 sources

       Management                           QA Review
        QA report                             report
Progress within ABNAMRO


  Implementation Cobol QA control
Status Cobol
    Coding rules have been formalized and embedded
     into a software delivery process
     – At TCS: Cobol Checker and Cobol Checklist
     – At AAB: Rules checked on Delta
    Partial coverage yet, more complex rules and
     guide-lines still have to be formalized with the help of
     Cobol experts, input from testing/production issues
Status Cobol
 Cobol standards handbook yearly update
 Daily Delivery from ISPW of all Cobol promoted from
  ST->AT, AT-> ET and ET-> Prod
 Delivery in the Cobol analysis environment
 Monthly automated check on 50 Cobol standards
 Publication automated check results on Website
 Access to AAB Subject Matter Experts.
 Monthly visual QA reviews by Ordina
Report of automated QA check
 QA check new module
Report of automated QA check
 New version RE500A
 Deviations
Violations of standards in the
Cobol portfolio



     Examples
Violation of standards, detail:
Confusing indentation, ex. EJ830
     **** BEPALEN VULLING PAN
               IF FOUND-TRACK2 AND FOUND-TRACK3
                  MOVE …
                IF DAT2 IN H-DLR-REGEL8A = 'data:'
                 …
                END-IF

??                MOVE …
                     IF H-PAN = SPACES
                         IF VOORLOOPNR IN H-DLR-REGEL9 = '01'
                           MOVE …
                         ELSE
                          IF VOORLOOPNR IN H-DLR-REGEL9A = '01'
                          …
                          END-IF
                     ELSE
                     MOVE …
                  END-IF
     **** BEPALEN VULLING TRANSACTIENUMMER
               IF FOUND-WDRL
                 …
               END-IF.
Violation of standards, Statistics:
Deviations in new Cobol modules
RULE                              #LoC   #Mod   #Sys

cobie014     comp clause          12     3      3

cobst015     perform thru         11     5      4

cobst020     move corresponding   9      2      1

cobst007     merge/sort           6      2      1

cobst013     upon console         4      2      2

cobst85003   date-written entry   2      2      1

cobst85001   author entry         2      2      1

Outsourcing and management of code quality

  • 1.
    QA on Cobolcode Developments and Progress NESMA April 2009 Steven Klusener / Han Noé
  • 2.
    FPA meet deomvang van de functionele Implementatie  Business  Business function wish  Application FPA  Function  Requirement  (technical) IT component (Symplified: n:m relations are not shown)
  • 3.
    Productiviteit (kosten pereenheid) Meetpunt: Projectkosten (aantal Uren of Euro’s) Euro‘s Uren of Euro's Vendor ABN Amro per functiepunt Product Meetpunt: Meetpunt: Functionele projectomvang Product (aantal functiepunten) Kwaliteit
  • 4.
    What for today? “Regievoeringin applicatie outsourcing behoeft een constante monitoring van software- & documentatie kwaliteit”
  • 5.
    What for today? The general picture, from black box to grey box  Progress within ABN AMRO  Discussion
  • 6.
    Why systematic QAControl?  Stability of functionality  Control of maintenance costs  Control of multi-vendor model  No vendor lock-in Spin-off  Improving negotiation position w.r.t. Vendors  Supporting internal AAB staff in technical issues
  • 7.
    General picture  Applicationoutsourcing is considered as a black box, however, non-functional requirements are relevant as well  A black box model has the risk of vendor lock-in  However, we do not want a white box either
  • 8.
    General picture: limitedcontrol  Limited QA control required, a grey box  QA control based on pre-defined set of standards  Standards formalized in the Cobol standards handbook  According to the contract, the IT-provider must adhere to the standards
  • 9.
    General picture: limitedcontrol  Acceptance of projects wrt. software quality is restricted to agreed set of standards & guidelines  The set of standards need continuous validation and evolution  Identification of best practices and bad practices <-> standards  Validation of standards & guidelines change proposals by the Cobol expert team
  • 10.
    Traffic safety Traffic rules Legislation Traffic control Safety on the streets Trafic incidents
  • 11.
    Code Quality Cobol standards Cobol expert team Quality control & guidelines Cobol code quality QA review issues, Prod. Incidents
  • 12.
    Code Quality 1.Automated scan Cobol standards on standards Cobol expert team & guidelines 2.Visual review Cobol code quality QA review issues, Prod. Incidents
  • 13.
    Cobol code qualitycontrol steps Vendor Cobol sources ISPW, –> ST –> ET -> Prod Cobol Automated Guidelines QA SCAN Selection Visual HTML report of ‘Bad’ QA REVIEW sources Management QA Review QA report report
  • 14.
    Progress within ABNAMRO Implementation Cobol QA control
  • 15.
    Status Cobol  Coding rules have been formalized and embedded into a software delivery process – At TCS: Cobol Checker and Cobol Checklist – At AAB: Rules checked on Delta  Partial coverage yet, more complex rules and guide-lines still have to be formalized with the help of Cobol experts, input from testing/production issues
  • 16.
    Status Cobol  Cobolstandards handbook yearly update  Daily Delivery from ISPW of all Cobol promoted from ST->AT, AT-> ET and ET-> Prod  Delivery in the Cobol analysis environment  Monthly automated check on 50 Cobol standards  Publication automated check results on Website  Access to AAB Subject Matter Experts.  Monthly visual QA reviews by Ordina
  • 17.
    Report of automatedQA check  QA check new module
  • 18.
    Report of automatedQA check  New version RE500A  Deviations
  • 19.
    Violations of standardsin the Cobol portfolio Examples
  • 20.
    Violation of standards,detail: Confusing indentation, ex. EJ830 **** BEPALEN VULLING PAN IF FOUND-TRACK2 AND FOUND-TRACK3 MOVE … IF DAT2 IN H-DLR-REGEL8A = 'data:' … END-IF ?? MOVE … IF H-PAN = SPACES IF VOORLOOPNR IN H-DLR-REGEL9 = '01' MOVE … ELSE IF VOORLOOPNR IN H-DLR-REGEL9A = '01' … END-IF ELSE MOVE … END-IF **** BEPALEN VULLING TRANSACTIENUMMER IF FOUND-WDRL … END-IF.
  • 21.
    Violation of standards,Statistics: Deviations in new Cobol modules RULE #LoC #Mod #Sys cobie014 comp clause 12 3 3 cobst015 perform thru 11 5 4 cobst020 move corresponding 9 2 1 cobst007 merge/sort 6 2 1 cobst013 upon console 4 2 2 cobst85003 date-written entry 2 2 1 cobst85001 author entry 2 2 1