With agile principles and practices reaching maturity, in many organizations the focus for the coming years will be on the next steps. Beyond agile. In fast pace organizations are adopting agile, DevOps, continuous delivery and new architectures such as microservices. Often all at once. Although from a perspective of similarities between these paradigms this makes sense, this also is a recipe for failures and hard lessons to be learned. Kim van Wilgen will share her experiences from the pipeline to the enterprise level and from failure to success.
2. About me Kim van Wilgen
Head of development at ANVA
Former head of IT at Klaverblad
Business background
Managing since 2005
Programming since 2018
@kimvanwilgen
nl.linkedin.com/kimvanwilgen
kimvanwilgen@gmail.com
www.kimvanwilgen.com
9. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
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 delivering changes, and ultimately value,
to customers by allowing for more incremental changes to
applications in production.
Wikipedia, 2017
15. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
Level 1
Dev Test 1 Test n
Integration Acceptance Production
Dev Test 1 Test n
For each
component
Full landscape
Integration
Scenario /
UI testing
Acceptance Production
Add tests,metrics and visibility
Add monitoring
Add reviews
19. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
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
24. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
Acceptance
by team
Rehearsal
Canary
production
Global
production
Release strategy
Feature flags
Sustainable
pace
Shipping delay
Impact
reduction
27. Auditing and compliance
Everything in version control
Test change approval
Enforced peer reviews
Green goes to production
Approvals in workflow
Conformity by design
29. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
Fallback plans
Manual Acceptance Testing
Education for users
User documentation
Communication about releases
Asking feedback
Canary releasing
Cocreating tests
Walkthroughs
Embedded user assistance and chatbots
Release notes integrated in deployment
Monitoring feedback
Business IT antipatterns
@kimvanwilgen37
34. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
The red sprint antipattern
“Sprints won’t increase speed, they
will just make people unhappy” –
Sander Hoogendoorn
http://sanderhoogendoorn.com/blog/index.php/burn-down-
or-burn-out/
45. @kimvanwilgen | www.kimvanwilgen.comContinuous delivery in 10 easy mistakes
@kimvanwilgen | www.kimvanwilgen.com
References
and questions
www.kimvanwilgen.com
@kimvanwilgen
kimvanwilgen@gmail.com
Editor's Notes
Bugs per hour metrics, some bugs were open for 5 years
Now bugs open are down by 60%!!
Started januari with MVP in production july, now working on making PHP obsolete
We are in the complex quadrant where we have to explore. In some development we are even in the chaotic quadrant (3d printing of car parts)
Highperforming companies go faster and deliver higher quality
Big 74% vs small 10% successfull Standish group chaos manifesto 2013
At least naming is still a problem in IT.
Continuous integration
Agile way of working
Accepting an adaptable architecture
First Build pipelines
Need: docker, cloud…
Second: Add manual test steps
Third: Add automatic tests and monitoring
Then: professionalize
Know your quality and base your decisions on it. Don’t let technical debt just happen.
Upsource
Tests for features in the iteration first
Small tests over large tests
Discuss this in design sessions: what tests and what phases will we perform. Also a business decision
incentive to deliver fast
Incentive to deliver small
Incentive to deliver safely and monitor service
Incentive to deliver quality
HR processes frustrate team autonomy and working agile. Will they frustrate the process or coach people and facilitate a learning organisation?
Let people be persons with feelings, flaws and family.
Have job discriptions will make you rigid
Focus on strenghts instead of improvements
Critisism will enduce fear and stress, people will minimize the amount of it by hiding, preventing and risk minimization. Compliments will produce endorfines. People will seek more of it and the behavior will me much more persisted.
Focus on strenghts instead of improvements.
Performance talk is not: You are doing super. So, some point of attention and then talk about these for an hour.
Critisism fear minimize hiding, preventing. Compliments will produce endorfines more persisted.
Talk about it openly and ask help
Measuring bugs per hour and we say: we have a good idea! We are going to deliver changes more often!! Yeah!
Backoffice: invest in automation, deliver bugfixes directly and automated. Less risk in each release to build trust