Upload
kim-van-wilgen
View
206
Download
1
Embed Size (px)
Citation preview
@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
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 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 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.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 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 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