agile quality scenarios › resources › quality scenarios - yoder & wirfs-brock.pdfexcellence...

22
Agile Conference 2013 Nashville, TN -- 1 Agile Quality Scenarios “How to Be Nimble and Precise” Joseph Yoder Rebecca Wirfs-Brock Agile 2013 Copyright 2013 Joseph Yoder, Rebecca Wirfs-Brock, The Refactory, Inc. and Wirfs-Brock Associates Introducing Rebecca President, Wirfs-Brock Associates Agile enthusiast (involved with experience reports since 1 st agile conference, board president Agile Open Northwest) First engineering job in Quality Assurance Pattern enthusiast, author, and Hillside Board Treasurer Old design geek (author of two object design books, inventor of Responsibility-Driven Design, advocate of CRC cards, hot spot cards, & other low-tech design tools, IEEE Software design columnist) Consults and trains top companies on agile architecture, responsiblity-driven design, enterprise app design, agile use cases, design storytelling, pragmatic testing Runs marathons!!!

Upload: others

Post on 28-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 1

Agile Quality Scenarios“How to Be Nimble and Precise”

Joseph Yoder

Rebecca Wirfs-Brock

Agile 2013Copyright 2013 Joseph Yoder, Rebecca Wirfs-Brock,

The Refactory, Inc. and Wirfs-Brock Associates

Introducing RebeccaPresident, Wirfs-Brock Associates

Agile enthusiast (involved with experience reports since 1st agile conference, board president Agile Open Northwest)

First engineering job in Quality Assurance

Pattern enthusiast, author, and Hillside Board Treasurer

Old design geek (author of two object design books, inventor of Responsibility-Driven Design, advocate of CRC cards, hot spot cards, & other low-tech design tools, IEEE

Software design columnist)

Consults and trains top companies on agile architecture, responsiblity-driven design, enterprise app design, agile use cases, design storytelling, pragmatic testing

Runs marathons!!!

Page 2: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 2

Introducing JosephFounder and Architect, The Refactory, Inc.

Pattern enthusiast, author and Hillside Board President

Author of the Big Ball of Mud Pattern

Adaptive systems expert (programs adaptive software, consults on adaptive architectures, author of adaptive architecture patterns, metatdata maven, website: adaptiveobjectmodel.com)

Agile enthusiast and practitioner

Business owner (leads a world class development company)

Consults and trains top companies on design, refactoring, pragmatic testing

Amateur photographer, motorcycle enthusiast, enjoys dancing samba!!!

Quality Definition

A peculiar and essential character or nature, an inherent feature or property, a degree of excellence or grade, a distinguishing attribute or characteristic …

Page 3: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 3

Two Aspects to Software Quality

External quality characteristics—those parts of a product that face its users

Internal quality characteristics—those that do not. (Hard to see, let alone test)

—Steve McConnell, Code Complete

Non-functional Requirements

Accessibility

Compatibility

Efficiency

Effectiveness

Extensibility

Maintainability

Performance

Other terms for non-functional requirements: "constraints","quality attributes“, and "quality of service requirements"

Qualities are usually described by “ilities” as seen in non-functional requirements…but quality can also focus on how well

functional requirements are met

Reliability

Safety

Scalability

Security

Stability

Supportability

Usability

Page 4: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 4

Quality (Whose perspective)

ScientistArtist

EngineerDesigner

important/boring true/false

cool/uncool good/bad

Rich Gold “The Plenitude: Creativity, Innovation & Making Stuff(Simplicity: Design, Technology, Business, Life)”

Triggers and Practices – Richard Gabriel http://www.dreamsongs.com

Does quality onthe inside

mean qualityon the outside?

“The Four Winds of Making”…Gabriel

Who are your system’sQuality Stakeholders?

• Users of the system

• Executives/system sponsors

• Internal quality stakeholders:

– Developers

– Database admins

– Business process experts

– Corporate compliance guys

Page 5: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 5

Agile Design Values

• Core values:– Design Simplicity

– Communication

– Continuous Improvement

– Teamwork/Trust

– Satisfying stakeholder needs

– Building quality software

• Keep learning

• Lots of Testing!!!

Some Agile Myths• System Qualities can be added

with an evolving architecture

• We can easily adapt to changing requirements (new requirements).You can change the system fast!!!

• Don’t worry about the performance, scalability, security, usability …. until functionality is working

Page 6: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 6

Many Agile Teams “only”Focus on Functional Testing

Functional:

– How do I …?

– Tests user stories work as advertised

• “As a reviewer I want to add a note to a chart”

• Compute the charge for an invoice

– Tests boundary conditions

• Can I add more than one note at the same place?

• Are excess charges computed correctly?

