testing in devops - how to assess teams and give...

32
© 2017 Nokia 1 © 2017 Nokia 1 Testing in DevOps - how to assess teams and give guidance FiSTB Testing Assembly - 19th Sept, 2018, Helsinki Szilard Szell , DevOps Evangelist, SAFe SPC, Nokia Jorma Peisalo, Transformation Senior Manager, Nokia Public

Upload: others

Post on 25-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia1 © 2017 Nokia1

Testing in DevOps - how to assess teams and give guidance

FiSTB Testing Assembly - 19th Sept, 2018, Helsinki• Szilard Szell, DevOps Evangelist, SAFe SPC, Nokia• Jorma Peisalo, Transformation Senior Manager, Nokia

Public

Page 2: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2018 Nokia2

IntroductionSzilárd Széll – DevOps Evangelist, Test Coach, NOKIA

• Responsibilities• Test Coach and DevOps Evangelist in NOKIA with 18 years

experience

• President of the Hungarian Testing Board

• Processes Management and Compliance Work Group Chair of ISTQB

• Program Committee Chair and Member of – UCAAT and HUSTEF

• Certifications• DevOps DASA Foundation, SAFe SPC, Certified Scrum Master

• ISTQB CTEL-ITP-Full

• IREB CPRE

• Lean Six Sigma Green Belt

Public

Page 3: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2018 Nokia3

IntroductionJorma Peisalo, Transformation Senior Manager, NOKIA

• Role• Support, coach, facilitate all kind of transformation

projects inside Nokia Business Groups

• Knowledge areas• 20+ years of R&D experience

• Transformation, Business case calculation, Lean, Agile, Continuous Delivery, DevOps, Verification, Project management

Public

Page 4: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

4

© Nokia 2017

Explosion of possibilities announcing new performance levels of people and things

Augmentedshopping

Smart clothes

Virtual 3Dpresence

Factory automation Real-time

remote control

Assisted driving

Logistics

Traffic steering &management

Smart grids

Connected home

Real timecloud access

4k Video

VR gaming

Real-time remote control

Remote Diagnosis

Communication

Mobile living3D printing

Automotive

Toll collection

HD Cams NW

REVOLUTIONIZED

Traffic Mgmt.

SUPEREFFICIENT

Waste mgmt.

Reliable emergency communications

Tracking / inventorysystems

AUGMENTED

Augmenteddashboard

INTERCONNECTED

8k Video beamer

TACTILEVIRTUAL

Smart watch

Augmentedgaming

Self driving

Maintenance optimization

Touch & steer

AUTONOMOUS

Travel & commute

Health

Time shift

Utility & EnergySafety & Security

Work & game while traveling

REDEDICATED

People & Things

Real timework in cloud

Industry 4.0

Advanced monitoring

Personalrobot

Page 5: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

5 © Nokia 2017

Agenda for today

DevOps in a Nutshell

DevOps Assessment2

Testing Aspects of DevOps4

1

Continuous Integration Aspect of DevOps3

Take away5

Page 6: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2018 Nokia6

DevOps

Agile

LeanKaizen

Public

Page 7: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© Nokia 2017

1. System thinking

“Being able to take needless work out of

the system is more important than being

able to put more work into the system.”

Gene Kim

Page 8: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© Nokia 2017

2. Amplify feedback loops

“Improving daily work is even more

important than doing daily work.”

Gene Kim

Page 9: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© Nokia 2017

3. Culture of continual experimentation and learning

“If you can’t out-experiment and beat your

competitors in time to market and agility,

you are sunk.”

Gene Kim

Page 10: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

10 © Nokia 2017

Agenda for today

DevOps in a Nutshell

DevOps Assessment2

Testing Aspects of DevOps4

1

Continuous Integration Aspect of DevOps3

Take away5

Page 11: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia11

DevOps maturity model is a tool to guide business and R&D transformationNeed for driver - DevOps Center of Excellence

Maturity Model

Copyright © Scaled Agile, Inc

Source: CloudBees®Public

Page 12: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia12

