+
Continuous Quality: What
DevOps Means for QA
Jeff Sussna, Ingineering.IT
@jeffsussna
Copyright © 2013 Ingineering.IT, LLC.
All Rights Reserved.
My Career
Jobs:
 Dev: from compilers to content management systems
 QA: automation through the ages
 Ops: enterprise, managed hosting, ITIL, ops automation, cloud
Design thinker with a penchant for software systems
Inveterate boundary-spanner and synthesist
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
My Practice
IT Service Innovation consultant
 Clients: Small development shops and large enterprise IT
Help Dev/QA/Ops work more closely with each other
Help them better understand each other and their customers
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
The Old Definition of Quality
The software meets the spec
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
…and then…
Agile…
 put the focus on delivering value
 changed the development/QA relationship
Cloud…
 turned software into service
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
The New Definition of Quality
The service helps customers accomplish their jobs-to-be-done
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Service Co-creates Value
Service provider helps customer create value-in-use
Restaurant:
 Not just about acquiring food
 Also about a having a relaxing, romantic night out
Cloud:
 Not just about acquiring Linux instances
 Also about cost-effectively operating elastic, resilient applications
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Value Co-Creation is a Journey
Customers engage via multiple touchpoints over time
Customers judge service by the entirety of their experience
"The food was great but the service was terrible"
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Restaurant
Journey:
 Find a restaurant
 Make a reservation
 Park
 Wait for a table, drink at the bar
 Order
 Eat
 Pay
 Recommend (or not)
Touchpoints:
 Yellow pages, phone, valet, bar, waiter, food, cashier, social media
 

Cloud
Journey:
 Understand a new service or feature
 Provision instances
 Import data
 Get help/provide feedback
 Incorporate updates
 Deal with outages
 Deprovision
Touchpoints:
 Website, console, API, documentation, blogs, email, phone, twitter
 

Software as Service
Co-creation has four dimensions:
 Functionality
 Operability
 Deliverability
 Coherency
Their quality is inseparable in the customer’s mind
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Functionality
Does the service help me do what I want to do (e.g., get paid on
time)?
 Track my time
 Generate and submit invoices
 Pester clients who haven't paid on time
 Track my overall cash flow
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Operability
Is the service available when and how I need it?
 Is it up when I need to bill my clients?
 Does it perform whether I’m the only user or one of a million?
 Does it let my data get lost or stolen?
 Can I get help when I need it?
 Can I get information when it’s down?
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Deliverability
Does the service respond as my needs change?
 70% functionality OK on day 1, not in year 2
 Today I want to manage invoices, tomorrow expenses
 I want bugs fixed in hours, not days/weeks/months
 I want changes delivered in an absorbable manner
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Coherency
Does the service engage me throughout my journey?
 Discovery/understanding
 Adoption/onboarding
 Administration
 Usage
 Help/feedback
 New functionality delivery
 Outage management
 Departure
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Delivering Software as Service
Service changes how software is built and operated
 User-centered design
 Test-driven development
 Continuous delivery
 MTTR over MTBF
21st-century IT builds in testing and learning-from-failure
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Old QA Role Disintegrates
Boundaries between QA and Design/Dev/Ops blur
Automation takes over mechanical activities
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Opportunity for New QA Role
Representative of “service not software” perspective:
 Four dimensions of software as service
 Their inseparability from perspective of quality
 Co-creation as fundamental unit of value
Boundary-spanning mirror
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
New QA Mindset
Lift one’s gaze above mechanics of testing
Treat tests as code
 Adopt development tools and practices
Focus on building quality into the system
 Tester => Quality Advocate #seewhatIdidthere
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
New QA Skills
Understand and think about service
 Outages involve communications, not just fixing servers
Understand and think about ops
Understand and think about process/automation
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
New QA Practices
Deep participation in cross-functional teams
Facilitation of service requirements understanding
Outside-in testing
Service delivery machine validation
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Participation
Good testers see systems and their parts
Good testers ask probing questions
 Did you think about…?
 You forgot about…
Good testers design good tests
Engage that proficiency in design and test plan critiques
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Requirements Understanding
Bugs found earlier in the lifecycle are cheaper to fix
Most important quality question:
 Do design/dev/qa/ops understand each other and the customer?
Techniques for modeling service requirements:
 Customer Journey Mapping
 Behavior-Driven Development
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Outside-in Testing
User testing validates usability
Unit testing validates code
Still need to test whether the thing does what it’s supposed to:
 Functional tests
 System tests
 Integration tests
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Continuous Outside-in Testing
Continuous delivery challenges testers’ ability to keep up
Solution:
 Part software tools and design skills
 Part agile process improvement
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Delivery Machine Validation
Operability and deliverability need outside-in testing too
 BDD (not just for functional requirements)
