20171116 (buildstuff) the continuous culture
TRANSCRIPT
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 1
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
www.kimvanwilgen.com
About me
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 3
The continuous culture
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 4
Insurance company
Service provider
Wholesale
Agents
ANVAInsurtech company for the Netherlands
@aahoogendoorn | www.ditisagile.nlDesigning, developing, testing and deploying microservices 5
@kimvanwilgen | www.ditisagile.nl
Going fasterKeeping up with competition
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 7
Software development is complex
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 8
Build up value and reduce risk The value of incremental change
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 9
Small projects vs. Large projects
From: the Chaos manifesto 2013, The Standish group
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 10
Feedback and data grow value and innovationThe value of incremental change
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 11
Building the right thingHaving 14% vs 64% unused features
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 12
Innovation is not an epiphany, it’s exploration
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 13
Flow eliminates waste and overheadThe value of incremental change
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 14
Flow provides insightOr at least enough of it
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 15
@kimvanwilgen | www.kimvanwilgen.nl
How to deliverincrementalchangeIn 10 lessons
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 16
Be able to safely andsustainably deliver software toenable experiments
@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
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 18
What is continuous
Klaverblad
ANVA ANVA
Klaverblad Amazon
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 19
Tool focusedNo
requirements or product vision
Distributed over teams
Besides other projects
So let’s go
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 20
@kimvanwilgen | www.kimvanwilgen.com
ResultsIncomplete tests
No shipping choice
No monitoring
No compliance or control
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 21
Continuous delivery means you’rebuilding software. So treat is as a software development process
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 22
Have a backlog and define your MVP
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 23
@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
@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
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 29
You’re only as small as your MVP and as agile as your roadmap
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 30
Stop extensive planning
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 31
And stop red sprints
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 32
Agile Product management
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 33
Product vision and business cases
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 34
You’re not the only one who’sprocess is changing
@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
@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
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 37
Releasenotes from jira
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 38
Old school HR, management andfunctions undermine autonomy. Reinvent them
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 39
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 40
Inspiration over management
@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
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 42
Start looking at results
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 43
Feedback fun
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 44
Autonomy means
trusting and giving space
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 45
Team autonomy asks
leaders to change
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 46
Learning to learn
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 47
Learning cool new stuff everyday
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 48
Continuous learning
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 49
Discover together and celebrate new knowledgeLearn to explore
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 50
Academy, workshops, hackatons, conferences
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 51
Design for fast feedback andevolution
@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
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 53
Test pyramidSmall tests and risk based
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 54
Maintainable testsAnd living documentation
@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
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 56
Isolation and integration
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 57
@kimvanwilgen| www.kimvanwilgen.comContinuously delivering continuous delivery 58
Branching
Feature toggling
No frontend path
Co-creation and pre-acceptance
The shipping delay pyramid
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 59
Customers don’t want continuous delivery
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 60
Legacy code and broken trust
@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
@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
@kimvanwilgen | www.kimvanwilgen.nlThe continuous culture 63
Be ready for surprises
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 64
@kimvanwilgen | www.kimvanwilgen.com
Closing downKeep going
@kimvanwilgen | www.kimvanwilgen.comContinuously delivering continuous delivery 65
@kimvanwilgen | www.kimvanwilgen.com
References and questions
www.kimvanwilgen.com
kimvanwilgen