2. Tomas Riha
Architect @ VGT/WirelessCar
MAJOR Project Liability
Passionate about creativity, change and improvement
Horrible at following instructions and performing repetitive tasks
mail: triha74@gmail.com
twitter: @TomasRihaSE
blog: continuous-delivery-and-more.blogspot.com
3. Three Years ago
New Plattform
Multiple Stakeholders
Continuous Regression Testing
How hard can it be?
6. Continuous Delivery
Principles
The process MUST be repeatable and reliable
Automate everything
If somethings difficult or painful, do it more often
Keep everything in source control
Done means “released”
Build quality in!
Everybody has responsibility for the release process
Improve continuously
7. 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 doing
Continuous Delivery!
8. Then we tried to scale it...
... and we failed in every possible way.
We lost our test driven development
We lost the individual responsibility
We more or less became a automated waterfall unable to
delivery daily
9. 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!
10. Lets look at the roles and how they change
Developer
Tester
PM/Scrum Masters
Product Owner
Operations
Organization
11. 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
14. 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.
15. Developers
Developers need to take more responsibility for
Regression test
Writing test code
Testing the system
Integrating their code
In order to always have a working system
Need to take more responsibility
16. 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.
17. 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!!!
18. 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.
19. 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.
20. 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!
21. 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!
22. 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 Management
usually done by Testers
23. Testers
Our most sought after profile
Testers with strong technical skills
Developers with strong testing skills
Be either and earn $$$$
24. 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
25. 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?
26. Project Management
Kanban 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
27. Project Management
What 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
28. 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
29. Operations
In the long run DevOps is a must!
Infrastructure needs to be versioned,
dependency managed
and deployed with application
using same mechanisms in all environments
Operations & Infrastructure architecture needs to be part of development
30. Organisation
Buy in from Organization is a must
Continuous Delivery affects entire organization.
Continuous Delivery CHANGES the organization
and the individuals within it.
31. Thats it!
Feedback & Any questions you forgot to ask?
http://continuous-delivery-and-more.blogspot.se
or at
the Bar!