Continuous @everything in the Software LifecycleWhat is the scope of the DevOps Maturity Model?

Public

Plan Code Build Test Release Deploy Operate

Continuous Integration

Continuous Delivery

Continuous Deployment

Cont. Monitoring

Continuous Feedback, Requirements, Planning

DevOps

Agile Development

Page 13: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia13

Similar to other frameworks (e.g. CMMI, TMMi)Maturity Levels of DevOps Maturity Model

1 – Initial

2 – Consistent

3 – Managed

4 – Quantitatively Managed

5 – Cont. Optimizing Productivity &

quality

Risk &

waste

100%

0%

© 2018 TMMI FOUNDATION | ALL RIGHTS RESERVED

© 2018 CMMI Institute LLC. All rights reservedPublic

Page 14: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia14

Addressing DevOps capabilities end to end – like TPI NEXT®The 12 Assessment Categories

Planning & Requirements

Culture & Organization

Continuous Integration

Software Config.

Management

Architecture

QA & Verification

Upgradability

Visibility

System Integration

SW Maintenance Monitoring

& Feedback

Network Planning and

Optimization

Network Implementation

TPI ® Next is a registered trademark of Sogeti.Public

Page 15: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia15

Helps to find gaps and improvement areasDevOps Maturity Model provides e2e insights and awareness

From insight … …to optimized flows

“Theory of Constraints”

Maturity Assessment + VSM will reveal deficiencies.*

Value chain / Work flow

Pe

rfo

rman

ce

P

&

RC

I

S

I

N

P

O

C

A

R

E

DEV OPS

Illustrative

examples

only

Model facts:

• 12 categories

• 60+ key areas

• 200+ best practices

• 1000+ questions

S

C

M

Q

A

&

V

Public

Page 16: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia16

For calculating a weighted maturity scoreModel Structure and Logic

Category 1 Key area 1.1 Best Practice 1.1.1

Key area 1.N

Best Practice 1.1.2

Best Practice 1.1.N

W

W

W

W

W

Category 12

Levels 0-5 Qs

Levels 0-5 Qs

Levels 0-5 Qs

. . .

. . .

. . .

W

W

W: Weight Q: Questions

Public

Page 17: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia17

Assessment process from questions to conclusions to actionsThe improvement cycle

D

M

AI

C

Public

Maturity Model Best practices as guidance

Running Assessment through built in questions

Understand the level of practice and identify issues, suggest improvement actions

Improve product and organization based on

suggestion

Monitor improvement

against baseline

Page 18: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

18 © Nokia 2017

Agenda for today

DevOps in a Nutshell

DevOps Assessment2

Testing Aspects of DevOps4

1

Continuous Integration Aspect of DevOps3

Take away5

Page 19: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia19

Focus on Continuous Integration (CI)The 12 Assessment Categories

Planning & Requirements

Culture & Organization

Continuous Integration

Software Config. Management

Architecture

QA & Verification

Upgradability

Visibility

System Integration

SW Maintenance Monitoring & Feedback

Network Planning and Optimization

Network Implementation

Public

Page 20: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia20

The way how we defined CI part of our maturity modelCategory – Continuous Integration

Public

Automated Delivery Pipeline

Automated tool chain

All inputs to the pipeline are in version control

Release decisions made by fully automated pipeline

X %

X %

X %

Continuous Green Build

Automated Release

Commits and Feedback

X %

X %

X %

Key areas Best practices

Agreed first what are key areas for CI

Find best practices for those areas

Agree what is needed in

which maturity level

Agree weights for practices

X %

Page 21: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia21

Key areasCategory – Continuous Integration

AutomatedDelivery Pipeline

Continuously Green Build

Automated Release

Frequent Commits and

Fast Feedback

Public

Page 22: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia22

An example of best practices and levels for CIKey area - Automated Delivery Pipeline

Public

Best practiceLEVEL 1

InitialLEVEL 2

ConsistentLEVEL 3Managed

LEVEL 4Quantitatively

Managed

LEVEL 5Optimizing

Release decision is made automatically by fully automated delivery pipeline