…BUT THERE’S A LOT MORE TO TEST THAT YOUR SOFTWARE WORKS AS ADVERTISED

Most testers spend the majority of their time writing functional tests

Page 7: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 7

System Quality Tests

• How does the system handle…? – system load …? number of add note

transactions/minute under normal load

– system support for…? simultaneously updating charts

– usability…? ease of locating and selecting notes

• Tests that emphasize architecture capabilities and tangible system characteristics

Testing System Qualities

• Usability

• Security

• Performance

• Scalability

• Internationalization

• Availability

• Flexibility

• Accessibility

• Location

• Regulation

Qualities we could consider…

Page 8: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 8

Structure for A System Quality Scenario

Example Performance Scenario

Source of

Stimulus

Stimulus Artifact

Environment

Response Response

Measure

“Users initiate 1,000 order transactions per minute

under normal operations; transactions are processed

with an average latency of 2 seconds”

Users Initiate

orderSystem

Full load during

busy part of

order processing

Transactions

processed Average

latency of 2

seconds

Page 9: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 9

Possible Performance Scenario ValuesPortion of

Scenario

Possible Values

Source External systems, users, components, databases

Stimulus Periodic events, sporadic or random events (or a

combination)

Artifact The system’s services, data, or other resources

Environment The state the system can be in: normal, overloaded,

partial operation, emergency mode…

Response Process the event or event sequence and possibly change

the level of service

Response

Measure

Times it takes to process the arriving events (latency or

deadline by which event must be processed), the

variation in this time, the number of events that can be

processed within a particular time interval, or a

characterization of events that cannot be processed

(missed rate, data loss)

Copyright 2012 Wirfs-Brock Associates and The Refactory

Page 10: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 10

Example Modifiability Scenario

Source of

Stimulus

Stimulus Artifact

Environment

Response Response

Measure

“A developer adds support for a new service code to the system by adding the service code to the definitions table and modifying the UI to make it available to users. The modification is made with no data schema changes ”

DeveloperAdd support

for new

service

code

UI, Source

code,

Service

Code

Table

Compile time, data definition

Modification made

with no schema

changes

2 days to

code and

test, 1 day

to deploy

Example Availability Scenario

Source of

Stimulus

Stimulus Artifact

Environment

Response Response

Measure

“An unknown sensor sends a report. The systemstores the raw data in the unknown sensor database(to potentially be processed or purged later) andlogs the event ”

Unknown

Sensor

Unexpected

ReportSystem

Normal

conditions

Record “raw”

report in database

and log event

No lost

data

Page 11: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 11

CRITIQUE QUALITY SCENARIOS FOR THE FORESTS “R” US DATA COLLECTION AND ANALYSIS SYSTEM

EXERCISES

WRITE A QUALITY SCENARIO FOR THE FORESTS “R” US DATA COLLECTION AND ANALYSIS SYSTEM

EXERCISES

Page 12: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 12

TURN VAGUE STATEMENTS INTO CONCRETE MEASURABLE ACTIONS

You can’t test warm and fuzzy…

“It should be easy to place an online order”

Turning Warm Fuzzies into a Testable Usability Scenario

Source of

Stimulus

Stimulus Artifact

Environment

Response Response

Measure

“80% of novice users should be able to place an

order in under 3 minutes without assistance”

or

Novice

user

Place

order

System

Web interface

with online help

Time to

complete order

entry task

Order

completed

“80% of novice users should be able to place an

order in under 3 minutes only using online help”

Page 13: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 13

Agreeing on scenarios and target values

Some Options…• Toss out a reasonable

number, then discuss to come to a consensus

• Average informed individuals’ estimates

• Use an existing system as baseline

• Values for similar scenarios

• Benchmark working code

• …

There is more than “pass” or “fail”

• Landing Zone: Lets you define a range of acceptable values

– Minimal: OK, we can live with that

– Target: Realistic goal, what we are aiming for

– Outstanding: This would be great, if everything goes well

Page 14: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 14

AGILE QUALITY

Build quality into your project rhythms

How Quality Scenarios and Quality Testing Fit Into An Agile Process

Product Envisioning

/Roadmap

Deploy to Stakeholders

FunctionalAcceptance

Testing

Developand Manage the Backlog

Plan a Sprint Run a Sprint

Daily Review

Incorporate Feedback

Identify KeyQuality Scenarios

Can Include QualityScenarios

Includerelevantqualitytasks

Quality Testing

Page 15: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 15

Design is about Tradeoffs

• Usability and Security often have orthogonal qualities– Designing Interfaces: Patterns

for Effective Interaction Design – Security Patterns: Integrating

Security and Systems Engineering

• Performance vs Small Memory

• Quality of being good enough

Secure

Usable Cheap

