18
Customers don’t tell, YOU have to askScience of Questioning T Ashok Founder & CEO STAG Software Private Limited in.linkedin.com/in/AshokSTAG ash_thiru Webinar hosted by Jan 18, 2012, 1500-1615 IST

Customers don't tell, YOU have to ask

Embed Size (px)

DESCRIPTION

This slidedeck from STAG Software, highlights that Good testing is really about questioning - who uses what, conditions that govern the behavior, the key attributes and so on.

Citation preview

Page 1: Customers don't tell, YOU have to ask

“Customers don’t tell, YOU have to ask” Science of Questioning

T AshokFounder & CEOSTAG Software Private Limited

in.linkedin.com/in/AshokSTAG ash_thiru

Webinar hosted by

Jan 18, 2012, 1500-1615 IST

Page 2: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

`

2

Software Engg Team

Customer

spec converted to code

To build software, we need to have good understanding of specifications. That is, we need to know what end users need.

End users needs are really specifications.But specifications are not always stated, or be incomplete or fuzzy.

As a developer, I quietly make assumptions.

As a tester, my job is not just about checking what is stated. It is about ensuring expectations are met.

Expectations - These are indeed hard to state!

Page 3: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved. 3

Software Engg Team

Customer

has different types of “End users”

DEV TEST

convert needs to features

ensure expectations are met

To build software, we need to have good understanding of specifications. That is, we need to know what end users need.

End users needs are really specifications.But specifications are not always stated, or be incomplete or fuzzy.

As a developer, I quietly make assumptions.

As a tester, my job is not just about checking what is stated. It is about ensuring expectations are met.

Expectations - These are indeed hard to state!

Page 4: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved. 4

To build software, we need to have good understanding of specifications. That is, we need to know what end users need.

End users needs are really specifications.But specifications are not always stated, or be incomplete or fuzzy.

As a developer, I quietly make assumptions.

As a tester, my job is not just about checking what is stated. It is about ensuring expectations are met.

Expectations - These are indeed hard to state!

“Customers don’t tell...

YOU have to ask”

... who the various end users are

... what each end user needs

... how they may use

... what end users expect from the system

Page 5: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved. 5

... implies asking questions. Good questions.

... questions about types of end users, usage, behaviour, data, attributes, architecture etc.

“... YOU have to ask”

... questions that cover the breadth & depth, questions that are pointed & open-ended.

Page 6: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Ask a question and you get a good answer.Ask a question and you get a vague answer.Ask a question and you don’t get an answer.But don’t stop, continue to ASK QUESTIONS.

“It is more important to know what you do not know, rather than be content with what you know”

It is therefore important to come up with good questions rather than worry about the availability of answers.

Good questioning is key to good understanding.

6

Page 7: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Science of Questioning

Joe the tester faced with the problem of understanding a new application in a domain that he is unfamilar with, has the “Aha” moment at a doctors’s office during a patient diagnosis session.

He sees parallels in doctor’s questioning technique to diagnose the problem and his problem of understanding the application.

He realizes that decomposing the problem into information elements and establishing the connections between these elements enables him to come up with good questions to understand the application in totality. Voila!

He concludes that there is a “science of questioning” - a systematic walkthrough of various elements commencing from the customer’s needs/expectations and then into the application’s deployment environment, architecture, features, behaviour and structure and then connecting these elements to come up with ‘good questions’.

Read the full story “The diagnosis” at slideshare.net/stagsoft/the-diagnosisPublished in “Tea time with testers” May 2011

7

Page 8: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Layered Understanding

Success factors Marketplace

User types Requirements

Ranking of features

Interactions

Deployment environment

Stage of development

Data spec

Structure - Architecture, Technologies

8

Behaviour

Customer types

#Users

Features Attributes

Usage profile

Customers

Features

Product/App

End Users

Page 9: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Information needed for good understanding...

Success factors

Marketplace & Customer types

End users

Requirement, Features, Attributes

Ranking of features & Usage profile

Interactions

Deployment environment

Stage of development

Behaviour

Structure - Architecture, Technologies

The reason for deploying the system

The target for our business

Who will use our system? How many?

What do they need? What are their expectations?

Which is more important? How will it be used?

How do feature(s)/requirement(s) affect each other?

Where will it run?

How do the internals look like?

Built new or modified or status quo?

What conditions govern the behaviour of a feature?

9

Page 10: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

External information

to

Internal information

10

Information needed for good understanding...

Success factors

Marketplace & Customer types

End users

Requirement, Features, Attributes

Ranking of features & Usage profile

Interactions

Deployment environment

Stage of development

Behaviour

Structure - Architecture, Technologies

Page 11: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Techniques to Aid “Scientific Questioning”

11

Landscaping – A Core Concept in HBTA technique to rapidly understand the system by examining the various elements and the connections between them.

Viewpoints – A Core Concept in HBTSee the system from various end users’ point of view to identify the needs & expectations to set a clear baseline.

Personal, scientific test methodology.SIX staged evaluation powered by EIGHT disciplines of thinking (STEMTM) using THIRTY TWO Core Concepts.

HBT

Page 12: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

It is based on the simple principle:“Good questions matter more than the answers. Even if questions do not yield answers, it is ok, as it is even more important to know what you do not know.”

Landscaping states that there are about SIXTEEN information elements that will enable good understanding of the system.

The act of seeking information of these SIXTEEN elements and their interconnections results in questions that aid in understanding.

12

Landscaping – A Core Concept in HBTA technique to rapidly understand the system by examining the various elements and the connections between them.

Page 13: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved. 13

Good testing requires that the tester evaluate the system from the end use angle i.e. put oneself in the end-user’s shoes. This is easier said than done. System

This is useful to dig deeper to get a clear handle on needs & expectationsonce various end user types are identified.

Viewpoints – A Core Concept in HBTSee the system from various end users’ point of view to identify the needs & expectations to set a clear baseline.

Page 14: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Some questions generated by applying Landscaping...

Marketplace What marketplace is my system addressing?Why am I building this application? What problem is attempting to solve? What are the success factors?

Customer type Are there different categories of customers in each marketplace?How do I classify them? How are their needs different/unique?

End user (Actor) Who are the various types of end users (actors) in each type of customer?What is the typical/max. number of end-users for each type?Note: An end user is not necessarily a physical end user, a better word is ‘actor’

Requirement (Use case)

What does each end user want? What are the business use cases for each type of end user?How important is this to an end user - what is the ranking of a requirement/feature?

Attributes What attributes are key for a feature/requirement to be successful (for an end user of each type of customer)?How can I quantify the attribute i.e. make it testable?

Feature What are the (technical) features that make up a requirement (use-case)?What is the ranking of these?What attributes are key for a successful feature implementation?How may a feature/requirement affect other feature(s)/requirement(s)?

14

Page 15: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Deployment environment What does the deployment environment/architecture look like?What are the various HW/SW that make up the environment?Is my application co-located with other applications?What other softwares does my application connect/inter-operate with?What information do I have to migrate from existing system(s)? Volume, Types etc.

Technology What technologies may/are used in my applications?Languages, components, services...

Architecture How does the application structure look like? What is the application architecture?

Usage profile Who uses what?How many times does a end user use per unit time? i.e. #/timeAt what rate do they use a feature/requirement?Are there different modes of usage (end of day, end of month) and what is the profile of usage in each of these modes?What is the volume of data that the application should support?

Behaviour conditions What are the conditions that govern the behaviour of each requirement/feature?How is each condition met - what data (& value)drives each condition?

15

Some questions generated by applying Landscaping...

Page 16: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Hypothesis Based Testing - HBT 2.0 A Quick Introduction

HypothesisePotential Defect Types

Nine Stage Defect Removal FilterCleanliness Assessment

SetupCleanliness Criteria

SUT

Personal, scientific test methodology.SIX stage methodology powered by EIGHT disciplines of thinking (STEMTM).

Click here to know more about HBT.http://slidesha.re/qBMNiy

16

Page 17: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Some Interesting Results

Understand complex product in less than a week

Discovered defects in requirements without testing, via questioning

Clear understanding of behaviour, resulting in complete test cases

Lessen the dependency on domain expertise to understand product

Uncovered design flaws by questioning behaviour

17

Page 18: Customers don't tell, YOU have to ask

© 2012 STAG Software Private Limited. All rights reserved.

Thank you!

HBT is the intellectual property of STAG Software Private Limited.STEMTM is the trademark of STAG Software Private Limited.

www.stagsoftware.com

@stagsoft

blog.stagsoftware.com

Connect with us...Want to know more?Attend the pre-conference tutorial atSTeP-IN Summit 2012, Feb 15, 2012 (0900-1300)

"Think like a Child. Act like an Adult." The Science of Questioning"stepinforum.org/stepin-summit-2012/tutorials/t_ashok.html

A division of STAG

Offerings

Career programsHBT Series of Workshopswww.cleansoft.in