continuous delivery its not about the technology, its about the people
DESCRIPTION
TRANSCRIPT
Continuous DeliveryIts not about the technology its about the
people.
Tomas Riha
Architect @ VGT/WirelessCar
MAJOR Project LiabilityPassionate about creativity, change and improvement
Horrible at following instructions and performing repetitive tasks
mail: [email protected]: @TomasRihaSE
blog: continuous-delivery-and-more.blogspot.com
Three Years ago
New Plattform
Multiple Stakeholders
Continuous Regression Testing
How hard can it be?
Regression Test
Unit Testing
Component Testing
System Testing
Rollback/Compatibility Testing
Failover Testing
Performance Testing
Continuous Delivery
Build, release, deploy and test every check in.
Build Release Deploy Test
Continuous Delivery
Principles
The process MUST be repeatable and reliableAutomate everything
If somethings difficult or painful, do it more oftenKeep everything in source control
Done means “released”Build quality in!
Everybody has responsibility for the release processImprove continuously
At first it was super easy!
Small team of just product owner architect and scrum master.
Huge productivity, natural test driven development.
Fast return on investment
All by the book.... we were doingContinuous Delivery!
Then we tried to scale it...
... and we failed in every possible way.
We lost our test driven developmentWe lost the individual responsibility
We more or less became a automated waterfall unable to delivery daily
Continuous Delivery changes our behaviour
Changing the behaviour of 5 people is easy.
Changing the behaviour of 50 is super hard.
You have to understand the changes!
Lets look at the roles and how they change
DeveloperTester
PM/Scrum MastersProduct Owner
OperationsOrganization
Developers
Everything has to work all the time!
Pre Planning
Dev Sys Test Reg Test
Pre Planning
Dev Sys Test Reg Test
In traditional scrummerfall projects system only works once every iteration.
No one cares if you check in a something before lunch just to “save” your work.
Sprint
Developers
Pre Planning
Dev
Test Automation
Reg Test
Thats an awful lot of testing... YES!
Test driven development requires that developers work with testing.
Pre Planning
Reg Test Reg Test
Verification
Verification
Test Driven Development
Developers
Pre Planning
Dev
Test Automation
Reg Test
This creates context switching but its up to the developer to step it up!
Pre Planning
Reg Test Reg Test
Verification
Verification
Regression has priority! ALWAYS!
Developers
Developers hate branches, or so they say
Hate merging because it mixes their code with others
Love feature branches because they don't have to integrate their work
Developers LOVE BRANCHES!!
Continuous Delivery is done on the trunk.
Developers
Developers need to take more responsibility forRegression testWriting test code
Testing the systemIntegrating their code
In order to always have a working system
Need to take more responsibility
Developers
So its its just up to the developers to shape up?
The Continuous Delivery process needs to provide visibility and traceability to provide means to take responsibility.
Developers need to be coached to increase responsibility and to mitigate fear.
Testers
When we scaled up we added testers
Developers were happy because they could go back to handing over code for testing.
Adding testers we lost all test driven development!!!
Testers
Agreement is key
Finding bugs is not the goal of testing.Ensure we build the right application.
Testing has to be done on a black box.Never verify on system files, databases or code.
Verify on interfaces.Build quality in.
Testers
Pre Planning
Dev Sys Test Reg Test
Pre Planning
Dev Sys Test Reg Test
Sprint
A tester is a tester is a tester
Manual System & Regression Testing is a reactive repetitive task.
Testers
Pre Planning
Dev
Test Automation
Reg Test
TDD is not testing its requirement verification.
Not all testers are suited to do requirement verification!
Pre Planning
Reg Test Reg Test
Verification
Verification
Test Drive Development is proactive!
Testers
Pre Planning
Dev
Test Automation
Reg Test
Automating the requirement verification is a technical task.
Not all testers are suited to do automation as its too technical!
Pre Planning
Reg Test Reg Test
Verification
Verification
Test Drive Development is also technical!
Testers
Changed how we look on Tester Profession
Requirement Verification usually done by BAs/Testers/Architects
Test Case Automation usually done by Developers
Regression Suite Managementusually done by Testers
Testers
Our most sought after profile
Testers with strong technical skillsDevelopers with strong testing skills
Be either and earn $$$$
Testers
Managing the change to the tester profession.
Developers have an expanded role
Testers have a changed role which is much harder to manage
Testers must let developers test
Project Management
Pre Planning
Dev Sys Test Reg Test
Pre Planning
Dev Sys Test Reg Test
Sprint
Scrum really doesn't fit all that well
Scrum builds up to a end of sprint release, but why not release daily?
Project ManagementKanban inspired feature development better fit
Building and releasing one feature “at the time” is a much better fit.
Feature cycle
Pre Planning
Dev
Test Automation
Pre Planning
Verification
Verification
Pre Planning
Dev
Test Automation
Pre Planning
Verification
Verification
Feature cycle
Project ManagementWhat is included in the release???
Continuous Delivery process needs to provide reporting and release notes.
Visibility of feature completion is extremely important.
Feature cycle
Pre Planning
Dev
Test Automation
Pre Planning
Verification
Verification
Pre Planning
Dev
Test Automation
Pre Planning
Verification
Verification
Feature cycle
Product Owners
Want just what they ask for nothing else.
Are extremly scared for half finished features.
Shared bug fixes are ok but not shared features.
Product Owners love branches
Operations
In the long run DevOps is a must!
Infrastructure needs to be versioned, dependency managed
and deployed with applicationusing same mechanisms in all environments
Operations & Infrastructure architecture needs to be part of development
Organisation
Buy in from Organization is a mustContinuous Delivery affects entire organization.
Continuous Delivery CHANGES the organization and the individuals within it.
Thats it!
Feedback & Any questions you forgot to ask?
http://continuous-delivery-and-more.blogspot.seor at
the Bar!