How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

30
AGILE DEVELOPMENT IN SAXO BANK HOW TO MANEUVER AS TESTER TO GET THE RIGHT QUALITY BY KNUD HANGAARD

description

Презентация доклада Knud Hangaard на конференции SQADays-14 English Day, Львов 7 ноября 2013

Transcript of How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

Page 1: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

AGILE DEVELOPMENT IN SAXO BANKHOW TO MANEUVER AS TESTER TO GET THE RIGHT QUALITY

BY KNUD HANGAARD

Page 2: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

FACTS ABOUT ME

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

2

Master of Science, Electronics and Computer Engineering

Certifications:ISTQB, PRINCE2, ACI Dealing/Trading

My working sectors:• HW/SW production industry• Banking industry

My current role:Front Office test lead:• Release test responsible• Test environments• Development and test

processes

Contact:[email protected]: www.linkedin.com/in/khangaardSKYPE: khangaard

Page 3: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

PRESENTATION FOCUS AREAS

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

3

Introduction to Saxo bank and the software

Agility challenges and finding the “Right” quality

What we have done to become more agile: process, tools, people

What to bring home:

o Key focus areas in the test process for achieving right level of quality

o Key skills that has been necessary to manage testing in a hyper agile

organisation

Page 4: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

INTRODUCTION TO SAXO BANK

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

4

Established 1992

Employees >1300 (700 in IT)Offices 25 countriesFX trades daily 170,000Daily av. turnover 20 billion USDCountries with retail clients 190Financial instruments > 25,000Received prices daily 5-6 billionDevelopment in Denmark and IndiaThe “Front Office” in Saxo Bank

headquarter.

Page 5: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

HUGE SOFTWARE PLATFORM

o Software components: 350+

o 11 million lines of code

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

Page 6: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

THE DEVELOPMENT CONDITIONS

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

6

o FOCUS ON LEADING ROLE, DELIVERY AND

COST: oBE PRODUCTIVE• Ongoing business

development, large project portfolio - demand for new functionality (DEVELOPING THE BANK)

oBE GOOD• Ongoing technical and

performance improvements – minimum number of bugs in Live. (RUNNING THE BANK)

oBE ECONOMICAL• Cost awareness: (off shore

development and test)

Page 7: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

SO WE WANT TO BE AGILE…

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

7

Page 8: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

Pro

ject

s

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

8

Project N Platform Production

Defects

Incidents from Production

Project Test Environments

Release Test Environment

Simulation Production

Project testers

Release testersProject 1

Project 2

Quality gate

Quality gate

Scrum/Kanban

Merge to main

(Prince2)/Scrum/Kanban

SAXO BANK DEVELOPMENT MODEL

Page 9: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

DEVELOPMENT TRENDS IN SAXO BANK, BECOMING MORE AGILE

Delivery cycle has been reduced over timeo Idea is less changes per cycleo No forcing of last minute changes (follow the process!)

Development has been divided into sectors, aligned with business areaso More focus on “the customer”

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

9

Page 10: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

CHALLENGES FOR QUALITY ASSURANCE AND TEST

o Huge code baseo Huge amount of componentso Test basis (documentation) is limitedo Limited time for writing test caseso Limited time for testingo Limited time for writing test reports.o What would we really like to test - test coverage?

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

10

Page 11: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

SO WHAT IS THE RIGHT QUALITY?

Right Quality:o Happy Business (more competitive products, earnings – less

problems in Live, losses)oHappy Customers (more products, opportunities – less bugs found)

Deliveries/changes to Business (x)

Live Incidents and roll backs (y)

High quality (less new changes, only few Live incidents)

“Right” quality (enough number of new changes, reasonable number of incidents in Live)

Low quality (many new changes, huge amount of Live incidents)

y=v*x where v: development velocity (throughput)

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

Page 12: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

BECOMING MORE AGILE

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

12

KEY POINTS COVERED:

oThe Process

oThe Tools

oThe People

Page 13: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

DEVELOPMENT AND TEST PROCESS – KEY POINTS

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

Time boxed development and time boxed testing (backlogs for each area)

Incremental approach:o release in small steps - backward compatible - possible to roll

back

Risk based testing:o Spend more time on high risk changes (both functional and

regression)

Flexible development and test process:o Quality gates/ verification points can be decided on low level

Cross functional teams:o Shared test responsibility between developers and testers

13

PROCESS

Page 14: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

RELEASE TEST CYCLE (TIME BOXED)

o Monday: Baseline o Tuesday: Deploy DB changes and verifyo Wednesday: Deploy new services and verifyo 6 days for test and reportingo Next Thursday: Go/No meetingo Friday: Follow-up and planning next release

Monday

•Release Test

Tuesday Wednesday

•Release Test

•Reporting

Thursday

•Go/No Go meeting

•Release to Simulation

Friday

•Planning next release test

Saturday

•Release to Live

Sunday

Backup of Live

Monday

•Baseline of test environment

Tuesday

•DB release candidates

Wednesday•Apps og Services rel. candidates

Thursday

•Release Test

Friday

•Release Test

Saturday

•DB Releases to Live

Sunday

•Release Test

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY PROCESS

Page 15: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

RELEASE DOCUMENTATION BUILT-UP

A tree structure of work items:

o Release item: Parent for the full release

o Change items: One for each Component – release request for production

o Delivery items: One from each team or project.

o User Story items: The functional changes

