20171116 (buildstuff) the continuous culture

62
@kimvanwilgen | www.kimvanwilgen.nl The continuous culture 1 The continuous culture

Upload: kim-van-wilgen

Post on 23-Jan-2018

225 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 1

The continuous culture

Page 2: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 2

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

About me

Page 3: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 3

The continuous culture

Page 4: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 4

Insurance company

Service provider

Wholesale

Agents

ANVAInsurtech company for the Netherlands

Page 5: 20171116   (buildstuff) the continuous culture

@aahoogendoorn | www.ditisagile.nlDesigning, developing, testing and deploying microservices 5

@kimvanwilgen | www.ditisagile.nl

Going fasterKeeping up with competition

Page 6: 20171116   (buildstuff) the continuous culture
Page 7: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 7

Software development is complex

Page 8: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 8

Build up value and reduce risk The value of incremental change

Page 9: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 9

Small projects vs. Large projects

From: the Chaos manifesto 2013, The Standish group

Page 10: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 10

Feedback and data grow value and innovationThe value of incremental change

Page 11: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 11

Building the right thingHaving 14% vs 64% unused features

Page 12: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 12

Innovation is not an epiphany, it’s exploration

Page 13: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 13

Flow eliminates waste and overheadThe value of incremental change

Page 14: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 14

Flow provides insightOr at least enough of it

Page 15: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 15

@kimvanwilgen | www.kimvanwilgen.nl

How to deliverincrementalchangeIn 10 lessons

Page 16: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 16

Be able to safely andsustainably deliver software toenable experiments

Page 17: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 17

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 allowing for more incremental changes to applications in production.Wikipedia, 2017

Page 18: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 18

What is continuous

Klaverblad

ANVA ANVA

Klaverblad Amazon

Page 19: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 19

Tool focusedNo

requirements or product vision

Distributed over teams

Besides other projects

So let’s go

Page 20: 20171116   (buildstuff) the continuous culture

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

@kimvanwilgen | www.kimvanwilgen.com

ResultsIncomplete tests

No shipping choice

No monitoring

No compliance or control

Page 21: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 21

Continuous delivery means you’rebuilding software. So treat is as a software development process

Page 22: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 22

Have a backlog and define your MVP

Page 23: 20171116   (buildstuff) the continuous culture

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

Page 24: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 24

Level 1

Dev Test 1 Test n

Integration Acceptance Production

Dev Test 1 Test n

For each component

Full landscape

IntegrationScenario / UI testing

Acceptance Production

Add tests and metrics

Add monitoring

Add reviews

Page 25: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 25

Improve and maturize by priority

Quality

Security

Performance

Mutation

Experimenting

A/B testing

Canary releasing

Blue / green deployments

Data driven decisions

Assistance

Walkthroughs

Chatbots

Distributed releasing

Health

Issue tracking

Build status

Monitoring

Immutable servers

Page 26: 20171116   (buildstuff) the continuous culture

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

You’re only as small as your MVP and as agile as your roadmap

Page 27: 20171116   (buildstuff) the continuous culture

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

Stop extensive planning

Page 28: 20171116   (buildstuff) the continuous culture

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

And stop red sprints

Page 29: 20171116   (buildstuff) the continuous culture

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

Agile Product management

Page 30: 20171116   (buildstuff) the continuous culture

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

Product vision and business cases

Page 31: 20171116   (buildstuff) the continuous culture

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

You’re not the only one who’sprocess is changing

Page 32: 20171116   (buildstuff) the continuous culture

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

Auditing andcompliancce

Everything in version control

Mutation testing / test change approvals

Enforced peer reviews

Green goes to production

Approvals in workflow

Conformity by design

Page 33: 20171116   (buildstuff) the continuous culture

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

Business IT antipatterns

Fallback plans

Manual Acceptance Testing

Education for users

User documentation

Communication about releases

@kimvanwilgen36

Page 34: 20171116   (buildstuff) the continuous culture

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

Releasenotes from jira

Page 35: 20171116   (buildstuff) the continuous culture

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

Old school HR, management andfunctions undermine autonomy. Reinvent them

Page 36: 20171116   (buildstuff) the continuous culture

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

Page 37: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 40

Inspiration over management

Page 38: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 41

FeedforwardIntegration with each iteration for continuous flow

Stakeholder inputFor acceptance and selfcritism

Feedback forimprovement of the team

Supportive feedback for help with patternsor goals

Page 39: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 42

Start looking at results

Page 40: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 43

Feedback fun

Page 41: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 44

Autonomy means

trusting and giving space

Page 42: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 45

Team autonomy asks

leaders to change

Page 43: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 46

Learning to learn

Page 44: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 47

Learning cool new stuff everyday

Page 45: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 48

Continuous learning

Page 46: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 49

Discover together and celebrate new knowledgeLearn to explore

Page 47: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 50

Academy, workshops, hackatons, conferences

Page 48: 20171116   (buildstuff) the continuous culture

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

Design for fast feedback andevolution

Page 49: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 52

Microservices are the first architectural style to fully embrace continuous delivery. It is an evolutionary architecture, which supports incremental non-breaking change as a first principle along multiple dimensions at the structural level of the application

Neal Ford, Thoughtworks

Page 50: 20171116   (buildstuff) the continuous culture

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

Test pyramidSmall tests and risk based

Page 51: 20171116   (buildstuff) the continuous culture

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

Maintainable testsAnd living documentation

Page 52: 20171116   (buildstuff) the continuous culture

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

Branching is your new mother-in-law: sometimes you have to go there but you want to minimize this

Page 53: 20171116   (buildstuff) the continuous culture

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

Isolation and integration

Page 54: 20171116   (buildstuff) the continuous culture

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

Page 55: 20171116   (buildstuff) the continuous culture

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

Branching

Feature toggling

No frontend path

Co-creation and pre-acceptance

The shipping delay pyramid

Page 56: 20171116   (buildstuff) the continuous culture

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

Customers don’t want continuous delivery

Page 57: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 60

Legacy code and broken trust

Page 58: 20171116   (buildstuff) the continuous culture

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

Collaborate with users on

test automation

First improve, then accelarate

Pull, not pushExplain your

goal

Build trust

Page 59: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 62

Continuousculture

Continuousdelivery

Agile product development

Learning organisation

Agile HR

Autonomousteams

Microservices

Enable rapid prototyping

Do small experiments toseek value

Enable learningfrom experiments

Enable an evolutionaryarchitecture

Empower teams to decideand adapt fast

Support people to learnagility and improve in their capabilities

Page 60: 20171116   (buildstuff) the continuous culture

@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 63

Be ready for surprises

Page 61: 20171116   (buildstuff) the continuous culture

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

@kimvanwilgen | www.kimvanwilgen.com

Closing downKeep going

Page 62: 20171116   (buildstuff) the continuous culture

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

@kimvanwilgen | www.kimvanwilgen.com

References and questions

www.kimvanwilgen.com

kimvanwilgen

[email protected]