20171030 (tdc) continuously delivering continuous delivery

40
@kimvanwilgen | www.kimvanwilgen.com Continuously delivering continuous delivery 1 @kimvanwilgen | www.kimvanwilgen.com Continuously delivering continuous delivery Kim van Wilgen www.kimvanwilgen.com

Transcript of 20171030 (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 1

@kimvanwilgen | www.kimvanwilgen.com

Continuously delivering continuous deliveryKim van Wilgen

www.kimvanwilgen.com

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 2

Kim van Wilgen

Head of Software development at ANVA

Former head of IT at Klaverblad

Business background

Managing since 2005

@kimvanwilgen

nl.linkedin.com/kimvanwilgen

[email protected]

www.kimvanwilgen.com

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 4

Continuous Delivery (CD) is a set of practices and principles in software engineering aimed at, building, testing, and releasing software, faster and more frequently. These principles help reduce the cost, time and risk of deliveringchanges, and ultimately value, to customers by allowingfor more incremental changes to applications in production.

Wikipedia, 2017

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 5

Build up value and reduce risk The value of incremental change

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 6

Small projects vs. Large projects

From: the Chaos manifesto 2013, The Standish group

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 7

Feedback and data grow value and innovationThe value of incremental change

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 8

Building the right thingHaving 14% vs 64% unused features

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 11

What is continuous

Klaverblad

ANVA ANVA

Klaverblad Amazon

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 12

Tool focusedNo

requirements or product vision

Distributed over teams

Besides other projects

So let’s go

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 13

@kimvanwilgen | www.kimvanwilgen.com

ResultsIncomplete tests

No shipping choice

No monitoring

No compliance or control

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 14

Continuous delivery means you’rebuilding software. So treat is as a software development processLesson #1

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 15

Backlog and prioritizing items

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 16

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 17

Level 1

Dev Staging Test

Integration Acceptance Production

Dev Staging Test

For each component

Full landscapeDev Staging Test Manual

Dev Staging Test Manual

IntegrationScenario / UI testing

Acceptance Production

Add tests and metrics

Add monitoring

Add reviews

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 18

Improve and maturize

Testing

Security

Performance

Mutation

Experimenting

A/B testing

Canary releasing

Blue / green deployments

Data driven decisions

Releasing

Walkthroughs

Chatbots

Distributed releasing

Health

Issue tracking

Build status

Monitoring

Immutable servers

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 19

Build pipelineInsight in process, status and workflow management

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 23

MonitoringInstant response and proactive support

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 24

Static analysisKnowing quality

@kimvanwilgen24

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 25

Peer reviews

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 26

You’re not the only one who’s process is changing

Lesson #2

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 27

Auditing

No more code audits

Everything in version controlMutation testing / test change approvalsEnforced peer reviews Green goes to productionApprovals in workflow

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 28

Regulatory conformity by design

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 29

Business IT antipatterns

Fallback plans

Manual Acceptance Testing

Education for users

User documentation

Communication about releases

@kimvanwilgen29

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 30

Releasenotes from jira

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 31

Agile Product management

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 32

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 33

Test automation requires architecture anddesignLesson #3

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 34

Test pyramidFocus on small tests and fast feedback that’s valuable and supports you the most

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 35

Business users think about the user interface perspective. They offer examples on how thingsshould work rather than what is required. This extra information must be removed to make key examplessimple to communicate and understand.

Refining the specification

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 36

Imperative vs. Declarative languageAnd being unibiquitous

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 37

Collaboration of engineers and testers

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 38

Branching is your new mother-in-law: sometimes you have to go there but younever want toLesson #4

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 39

Isolation and integration

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 40

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 41

Branch, blue/green

Feature toggling

Direct delivery by having no frontend

Intensive customer collaboration and preacceptance

The shipping delay pyramid

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 42

Customers don’t want continuous deliveryLesson #5

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 43

Insurance company

Service provider

Wholesale

Agents

ANVAInsurtech company for the Netherlands

@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 44

Collaborate with users on

test automation

First improve, then accelarate

Pull, not pushExplain your

goal

Build trust

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 46

@kimvanwilgen | www.kimvanwilgen.com

Closing downKeep going

@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 47

@kimvanwilgen | www.kimvanwilgen.com

References and questions

www.kimvanwilgen.com

kimvanwilgen

[email protected]