Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with
-
Upload
eurostar-conference -
Category
Technology
-
view
316 -
download
0
description
Transcript of Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with
![Page 1: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/1.jpg)
1
Slow Down to Speed Up – Leveraging Quality to Enable Productivity
and Speed
Fran O’Hara – Inspire Quality [email protected]
www.inspireqs.ie
© 2014 Inspire Quality Services
![Page 2: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/2.jpg)
2
Agenda
• Quality and Speed/Productivity
• Lessons learnt/challenges
© 2014 Inspire Quality Services
![Page 3: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/3.jpg)
3
Resources Schedule
Scope/Requirements
Plan Driven
FIXED
ESTIMATED
Resources Schedule
Scope/Requirements
Value Driven
QualityQuality
Flipping the Iron Triangle
?
![Page 4: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/4.jpg)
4
Quality <-> Speed
(short term)Quick and Dirty is Faster
Bad Quality slows you down (long term)
Going faster gives better quality (short & long term)
![Page 5: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/5.jpg)
5
Economics of Product DevelopmentCycle Time
How Long it Takes to get Through the Value Stream
• Economies of Speed/Cost of Delay• Fast Feedback & Learning (Empirical)• Waste/Cost Reduction & Agility
Unit/Post-Dev CostCost of Deploying, Configuring,
Supporting, Using each ‘instance’• Ease of Use, Robustness• Cost of Configuration/Administration• Browser/Platform/OS Support
Development ExpenseDevelopment Project Costs
• Cost of Engineering Team• Dev Tools: SCM, CI, AutoTest• Team Management & Facilities• Shared Services (HR, Finance,etc.)
Product ValueProfit from a Software Product; Savings
from Internal IT Project• Sales Revenue (Volume * Price)• Cost Savings• Strategic Value
Adapted from Don Reinertsen, 2009
![Page 6: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/6.jpg)
6
go fast have quality we must To
Faster is better…
![Page 7: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/7.jpg)
7
Technical DebtSymptoms of technical debt• Bugs found in production• Incomprehensible, un-maintainable code• Insufficient or un-maintainable automated tests• Lack of CI• Poor internal quality• Etc.
© 2014 Inspire Quality Services
![Page 8: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/8.jpg)
8
Quality & Test
• Quality is not equal to test. Quality is achieved by putting development and testing into a blender and mixing them until one is indistinguishable from the other.
• Testing must be an unavoidable aspect of development, and the marriage of development and testing is where quality is achieved.
from ‘How google tests software’, James Whittaker et. al.
© 2014 Inspire Quality Services
![Page 9: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/9.jpg)
9
Lessons Learnt / Challenges
Test Automation
Line Management
Definition of Done
Test Competency
Requirements(e.g. Story size,
Non-Fn)
Test Strategy & Risk
Techniques (e.g. exploratory),
Planning for Quality, Documentation, …..
![Page 10: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/10.jpg)
10
Basic Testing within a Sprint
Automated Acceptance/Story
based Tests
Automated Unit Tests
Manual Exploratory
Tests
Represent Executable requirements
Represent Executable Design specifications
Provides Supplementary
feedback
Test Strategy &
Risk
© 2014 Inspire Quality Services
![Page 11: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/11.jpg)
11
Agile Testing Quadrants – Risk!
© 2014 Inspire Quality Services
Test Strategy & Risk
![Page 12: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/12.jpg)
12
Definition of ‘Done’
• An agreement between PO and the Team– Evolving over time to increase quality & ‘doneness’
• Used to guide the team in estimating and doing• Used by the PO to increase predictability and
accept Done PBIs• ‘Done’ may apply to a PBI and to an Increment• A single DoD may apply across an organisation, or
a product– Multiple teams on a product share the DoD
Definition of Done
© 2014 Inspire Quality Services
![Page 13: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/13.jpg)
13
DoD example
Story level• Unit tests passed, • unit tests achieving 80%
decision coverage,• Integration tests passed• acceptance tests passed with
traceability to story acceptance criteria,
• code and unit tests reviewed,
• static analysis has no important warnings,
• coding standard compliant, • published to Dev server
Sprint level• Reviewed and accepted by
PO, • E-2-E functional and feature
tests passed• all regression tests passing, • exploratory testing
completed, • performance profiling
complete, • bugs committed in sprint
resolved, • deployment/release docs
updated and reviewed, • user manual updated
Release level• Released to Stage server, • Deployment tests passed, • Deployment/release docs
delivered, • large scale integration
performance/stress testing passed
Definition of Done
© 2014 Inspire Quality Services
![Page 14: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/14.jpg)
14
The Automation Pyramid
Unit/Component layerDeveloper Tests
e.g. JUnit
API/Service layerAcceptance Tests
e.g. Fitnesse, Cucumber
GUI layere.g. Selenium
Manual Tests e.g. exploratory
Automate at feature/workflow level
Automate at story level
Automate at design level
Based on Mike Cohn
Test Automation
![Page 15: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/15.jpg)
15
Development Team(Analysts, Progmrs., Testers, Architect, DBA, UI/UX, etc)
You only need a Hero in a Crisis – so
No Heroes!
Deep
Broad
Programming Testers Testing Programmers
Architect
Team Lead
Developer1
Developer2
QA Lead
Tester1
Tester2
BA Lead
BA1
BA2
Create each increment of ‘Done’ Product
No Specialised Sub-Teams
Test Competency
?
![Page 16: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/16.jpg)
16
Is testing fully integrated?
Code Code Code & Bug Fix
Test
Sprint 1 Sprint 2
Code
Test
Sprint 1 Sprint 2
Code & Bug Fix Code
Test
Code & Bug Fix
Code & Bug Fix
Test
Sprint 1 Sprint 2
Code & Bug Fix
Test
A
B
C
Requirements(e.g. Story
size, Non-Fn)
![Page 17: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/17.jpg)
17
Examples of how to evolve quality/test practices…
• See Google’s ‘Test Certified’ levels• Paddy Power’s review of teams practices – using scale of 0-5 for items such as
– Code Reviews, – Pair Programming, – Code Analysis, – Unit Tests, – Continuous Integration, – Automated Acceptance Tests, – Data Generation, – Performance Analysis, – TDD, etc.
(from Graham Abel, Softtest Test Automation Conference 2013)
• Communities of Practice, Tribes, Mentors, etc.
© 2014 Inspire Quality Services
![Page 18: Slow Down to Speed Up - Leveraging Quality to Enable Productivity and Speed with](https://reader036.fdocuments.net/reader036/viewer/2022081413/547d8496b4af9f975a8b4ac8/html5/thumbnails/18.jpg)
18
Fran O’HaraInspireQS
Thank You!
© 2014 Inspire Quality Services