+ All Categories
Home > Documents > QQRExperience 2015SQTM Talk For Presentation

QQRExperience 2015SQTM Talk For Presentation

Date post: 22-Mar-2017
Category:
Upload: david-mack-endres
View: 13 times
Download: 0 times
Share this document with a friend
27
Experience with Quantitative Quality Requirements (QQRS) David Mack Endres Technical Lead, Bending Ray LLC [email protected] www.qualitymanagementconference.com 1
Transcript
Page 1: QQRExperience 2015SQTM Talk For Presentation

Experience with Quantitative Quality Requirements (QQRS)

David Mack EndresTechnical Lead, Bending Ray LLC

[email protected]

www.qualitymanagementconference.com1

Page 2: QQRExperience 2015SQTM Talk For Presentation

2www.qualitymanagementconference.com

• Independent consultant with extensive experience in large systems:– Requirements– Architecture– Design & Implementation

• Previously software architect and designer in oilfield services, telecomm and office systems.

• Reviewer SWEBOK• Certified CSDP and CSM

Page 3: QQRExperience 2015SQTM Talk For Presentation

Roadmap• Why quantify product quality?• Quality workshops• Quantified Quality Requirements • Test cases and measurements

4www.qualitymanagementconference.com

Page 4: QQRExperience 2015SQTM Talk For Presentation

Quantified Quality

Quality != 0 defectsQuality == Stakeholder Value

5www.qualitymanagementconference.com

Page 5: QQRExperience 2015SQTM Talk For Presentation

Why Quantify?Recent Project charter: [confidential material elided]

“…targeted at effecting a step-change improvement in the usability and efficiency of […] workflows for […] clients. This will be achieved through significant streamlining of our […] model building workflows, refactoring of our structural modeling subsystem […] for performance and scalability, and through the introduction of new software capabilities for QC and workflow automation.”

• Traditional testing only captures the last objective: new software capabilities.

• Stakeholder value depends on how well we have done the other stuff, the “ilities”

• But how do we measure that stuff? 6www.qualitymanagementconference.com

Page 6: QQRExperience 2015SQTM Talk For Presentation

Targets & Measurements• Performance: which is measurable?

– “I want it darn fast”. “What is darn fast?” “When the user runs it, I want them to say ‘Darn, that’s fast’”, or

– “Operation x must be 10x faster in the new system than the predecessor system on the same data and hardware”

• Scalability– “Handle big models”, or– “Must be able to model 1000 survey blocks at

seismic resolution on the standard geophysical modelling workstation” 7www.qualitymanagementconference.com

Page 7: QQRExperience 2015SQTM Talk For Presentation

Usability Targets & Measurements

• Usability– “Improve usability”– “Reduce wall clock time for the QC workflow

by 75% compared to benchmark run on the same data set in previous version.”

• Efficiency– “Improve efficiency”– “Reduce the number of steps for a new

project plan by 90% when a previous project plan can be applied”.

8www.qualitymanagementconference.com

Page 8: QQRExperience 2015SQTM Talk For Presentation

Quality Requirement Flow

•Business drivers•Stakeholder input•Brainstorming

Project Goals

•Measurable quality•Numeric targetsQQRs

•Usability tests• Instrumented software

Test Cases Repeat…

Usability and other

quality results

9www.qualitymanagementconference.com

Quality Attribute Workshops Test Case Definition Implement and Test

Page 9: QQRExperience 2015SQTM Talk For Presentation

QAWs“Quality Attribute Workshops”

10www.qualitymanagementconference.com

Page 10: QQRExperience 2015SQTM Talk For Presentation

Quality Attribute Workshops• We simplify the Software Engineering

Institute (CMU SEI) process:• Review business drivers• Brainstorm qualities• Build a “utility tree” of desired qualities. • Prioritize

• Requires a good facilitator: Stakeholders don’t care about measurable quality until their [unmeasured] quality goals are not achieved.

11www.qualitymanagementconference.com

Page 11: QQRExperience 2015SQTM Talk For Presentation

QAW Experience Report• Major software and business process

project, “C office” visibility• 5 QAWs from October 2013 – Jan 2014