Requirements Envisioning

(days/weeks/...)

Architecture Envisioning

(days/weeks/…)

Iteration 0: Envisioning

Iteration Modeling (hours)

Model Storming

(minutes)

Fast TDD(hours)

Iteration n: Development

a little bit of modeling then a lot of coding, think about what

qualities might fit into the “Sprint”

Conceptual Modeling

What Qualitiesare important?

Test-Driven DevelopmentShould Include Quality

Page 16: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 16

Making Quality Happen

• Budget time for quality discussions and quality testing

• During envisioning and requirements gathering, identify core qualities

– Write quality scenarios

• Determine appropriate times when qualities can be delivered and tested

– Turn quality scenarios into detailed quality acceptance tests

Make Qualities Visible

• Include quality scenario testing/development in your backlog

• Maintain a separate quality scenario backlog

• Include quality and functional acceptance tests as acceptance criteria for releases

Page 17: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 17

Who will lead? Who contributes?

• Big Teams vs Small Teams????

• How does QA interact with development?

Focus on Quality

• QA can gather / organize quality scenarios in collaboration with the development team

• Additional quality scenarios can be gleaned from Service Level Agreements (SLAs)

• Include relevant quality tests as part of each sprint

• Test important qualities early

• Automate “easy” quality tests

Page 18: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 18

Quality Scenarios, Quality Stories and Measuring

“Users initiate 1,000 order transactions per minute

under normal operations; transactions are processed

with an average latency of 2 seconds.”

Specify Measurable Results

Scale: The values you expect

– Natural Scale:

• Response timein milliseconds

– Constructed:

• 1-10 ranking

– Proxy:

• Projecting throughput using sample data

Meter: An appropriate way to measure

Page 19: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 19

Testing System Qualities

• Some require production or near-production environments

– Load and performance tests

– Complex quality stories involving interactions with several systems

• Some require extensive setup

• Some are “easy” and canbe part of an automated quality test suite

Two Types of Quality Tests

Simple Measurements

• A measurement of a

quality that (ideally)

can be automated

(performance, load, …)

Complex Quality Stories

• A complex set of actions

that need to be verified as

working. Hard to automate

and might take a lot of setup

(security, usability...)

“Users initiate 1,000 order

transactions per minute

under normal operations;

transactions are processed

with an average latency of

2 seconds.”

“A known, authorized user transfers money between accounts. The user is later (next day) identified as an embezzler by the institution they belong to and the system then restores funds to the original account.”

Page 20: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 20

When to test?

• Determine Important Qualities that should be considered early

– Involve Product owner, architect, tech and QA leads in deciding when / how they should be tested

• Some qualities take several Sprints to develop

• Test qualities as soon as you can

– Do not wait until the end!!!

• Some Sprints may focus primarily on Qualities

Monitor Qualities—Build An Operational Dashboard

Page 21: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 21

Pragmatic Quality Driven Development Is…

• Practical. Testing system qualities can fit into and enhance your current testing

• Thoughtful. What qualities need to be tested? Who should write quality tests? When should you test for qualities?

• Realistic. You only have so much time and energy so “Test Essential Qualities”

Summary

• Quality doesn’t just happen. It needs to be thought about and carefully considered

• Quality Scenarios are easy to write and read

• Writing quality tests drives out important cross-cutting concerns

• Measuring system qualities can require specialized testing/measurement tools

• If you don’t pay attention to qualities they can be hard to achieve at the last moment

Page 22: Agile Quality Scenarios › resources › Quality Scenarios - Yoder & Wirfs-Brock.pdfexcellence or grade, a distinguishing attribute ... CRITIQUE QUALITY SCENARIOS FOR THE FORESTS

Agile Conference 2013

Nashville, TN -- 22

Resources• Agile Myths: agilemyths.com• Wirfs-Brock Associates: www.wirfs-brock.com• The Refactory: www.refactory.com• Joe’s website: joeyoder.com• Our Pragmatic TDD Course:

– refactory.com/training/test-driven-development– wirfs-brock.com/pragmatictestdrivendevelopment.html

• Landing Zone blogs:– wirfs-brock.com/blog/2011/07/20/introducing-landing-zones/– wirfs-brock.com/blog/2011/08/16/who-defines-or-redefines-

landing-zone-criteria/– wirfs-brock.com/blog/2011/08/05/landing-zone-targets-precision-

specificity-and-wiggle-room/

• Introducing Pragmatic TDD:– wirfs-brock.com/blog/2011/09/23/what-is-pragmatic-testing-all-about/– http://adaptiveobjectmodel.com/2012/01/what-is-pragmatic-tdd/

That’s All!!!

[email protected]

Twitter: @metayoda

[email protected]

Twitter: @rebeccawb