* Delivery pipeline exists* Some steps of the pipeline are automated

* Main parts of the delivery pipeline are automated

* All transitions between delivery pipeline steps are automated

* All checks required for release, except for code review, are automated as part of delivery pipeline

* Review is the only manual steps between code change and delivery decision

Page 23: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia23

Category – Continuous Integration

Dream state scenario:

Sufficient testing on all test levels is executed automatically for every proposed change to the product main line. If the tests pass the change is merged to the product and can be delivered to customers with no further verification. If the test fail the developer receives immediate feedback and can try again, many times in a day.

Pessimistic scenario:

The latest development on different SW components is on different branches. Integrating the branches to form a working product is slow manual work and a long commit freezing period is required to stabilize the build.

Lead times for delivering fixes and features to customers are long. Small changes cannot be delivered individually.

How to translate levels into real-life scenarios?

Public

Page 24: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

24 © Nokia 2017

Agenda for today

DevOps in a Nutshell

DevOps Assessment2

Testing Aspects of DevOps4

1

Continuous Integration Aspect of DevOps3

Take away5

Page 25: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia25

Focus on Quality Assurance and Verification The 12 Assessment Categories

Planning & Requirements

Culture & Organization

Continuous Integration

Software Config. Management

Architecture

QA & Verification

Upgradability

Visibility

System Integration

SW Maintenance Monitoring & Feedback

Network Planning and Optimization

Network Implementation

Public

Page 26: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia26

Value driven testing built on customer collaborationWhat is important for QA & Verification in DevOps?

Test First Thinking

Continuous Product level

Quality Assurance

Utilizing the lowest possible

test level

Automation of Testing tasks

Share (testing) tools and assets across the Value

Stream

Public

Page 27: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia27

Test First Thinking

Category – QA & Verification – Key Areas example

All types of test are identified upfront collaboratively

Testing is guided by Risk Levels

Feature level acceptance criteria are defined upfrontX%

X%

X%

X%

Test First Thinking

Acceptance Tests

Tests to cover Risks

Specification based testing

Exploratory Tests for Rainy Day scenarios

Business Focus

Technology Focus

Public

Page 28: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia28

An example of best practices and levels for QA&VKey Areas – Test First Thinking

Public

Best practiceLEVEL 1

InitialLEVEL 2

ConsistentLEVEL 3Managed

LEVEL 4Quantitatively

Managed

LEVEL 5Optimizing

Feature level acceptance criteria are defined upfront

Acceptance criteria are defined on release level

Acceptance criteria are defined on feature level within development iterations

Acceptance criteria are defined during feature screening and refined during development

Requirements are defined in the form of Acceptance Tests description (ATDD or BDD)

Acceptance Tests are written in formal language that specifies both Requirements and Acceptance tests, and can be executed as using Test Automation (example using Robot framework)

Page 29: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia29

How to translate levels into real-life scenarios?

Dream state scenario:

Tester is a value driven role in the DevOps team who is collaborating throughout the value chain up to the customer, driven by knowing the risks, providing quick feedback on development and quality assurance of product, using shared tools and commonly available automation solutions, building on Continuous exploration and improvement

Pessimistic scenario:

Testing is a cost driven, separated silo at the end of the pipeline, being a bottleneck caused by its low automation, long feedback cycle, outdated practices and tools

Public

Page 30: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

30 © Nokia 2017

Agenda for today

DevOps in a Nutshell

DevOps Assessment2

Testing Aspects of DevOps4

1

Continuous Integration Aspect of DevOps3

Take away5

Page 31: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

31 © Nokia 2016

Take away

Big size transformation needs a dedicated teamo

Study available DevOps Maturity Models, dare to build your own if neededo

Testing and CI/CD is key in DevOps, but there are more key areaso

Continuous Exploration and Learning is a musto

Page 32: Testing in DevOps - how to assess teams and give guidancetestingassembly.fistb.fi/sites/testingassemblyfistb... · o Big size transformation needs a dedicated team o Study available

© 2017 Nokia32 © 2017 Nokia32 Public