o Bug items: The bug fixes.

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

15

PROCESS

Release, week xChange (Component 1)

Delivery (Project A)

User Story a

Bug Fix y

Change (Component 2)

User Story b

Delivery (Project A)

User Story c

Delivery (Project C)

Page 16: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

STATE TRANSITIONS AND TEST FLOWS

Development User Story states (Kanban):• Not Done, Active, Resolved and Closed

Independent Test stages (Test Flows):• NA, Not Done, Done

Test flows at 3 stages: • development phase, • integration phase, • system integration phase (release test) Auto generated test report

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

16

PROCESS

Page 17: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

THE TOOLS – ALL IN ONE (Team Foundation Server along with Microsoft Test Manager)

User Stories/Features

Tasks

Test Cases/Test

Scripts

CodeBugs

Test Execution

Plan

Test Results

Test Reports

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

17

TOOLS

Page 18: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

THE TEST ENVIRONMENTS

o Test environments that simulates Live (Production) environment• Release and project test environments

o Baseline of test environments with Live data every two weeks

o Intensive scripting for adapting Live data to test environment (object)

o One-click deployment of new software

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

18

TOOLS

Page 19: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

AGILITY - IMPACTS ON QUALITY ASSURANCE THINKING

o Adapt to the situation and plan very much based on RISK

o Find the “right” test depth (effort) – use your time optimal

o Share results early and adjust when you know more• early feedback both ways is important

o Find the right level of test documenting and reporting• so you get the message out but do not overdo

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

19

PEOPLE

Page 20: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

A NEW TESTER ROLE

o Test certifications help as a basis - but is not sufficient in “the field”

o Be able to handle many different stakeholders (developers, project managers, delivery managers, business owners, business support)

o Be technical well founded on multiple areas (less time for study, understand fast, react fast)

o Be RISK focused (find the serious bugs in the beginning)o Be Proactive - ask questions!o Make plans but expect them to change and look for the new test

opportunitieso Spend more time on exploratory testing instead of just running

the same test caseso Do early and precise test reporting (only few lines to explain the

problem)

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

20

PEOPLE

Page 21: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

EFFECTS OF THE APPROACH

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

21

Page 22: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

EFFECTS

Business Effects:• More releases going to Live • Less high severity bugs found in Live

(roll back)

Process Effects:• Better transparency and traceability• Effective documenting and reporting• The flexible dev. model makes it easy to

adapt to new situations• Benefit from time difference: Build late

in Denmark - test early in India

Test Effects:• ”Exploratory testing” generates more

bugs than executing test cases prepared in advance

22

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

Page 23: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

LESSONS LEARNED

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

23

Page 24: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

Simple, clear and flexible processo Clear responsibilitieso Clear expectations

Teamworko Daily scrums with testers and

developerso Avoid being dependent on other

team’s priorities.

Effective and clear communicationo To avoid time wasted o To avoid bugs being overseen

Effective documentation

o Find the ”right” level of detailso Be focused on key points –

make it easy for the reader

Effective toolingo Easy planning, test execution

and reportingo Easy setup of test

environments

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

24

KEY FOCUS AREAS IN THE TEST PROCESS FOR ACHIEVING RIGHT LEVEL OF QUALITY

Page 25: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

KEY SKILLS NECESSARY TO MANAGE TESTING IN A HYPER AGILE ORG.

o Great communication skills - be able to communicate with many different stakeholders

o Knowledgeableo Need to have both good business and

technical/development knowledgeo Need to know the ”Go to Guys” to get more knowledge

quickly o Great team player - share knowledge – get knowledge

o Open mindset - be ready to change plans quickly

o Tester’s mindset – explore, ask questions

o Responsible mindset – Be the one that follows-up

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

25

Page 26: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

CULTURAL DIFFERENCES BETWEEN OFF-SHORE TEAMS

Different thinking: Communication path - hierarchical vs. lateralControl - centralized vs. decentralized

Planning - detailed vs. less detailed

Different communication form:Direct vs. indirect (verbally)Direct vs. indirect (in writing – sugar coating)language barriers

Different job goals:Grow hierarchical vs. grow expert wise

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

26

Page 27: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

CHALLENGES FOUND AND HOW TO OVERCOME

o Culture differenceso Discuss the cultural differences for better understanding

and learningo Engage with team members (non-work related)o Travel often both ways

o Unclear goals/expectationso Ensure clear communication (combine verbal and writing)o Team SPOCs both places for ”translating” the messageso Be very concrete on goals and expectationso Regularly status meetings retrospectives and feedback

o Having the feeling of being far awayo Electronic boards for status sharing o Video conferencing a must

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

27

Page 28: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

NEXT PLANS FOR SAXO BANK

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

28

o Continuous delivery

o Even more effective processes

o Even more automation

o Even more auto generated reports

Page 29: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

CONCLUSION – IMPORTANT FOCUS AREAS IN AGILE TEAMS

Clear Communication

Effective Processes

Effective Tools

Team Player Mindset

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY

Risk Mindset

Page 30: How to manoeuvre as test/QA responsible in agile teams to get the "right" product quality

THANK YOU FOR LISTENING!

30

Feel free to contact me:LINKEDIN: WWW.LINKEDIN.COM/IN/KHANGAARD

AGILE DEVELOPMENT IN SAXO BANK. HOW TO MANUVER AS TESTER TO GET THE RIGTH QUALITY