41
Agile on huge banking mainframe legacy systems. Is it possible? Christian Bendix Kjær Hansen Test Manager November 22, 2011 EuroSTAR 2011

Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agile on huge banking mainframe legacy

systems. Is it possible?

Christian Bendix Kjær Hansen Test Manager

November 22, 2011

EuroSTAR 2011

Page 2: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

What is this presentation about?

Goal

• Inspire others working with mainframe to go agile

Provide insight on

• Our challenges when going Agile

• How we face these challenges

• Our key experiences

• How far are we on our Agile journey?

Page 3: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Conclusion

Page 4: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Christian B.K. Hansen

• Working experience

– Test practitioner for 7 years

– Test Manager in Danske Bank

– Test analyst/designer in IBM

• Test Certifications

– ISEB foundation and ISEB Practitioner (with distinction)

• Education

– MSc in Mathematics from Aarhus University

– Computer Science as Minor subject

Page 5: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

“One group, One core system, Multiple channels”

Channel Branches

Contact Centre

Internet Homepages

Finance Centres

ATMs

Product

Forex

Securities

Treasury

Cash Management

Cards

Currency

Fees

Payments

Customer output

Interests

Group Finance

Core

Organisation Accounts

Customer

Data Warehouse

Brand

Teller Cheque

CRM

Bookkeeping

Corporate e-Banking

Retail e-Banking

Loan

Markets Online

Telephone Banking

Trade Finance

Workflow

Asset Management

Customer Packages

Business procedures

IT Group Security

Customer Advisory Tools

Customer Portal

Asset Finance

Intranet Portal

Custody

Business Controlling e.g. Credit, Risk, GMI

& ERP/Axapta

Insurance & Pension

Page 6: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

About the project

• Card Group Invoice Stabilize and Consolidate

– Credit card invoices

– Mainframe, legacy and batch

– Costly to maintain and extend

• Stabilize and Consolidate

– Solving known issues

– Consolidate functionality

Page 7: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Conclusion

Page 8: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Getting started with Agile

• Scrum

– One month sprints – root causes and consolidation tasks

• Iterative

– Small corrections released

• Challenges

– Testing too time consuming

– Code corrections too time consuming

– No test automation tool support

• Team

– Dedicated and committed team

Page 9: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agile practices (from agilemanifesto.org)

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done

• The best architectures, requirements, and designs emerge from self-organizing teams

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

Page 10: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Conclusion

Page 11: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 1 – Huge batch programs

• Challenge

– Testing is extremely time consuming

• Causes

– All functionality in one program

– Complex test data needed

– Shared test environment across projects

Page 12: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 1 – Huge batch programs

• Solution

– Requirement to new system design with high testability

Page 13: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 1 – Huge batch programs

• Agile principle

– Continuous attention to technical excellence and good design enhances agility

• Status

– Now: Any change tested in 1-2 days

– Future: Any change tested the same day

Page 14: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Conclusion

Page 15: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 2 – Legacy system

• Challenge:

– Code corrections difficult and time consuming

• Causes

– Lacking maintainability and extendibility

– Undocumented functionality

• Solution

– Requirement to system maintainability

– Refactoring

– System documentation

Page 16: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 2 – Legacy system

• Agile principle

– Simplicity--the art of maximizing the amount of work not done--is essential

• Status

– Now: Main batch program completed

– Future: All functionality in the invoice flow

Page 17: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Conclusion

Page 18: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 3 – Test automation

• Challenge

– Status of the system not visible

• Causes

– Automated test not possible

• Solution

– Build our own unit test tool

Page 19: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Automated unit test

• Unit test process - demo

Unit Test

Demo

Page 20: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Service tester (in Eclipse™)

Page 21: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create test cases (in Microsoft Excel)

Page 22: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test script

Page 23: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test script

Page 24: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test script

Page 25: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test script

Page 26: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test script

Page 27: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Create unit test suite

Page 28: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Execute unit test suite

Page 29: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

View unit test execution report

Page 30: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Automated unit test

• Unit test process - demo

• Experiences

– Pilot, dedicated resource, resistance

– Improved test process, status on modules, beneficial

Unit Test

Demo

Page 31: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 3 – Test automation

• Challenge

– Status of the system not visible

• Causes

– Automated test not possible

• Solution

– Build our own unit test tool

– Utilize internal offshore test center for system test

Page 32: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

System test in India

• Test Centre of Excellence

– Dedicated test specialist

– Follow sprints (not in team)

• System test process

– Automation in QTP of manual test cases

– Existing version = Test Oracle for expected results

• Experiences

– Daily status on the system can be obtained

– Frequent regression test on system level is possible

Page 33: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 3 – Test automation

• Challenge

– Status of the system not visible

• Causes

– Automated test not possible

• Solution

– Build our own unit test tool

– Utilize internal offshore test center for system test

Page 34: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Challenge 3 – Test automation

• Agile principle

– Working software is the primary measure of progress

• Status

– Now: Status on modules on request

– Now: Status on main batch program on request (daily)

– Future: Daily status on the entire invoice flow

Page 35: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agenda

• Introduction

• Getting started with Agile

• Challenge 1 – Huge batch programs

• Challenge 2 – Legacy system

• Challenge 3 – Test automation

– Automated unit test

– System test in India

• Discussion and conclusion

Page 36: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Lessons learned

• Scrum supports a good start on agile

• Key learning

– Requirement to Testability

– Requirement to Maintainability

– Build own tool

– Benefits from design before implementing it

• It can be difficult – but it is not impossible!

Page 37: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agile or not?

• What does it take to be agile?

– Compliance with the Agile principles supporting the Agile manifesto

Page 38: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Principles behind the Agile Manifesto • Our highest priority is to satisfy the customer through early and continuous delivery of

valuable software

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale

• Business people and developers must work together daily throughout the project

• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

• Working software is the primary measure of progress

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely

• Continuous attention to technical excellence and good design enhances agility

• Simplicity--the art of maximizing the amount of work not done--is essential

• The best architectures, requirements, and designs emerge from self-organizing teams

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

Page 39: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Agile or not?

• What does it take to be agile?

– Compliance with the Agile principles supporting the Agile manifesto

We are agile!

Page 40: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Questions

Page 41: Agile on huge banking mainframe legacy systems. Is it possible? · 2019. 7. 25. · Agile practices (from agilemanifesto.org) • Deliver working software frequently, from a couple

Conclusion

• “Did we managed to become agile or did we just made a huge improvement in our development process and in our test process in particular?”

• I think, we did both!

– Huge process improvements

– Started the agile journey