continuous delivery its not about the technology, its about the people

31
Continuous Delivery Its not about the technology its about the people.

Upload: tomas-riha

Post on 15-Jan-2015

642 views

Category:

Business


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Continuous delivery its not about the technology, its about the people

Continuous DeliveryIts not about the technology its about the

people.

Page 2: Continuous delivery its 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

Page 3: Continuous delivery its not about the technology, its about the people

Three Years ago

New Plattform

Multiple Stakeholders

Continuous Regression Testing

How hard can it be?

Page 4: Continuous delivery its not about the technology, its about the people

Regression Test

Unit Testing

Component Testing

System Testing

Rollback/Compatibility Testing

Failover Testing

Performance Testing

Page 5: Continuous delivery its not about the technology, its about the people

Continuous Delivery

Build, release, deploy and test every check in.

Build Release Deploy Test

Page 6: Continuous delivery its not about the technology, its about the people

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

Page 7: Continuous delivery its not about the technology, its about the people

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!

Page 8: Continuous delivery its not about the technology, its about the people

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

Page 9: Continuous delivery its not about the technology, its about the people

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!

Page 10: Continuous delivery its not about the technology, its about the people

Lets look at the roles and how they change

DeveloperTester

PM/Scrum MastersProduct Owner

OperationsOrganization

Page 11: Continuous delivery its not about the technology, its about the people

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

Page 12: Continuous delivery its not about the technology, its about the people

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

Page 13: Continuous delivery its not about the technology, its about the people

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!

Page 14: Continuous delivery its not about the technology, its about the people

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.

Page 15: Continuous delivery its not about the technology, its about the people

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

Page 16: Continuous delivery its not about the technology, its about the people

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.

Page 17: Continuous delivery its not about the technology, its about the people

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!!!

Page 18: Continuous delivery its not about the technology, its about the people

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.

Page 19: Continuous delivery its not about the technology, its about the people

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.

Page 20: Continuous delivery its not about the technology, its about the people

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!

Page 21: Continuous delivery its not about the technology, its about the people

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!

Page 22: Continuous delivery its not about the technology, its about the people

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

Page 23: Continuous delivery its not about the technology, its about the people

Testers

Our most sought after profile

Testers with strong technical skillsDevelopers with strong testing skills

Be either and earn $$$$

Page 24: Continuous delivery its not about the technology, its about the people

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

Page 25: Continuous delivery its not about the technology, its about the people

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?

Page 26: Continuous delivery its not about the technology, its about the people

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

Page 27: Continuous delivery its not about the technology, its about the people

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

Page 28: Continuous delivery its not about the technology, its about the people

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

Page 29: Continuous delivery its not about the technology, its about the people

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

Page 30: Continuous delivery its not about the technology, its about the people

Organisation

Buy in from Organization is a mustContinuous Delivery affects entire organization.

Continuous Delivery CHANGES the organization and the individuals within it.

Page 31: Continuous delivery its not about the technology, its about the people

Thats it!

Feedback & Any questions you forgot to ask?

http://continuous-delivery-and-more.blogspot.seor at

the Bar!