"improve the process by taking control" with amy phillips
DESCRIPTION
View webinar: http://www.eurostarconferences.com/community/member/webinar-archive/webinar-88-improve-the-process-by-taking-control Testing is one of the few overarching aspects of software delivery. Done well it is almost invisible. Yet in reality almost all aspects of a successful release require test input. Despite this testers often give developers freedom to select automation test strategies and are happy to let release managers co-ordinate releases, while reducing their role to nit-picking software. This session will examine how focusing on testing enabled Songkick to overhaul their entire build and release pipeline, and move from safe, controlled releases to continuous deployment. Contrary to common belief this approach could only succeed by drastically improving testing. The unique skills and knowledge that a tester holds is exactly what is needed to avoid testing gaps, prevent test duplication and most of all educate the development team about working with risk. Whatever your development approach this session will help you identify and explore ways in which your testing skills can, and should, be used to drive radical process improvements.TRANSCRIPT
Take Control of the ProcessAmy Phillips
Songkick.com
Don’t break anything critical
Avoid unnecessary delays
Clearly defined roles and responsibilities
Reliable build and release processes
Managing releases
What is your process?
Coding Ready to commit
Automated checks and build
Testing Deployed to Production
Why do we have this process?
Problem
Increase pre-
release checks
Release
Initiating process change
Have a vision
Define a single test strategy
Developers Testers
Unit Tests
Integration Tests
Manual Checks
Feature Tests
Regression Tests
Automated Checks
Define a single test strategy
Developers Testers
Unit Tests
Integration Tests Manual ChecksFeature Tests
Regression Tests
Automated Checks
Testing
Define a single test strategy
100 %Team Effort
CheckingTesting Machine Human
What is your process?
Coding Ready to commit
Automated checks and build
Testing Deployed to Production
Test at the right time
Coding Ready to commit
Automated checks and build
Testing Deployed to Production
Testing
Test at the right time
Coding Ready to commit
Automated checks and build
TestingChecks
Deployed to Production
Testing Testing
Releasing doesn’t have to mean launching
Automated regression checks
Database
User Interface
Unit
Inte
gra
tion
End
to E
nd
Regre
ssio
n
Unit
Make the checks fast◦ < 10 minutes to complete
Checks must run locally
Run tests in the most sensible order
Fast feedback
Never release if the build is red
Green builds must mean the tests have passed
Trust the test results
Performing the right tests at the right time
Automated build anddeploy process
Continuous Deployment
Code Build Check Release
The new process
CodeChecksTesting
Machine Checks Build
Machine Checks DeployHuman Test
Releases
Mar
-11
Apr-1
1
May
-11
Jun-
11
Jul-1
1
Aug-
11
Sep-
11
Oct-1
1
Nov-1
1
Dec-1
1
Jan-
12
Feb-
12
Mar
-12
Apr-1
2
May
-12
Jun-
12
Jul-1
2
Aug-
12
Sep-
12
Oct-1
2
Nov-1
2
Dec-1
20
20
40
60
80
100
120
140
Releases
It ended up being about more than just releases…
Everyone cares about testing
Fast and maintained automated checks
Bug fixes often take just minutes
What made it work Agree on an end goal
Stay risk focussed
Strong communication throughout the whole team
Use problems to drive positive change
Testers already have these skills
By managing the people and activities which make up the development process we can manage the risk level of a release.
Testing provides information to this process, which makes better-informed decisions possible.