Co-creation necessitates designing for internal users
 Service Blueprinting
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
New QA Value
Unique holder of service understanding across all dimensions
Antidote to confirmation bias
 Everyone else is invested in what they designed and built
 QA is invested in customer satisfaction
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Continuous Quality
Old: tail wagging the dog
 Testing happens at the end
 QA acts as bottleneck
 Everyone hates QA
New: continuous quality
 Testing happens all the time
 Entire process and organization infused with quality
 QA acts as mirror
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
QA As Mirror
DevOps is about spanning boundaries
Service is about inseparable value
Need to translate between common and specialist viewpoints
QA can provide a mirror that helps everyone see:
 The whole
 Their relationship to it and to each other
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Delivery and Co-Creation
The product is not the functionality
The product is the delivery and operation of functionality
True co-creation dissolves customer/provider boundaries
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
The Ultimate Definition of Quality
The ability to continuously deliver and operate functionality that
helps customers accomplish their jobs-to-be-done
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
Props to @guidostompff
'Boundary-Spanning Mirroring' PhD thesis
http://designinteams.com/
More Info
Contact me about Continuous Quality consulting services:
 info@ingineering.it
 @jeffsussna
 http://www.linkedin.com/in/jeffsussna
Read my thoughts on DevOps, Cloud, and Design Thinking:
 http://blog.ingineering.it
Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.

Continuous Quality: What DevOps Means for QA

  • 1.
    + Continuous Quality: What DevOpsMeans for QA Jeff Sussna, Ingineering.IT @jeffsussna Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 2.
    My Career Jobs:  Dev:from compilers to content management systems  QA: automation through the ages  Ops: enterprise, managed hosting, ITIL, ops automation, cloud Design thinker with a penchant for software systems Inveterate boundary-spanner and synthesist Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 3.
    My Practice IT ServiceInnovation consultant  Clients: Small development shops and large enterprise IT Help Dev/QA/Ops work more closely with each other Help them better understand each other and their customers Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 4.
    The Old Definitionof Quality The software meets the spec Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 5.
    …and then… Agile…  putthe focus on delivering value  changed the development/QA relationship Cloud…  turned software into service Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 6.
    The New Definitionof Quality The service helps customers accomplish their jobs-to-be-done Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 7.
    Service Co-creates Value Serviceprovider helps customer create value-in-use Restaurant:  Not just about acquiring food  Also about a having a relaxing, romantic night out Cloud:  Not just about acquiring Linux instances  Also about cost-effectively operating elastic, resilient applications Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 8.
    Value Co-Creation isa Journey Customers engage via multiple touchpoints over time Customers judge service by the entirety of their experience "The food was great but the service was terrible" Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 9.
    Restaurant Journey:  Find arestaurant  Make a reservation  Park  Wait for a table, drink at the bar  Order  Eat  Pay  Recommend (or not) Touchpoints:  Yellow pages, phone, valet, bar, waiter, food, cashier, social media  

  • 10.
    Cloud Journey:  Understand anew service or feature  Provision instances  Import data  Get help/provide feedback  Incorporate updates  Deal with outages  Deprovision Touchpoints:  Website, console, API, documentation, blogs, email, phone, twitter  

  • 11.
    Software as Service Co-creationhas four dimensions:  Functionality  Operability  Deliverability  Coherency Their quality is inseparable in the customer’s mind Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 12.
    Functionality Does the servicehelp me do what I want to do (e.g., get paid on time)?  Track my time  Generate and submit invoices  Pester clients who haven't paid on time  Track my overall cash flow Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 13.
    Operability Is the serviceavailable when and how I need it?  Is it up when I need to bill my clients?  Does it perform whether I’m the only user or one of a million?  Does it let my data get lost or stolen?  Can I get help when I need it?  Can I get information when it’s down? Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 14.
    Deliverability Does the servicerespond as my needs change?  70% functionality OK on day 1, not in year 2  Today I want to manage invoices, tomorrow expenses  I want bugs fixed in hours, not days/weeks/months  I want changes delivered in an absorbable manner Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 15.
    Coherency Does the serviceengage me throughout my journey?  Discovery/understanding  Adoption/onboarding  Administration  Usage  Help/feedback  New functionality delivery  Outage management  Departure Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 16.
    Delivering Software asService Service changes how software is built and operated  User-centered design  Test-driven development  Continuous delivery  MTTR over MTBF 21st-century IT builds in testing and learning-from-failure Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 17.
    Old QA RoleDisintegrates Boundaries between QA and Design/Dev/Ops blur Automation takes over mechanical activities Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 18.
    Opportunity for NewQA Role Representative of “service not software” perspective:  Four dimensions of software as service  Their inseparability from perspective of quality  Co-creation as fundamental unit of value Boundary-spanning mirror Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 19.
    New QA Mindset Liftone’s gaze above mechanics of testing Treat tests as code  Adopt development tools and practices Focus on building quality into the system  Tester => Quality Advocate #seewhatIdidthere Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 20.
    New QA Skills Understandand think about service  Outages involve communications, not just fixing servers Understand and think about ops Understand and think about process/automation Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 21.
    New QA Practices Deepparticipation in cross-functional teams Facilitation of service requirements understanding Outside-in testing Service delivery machine validation Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 22.
    Participation Good testers seesystems and their parts Good testers ask probing questions  Did you think about…?  You forgot about… Good testers design good tests Engage that proficiency in design and test plan critiques Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 23.
    Requirements Understanding Bugs foundearlier in the lifecycle are cheaper to fix Most important quality question:  Do design/dev/qa/ops understand each other and the customer? Techniques for modeling service requirements:  Customer Journey Mapping  Behavior-Driven Development Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 24.
    Outside-in Testing User testingvalidates usability Unit testing validates code Still need to test whether the thing does what it’s supposed to:  Functional tests  System tests  Integration tests Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 25.
    Continuous Outside-in Testing Continuousdelivery challenges testers’ ability to keep up Solution:  Part software tools and design skills  Part agile process improvement Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 26.
    Delivery Machine Validation Operabilityand deliverability need outside-in testing too  BDD (not just for functional requirements) Co-creation necessitates designing for internal users  Service Blueprinting Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 27.
    New QA Value Uniqueholder of service understanding across all dimensions Antidote to confirmation bias  Everyone else is invested in what they designed and built  QA is invested in customer satisfaction Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 28.
    Continuous Quality Old: tailwagging the dog  Testing happens at the end  QA acts as bottleneck  Everyone hates QA New: continuous quality  Testing happens all the time  Entire process and organization infused with quality  QA acts as mirror Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 29.
    QA As Mirror DevOpsis about spanning boundaries Service is about inseparable value Need to translate between common and specialist viewpoints QA can provide a mirror that helps everyone see:  The whole  Their relationship to it and to each other Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 30.
    Delivery and Co-Creation Theproduct is not the functionality The product is the delivery and operation of functionality True co-creation dissolves customer/provider boundaries Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 31.
    The Ultimate Definitionof Quality The ability to continuously deliver and operate functionality that helps customers accomplish their jobs-to-be-done Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.
  • 32.
    Props to @guidostompff 'Boundary-SpanningMirroring' PhD thesis http://designinteams.com/
  • 33.
    More Info Contact meabout Continuous Quality consulting services:  info@ingineering.it  @jeffsussna  http://www.linkedin.com/in/jeffsussna Read my thoughts on DevOps, Cloud, and Design Thinking:  http://blog.ingineering.it Copyright © 2013 Ingineering.IT, LLC. All Rights Reserved.