– Each workshop covered one workflow– Responsible subject matter experts (SMEs)

and architects participated– Started with generic utility tree:

– SMEs focus on external qualities– Architects expand the view to internal qualities

12www.qualitymanagementconference.com

Page 12: QQRExperience 2015SQTM Talk For Presentation

Eliciting Quality Requirements• Drill into vague quality statements

– Good Performance: “What do you mean by performance?”

– Scalablity: “Can you characterize a ‘large’ problem?”

– Usability: “Who is the target for ease of use?”• If stuck, ask some why or what if

questions– Why is the software to be easy to learn?– What if there is a security breach and client

data is stolen? 13www.qualitymanagementconference.com

Page 13: QQRExperience 2015SQTM Talk For Presentation

QAW Output• Detailed Utility Tree example

– Project load/save – Goal: < 30 s – Current: > 2 h, worst case – Model load interactive

» Goal: < 2s » Current: > 30 m, worst case

– Model save, dirty model » Goal: < 2s» Acknowledge that there will be a tradeoff with

computation time to create/change model – Model save, un-modified model

» Instantaneous, e.g. don't write it out again

14www.qualitymanagementconference.com

Page 14: QQRExperience 2015SQTM Talk For Presentation

QQRs“Quantified Quality Requirements”

16www.qualitymanagementconference.com

Page 15: QQRExperience 2015SQTM Talk For Presentation

Anatomy of a QQR

• Descriptive information– Name, identifier, gist, rationale and additional

description as needed• Scale: Identified dimension of goodness

stakeholders wish to control• Meter: How to measure performance

along that dimension• Goal: Defines the target value for this

release.

17www.qualitymanagementconference.com

Page 16: QQRExperience 2015SQTM Talk For Presentation

Improved QQRs

• Quantify tracking data– Current and past measurements: industry trends,

record value, competitor quality, etc.• Quantify goal ranges

– Survival interval (catastrophic failure outside this range)

– Failure level (pain or loss) within survival interval– Wish, stretch, other goal measures– Future target values (quality roadmap)

18www.qualitymanagementconference.com

Page 17: QQRExperience 2015SQTM Talk For Presentation

Example: User experience

19www.qualitymanagementconference.com

40 30 20 10

Mean hours to complete work flow X

Mean # mouse clicks to complete workflow X

?< << > >?15 5

100 000

10 000

1 000

<<

<?<

90 000

3 000

600

Mean distance mouse moves to

complete workflow X

< >>

Page 18: QQRExperience 2015SQTM Talk For Presentation

Testing & Tracking Quality

20www.qualitymanagementconference.com

Page 19: QQRExperience 2015SQTM Talk For Presentation

Write Test Plans for the QQRs• Be specific

– test machine capacity, load– test data set– detailed steps (must be repeatable!)

• Record benchmark– previous versions of the system

• Instrument the software for important properties

• Track the trends21www.qualitymanagementconference.com

Page 20: QQRExperience 2015SQTM Talk For Presentation

Data Editing Example: Median filter

• Median filter test case– Load project: <specific test project>– Open Property Editing process and setup the GUI

• Click “Filtering” tab ,select option Median sampling method , filtering length selection -> Depth variant length, with Reference surface named “wbxxx”, Velocity option.

• Press [Apply]– Once the process has finished exit WITHOUT saving changes

to the project.– Navigate to <specific URL on intranet> and open the file named:

“ApplicationUsage”. • Recording of time of when the [Apply] was pressed and when the process

finished is recorded in that file (hint: Search by machine name, starting at the bottom for last entries).

22www.qualitymanagementconference.com

Page 21: QQRExperience 2015SQTM Talk For Presentation

Track and report results

  Reported Results (2013.1)

2014.1 Results 2014.4 Results

3.1 Filtering operation: Median filter

00:41:11 00:10:01 00:03:48 

23www.qualitymanagementconference.com

Page 22: QQRExperience 2015SQTM Talk For Presentation

Usability Example• Usability targets were quite vague: reduce

number of steps

• But a test case was defined and instrumented• Usability Test Case: Model QC

