Continuous delivery its not about the technology, its about the people. @pipelineconf

36
Continuous Delivery It’s not about the technology it’s about the people.

description

Continuous Delivery its about the people from PiplineConf in London

Transcript of Continuous delivery its not about the technology, its about the people. @pipelineconf

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

Continuous DeliveryIt’s not about the technology it’s about the

people.

Page 2: Continuous delivery its not about the technology, its about the people. @pipelineconf

Tomas Riha

Architect @ VGT/WirelessCar

Passionate about creativity, change and improvementHorrible at following instructions and performing repetitive tasks

MAJOR Project Liability

mail: [email protected]: @TomasRihaSE

blog: continuous-delivery-and-more.blogspot.com

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

Three Years ago

New Telematics Delivery Platform

Multiple Stakeholders

Continuous Regression Testing

How hard can it be?

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

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. @pipelineconf

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 6: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 deliver daily

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

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 8: Continuous delivery its not about the technology, its about the people. @pipelineconf

Lets look at the roles and how they change

DeveloperTester

PM/Scrum MastersProduct Owner

OperationsOrganization

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

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 something in before lunch just to “save” your work.

Sprint

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

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 11: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 12: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 13: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 14: Continuous delivery its not about the technology, its about the people. @pipelineconf

Developers

So it’s 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 15: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 16: Continuous delivery its not about the technology, its about the people. @pipelineconf

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.

Tests as Code

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

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 18: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 19: Continuous delivery its not about the technology, its about the people. @pipelineconf

Testers

Pre Planning

Dev

Test Automation

Reg Test

Not all testers have skills to do automation as its a technical task!

Pre Planning

Reg Test Reg Test

Verification

Verification

Test Automation is a technical task!

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

Testers

Exploratory Testing

Requirement Verification ensures we deliver what we promise

Exploratory Testing ensures that we improve our application

Exploratory testing done without the requirements

Never hide manual regression testing behind Exploratory Testing

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

Testers

Changed how we look on Tester Profession

Requirement Verification Specificationusually done by BAs/Testers/Architects

Verification Specification Automation usually done by Developers

Regression Suite Managementusually done by Testers

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

Testers

Our most sought after profile

Testers with strong technical skillsDevelopers with strong testing skills

Be either and earn $$$$

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

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

The Team creates the Tests as Code with the knowledge and experience of the Tester and the Developer.

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

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 25: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 26: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 27: Continuous delivery its not about the technology, its about the people. @pipelineconf

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 28: Continuous delivery its not about the technology, its about the people. @pipelineconf

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

infrastructure & configuration as code

Operations & Infrastructure architecture needs to be part of development

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

Road to DevOps & Infrastructure as Code

Lot of parallels with road to TDD and Test Automation

Dont hide configuration in codeDont hide test verification in code

We can just use do it manually in the consoleWe can just use verify it manually in the gui

Developers shouldn't touch runtime environmentsDevelopers shouldn't test

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

Road to DevOps & Infrastructure as Code

Lot of parallels with road to TDD and Test Automation

Most of all traditional old school Testers and Operations Specialists don't have the skill set to automate as code and are used to doing manual tasks.

Automation creates the same fear of in both and both have traditionally a very low confidence in developers.

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

Road to DevOps & Infrastructure as Code

Lot of parallels with road to TDD and Test Automation

Tests as Code needs Architecture, a dependency managed and verified lifecycle.

Infrastructure as Code needs Architecture and verified lifecycle

Infrastructure and Test Code needs to become first class citizens and not treated as one time scripts

Page 32: Continuous delivery its not about the technology, its about the people. @pipelineconf

Road to DevOps & Infrastructure as Code

Managing the change to the Operation Specialist professions.

Developers have to be allowed into production

Manage the responsibility level of the developers and gain confidence from the Operations Specialists

Operations Specialists need to understand that servers are not pets but cattle

The team creates the Infrastructure as Code with the knowledge and experience of the Operations Specialist and the Developer

Page 33: Continuous delivery its not about the technology, its about the people. @pipelineconf

DevOps & Infrastructure as Code

Next hot profiles for us

Operations Specialists with strong development skillsDevelopers with strong infrastructure skills

Be either and earn $$$$

Page 34: Continuous delivery its not about the technology, its about the people. @pipelineconf

Cross functional consensus

If the individuals don't reach a consensus on how to work with Continuous Delivery through the entire process your fancy implementation becomes the worlds most

expensive CI system

Page 35: Continuous delivery its not about the technology, its about the people. @pipelineconf

Organisation

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

Continuous Delivery CHANGES the organization and the individuals within it.

But don't forget a grassroot Continuous Delivery initiative can change your organization!

Page 36: Continuous delivery its not about the technology, its about the people. @pipelineconf

Thats it!

Feedback & Any questions you forgot to ask?

http://continuous-delivery-and-more.blogspot.se@TomasRihaSE

or atthe Pub!