Editor's Notes

  • #3 Advantage of being around since rocks were young is you do lots of stuffMy career has spanned dev qa opsHad oppt to do a lot of each of them
  • #4 Now that I’m a consultant I spend my time help dev qa ops better understand and work more closely with each otherI do it from the perspective of my personal obsession with interdisciplinarity and synthesis
  • #5 When I look back to the early days of my career I remember applying for a QA Eng jobMechanicalNo input into goodness of softwareOnly input into spec if we couldn’t test
  • #6 Key to talk: we’re in the business of service not software
  • #7 Service helps customer accomplish something they’re trying to do
  • #8 A defining characteristic of service is value cocreationNot just exchange of money for value-filled thingsAmazon gets this
  • #9 Another defining characteristic of service is the customer journey
  • #10 Customer does much more than just eatInteracts with much more than just food
  • #11 Customer does much more than just spin up serversInteracts with much more than just API
  • #13 Tracking cash flow requires integration is part of larger JTBD
  • #14 Outage info points to JTBD
  • #16 Outage management engages me as ops too - JTBD
  • #17 Not only does service change what software is, but also how it’s deliveredTesting built inNew reliance on automationNew view of approach to failures
  • #19 Reimagine QA as something concerned with 4 dimensions and inseparability as characteristic of qualityThat plays profound role enabling devops altogether
  • #20 Adopt new mindsetLife gaze from traditional mechanical activities of execution and reportingNew job is quality advocacy
  • #21 Do game days test service or just softwareOps: performance scalability security resilienceAlso monitoring and support
  • #23 Deeply embed them Just because you have unit tests doesn’t mean their goodWhy would you want crabby testers telling you what’s wrong with everything?Think about good testers you’ve worked with
  • #24 Modeling requirements allows us to talk about them and uncover misunderstanding confusion gaps
  • #25 Opportunity for software engineering practice
  • #26 Most important is planning
  • #27 Do monitoring tools work properlyDoes deployment automation work properly
  • #28 When bugs get into the wild QA gets blamed
  • #29 Goal/challenge is to move from old to new
  • #30 Some good at css, some at chef. Diff langs need to contribute to larger wholeQuality includes optimizing at the right local-global level
  • #31 What is this whole thing that we’re delivering? Not func but op/dev of funcWhen you think about it, aws is part of your ops team
  • #32 Ultimate def of what QA needs to validate