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

20171030 (tdc) continuously delivering continuous delivery

Jan 23, 2018

Download

Engineering

Kim van Wilgen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 3: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 4: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 5

Build up value and reduce risk The value of incremental change

Page 5: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 6

Small projects vs. Large projects

From: the Chaos manifesto 2013, The Standish group

Page 6: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 7

Feedback and data grow value and innovationThe value of incremental change

Page 7: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 8

Building the right thingHaving 14% vs 64% unused features

Page 8: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 11

What is continuous

Klaverblad

ANVA ANVA

Klaverblad Amazon

Page 9: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 12

Tool focusedNo

requirements or product vision

Distributed over teams

Besides other projects

So let’s go

Page 10: 20171030   (tdc) continuously delivering continuous delivery

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

@kimvanwilgen | www.kimvanwilgen.com

ResultsIncomplete tests

No shipping choice

No monitoring

No compliance or control

Page 11: 20171030   (tdc) continuously delivering continuous delivery

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

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

Page 12: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 15

Backlog and prioritizing items

Page 13: 20171030   (tdc) continuously delivering continuous delivery

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

Page 14: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 15: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 16: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 19

Build pipelineInsight in process, status and workflow management

Page 17: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 23

MonitoringInstant response and proactive support

Page 18: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 24

Static analysisKnowing quality

@kimvanwilgen24

Page 19: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 25

Peer reviews

Page 20: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 26

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

Lesson #2

Page 21: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 22: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 28

Regulatory conformity by design

Page 23: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 24: 20171030   (tdc) continuously delivering continuous delivery

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

Releasenotes from jira

Page 25: 20171030   (tdc) continuously delivering continuous delivery

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

Agile Product management

Page 26: 20171030   (tdc) continuously delivering continuous delivery

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

Page 27: 20171030   (tdc) continuously delivering continuous delivery

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

Test automation requires architecture anddesignLesson #3

Page 28: 20171030   (tdc) continuously delivering continuous delivery

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

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

Page 29: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 30: 20171030   (tdc) continuously delivering continuous delivery

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

Imperative vs. Declarative languageAnd being unibiquitous

Page 31: 20171030   (tdc) continuously delivering continuous delivery

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

Collaboration of engineers and testers

Page 32: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 33: 20171030   (tdc) continuously delivering continuous delivery

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

Isolation and integration

Page 34: 20171030   (tdc) continuously delivering continuous delivery

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

Page 35: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 36: 20171030   (tdc) continuously delivering continuous delivery

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

Customers don’t want continuous deliveryLesson #5

Page 37: 20171030   (tdc) continuously delivering continuous delivery

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 43

Insurance company

Service provider

Wholesale

Agents

ANVAInsurtech company for the Netherlands

Page 38: 20171030   (tdc) continuously delivering continuous delivery

@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

Page 39: 20171030   (tdc) continuously delivering continuous delivery

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

@kimvanwilgen | www.kimvanwilgen.com

Closing downKeep going

Page 40: 20171030   (tdc) continuously delivering continuous delivery

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

@kimvanwilgen | www.kimvanwilgen.com

References and questions

www.kimvanwilgen.com

kimvanwilgen

[email protected]