– Synchronize all intersections (model and seismic)– Quick Slice display– Camera linking– Cursor tracking

24www.qualitymanagementconference.com

Page 23: QQRExperience 2015SQTM Talk For Presentation

Model QC Usability Test Script0 Start recording with productivity software1 Choose 'Interpretation 2 Imaging' Perspective

2Create structural framework using the 3 surfaces and the following parameters:Boundary Definition: Z extents: 0 to -12000; Coarsening of 2Horizon Modeling: use horizon types: water bottom = erosional; salt top = geobody top; salt base = geobody basethe resulting structural model should have 3 zones

3populate with the following: water = constant (1500m/s) sediment = use zone "sediment " from model "salt_body_ISO_2013model" salt = constant (4500m/s)

4 insert renderers and display inline in 3D window5 display annotation on inline6 Bring up Tool Palette Model QC tools

7Use Property Reporter to QC velocity values on inline, making sure values are as expected

Part 21 Display inline from the seismic cube in separate 3D window2 Tile windows vertically3 camera link and cursor track for both windows4 Step/drag through inlines from seismic volume5 Sychronize all slices6 Step/drag through inlines from model7 Bring up Quick Slice View tools on Tool Palette8 Display inline, xline and Z slice from both seismic volume and model9 Display xline only from both the seismic volume and model

25www.qualitymanagementconference.com

Page 24: QQRExperience 2015SQTM Talk For Presentation

Instrument and test usability• Used Morae(see ref) and internal

performance tools to instrument and measure time, mouse clicks and mouse movement

• Specific measurements

Tracking

26www.qualitymanagementconference.com

Workflows

Time Mouse Clicks Mouse Distance Improved Quality

Reduction

2014.1 2014.4 2014.1 2014.4 2014.1 2014.4 Time Clicks DistanceModel QC 0:04:12 0:02:20 101 42 60509 30415 Yes 44% 58% 50%

Page 25: QQRExperience 2015SQTM Talk For Presentation

Usability Results

27www.qualitymanagementconference.com

Workflows

Time Mouse Clicks Mouse Distance Improved Quality

Reduction

2014.1 2014.4 2014.1 2014.4 2014.1 2014.4 Time Clicks DistanceQC 0:12:34 0:07:11 203 135 141219 120106  0.43 0.33 0.15 Model Building 0:15:13 0:14:02 355 211 228699 177907  0.08 0.41 0.22 Model Manipulation 0:42:20 0:30:41 128 69 86225 60520  0.28 0.46 0.30 Property editing 1:45:27 0:57:00 280 189 119039 75295  0.46 0.33 0.37 Scenario testing 0:16:11 0:14:30 215 226 124633 111215  0.10 (0.05) 0.11

2014.1 Overall Project Run 88:57:58 0.49 2014.4 Overall Project Run 45:27:18

QC

Model Building

Model ManipulationProperty editing

Scenario testing

0:00:00

1:12:00

2:24:00

Time Performance2014.1 2014.4

QC

Model Building

Model ManipulationProperty editing

Scenario testing

0

200

400

Mouse Clicks

QC

Model Building

Model ManipulationProperty editing

Scenario testing

0

200000

400000

Mouse Distance (pixels)

Page 26: QQRExperience 2015SQTM Talk For Presentation

Summary• Quality is defined by stakeholder value• Use workshops to elicit quality requirements• Define measurable quality targets• Track and report quality attribute

measurements

28www.qualitymanagementconference.com

Page 27: QQRExperience 2015SQTM Talk For Presentation

Contact and References• Contact me: [email protected], LinkedIn:

BendingRayLLC• Tom Gilb: “Competitive Engineering” 2005

• Scalar requirements (QQRs)

• Carnegie-Mellon University, Software Engineering Institute (www.sei.cmu.edu)– M. Barbacci, et al. Quality Attribute Workshops (3rd ed.), 2003

• Morae User Experience and Market Research– http://www.techsmith.com/morae.html

• Douglas Hubbard: “How to Measure Anything”, 3rd ed. 2014 29www.qualitymanagementconference.com


Recommended