62
The Art & Science of Requirements Gathering Vanessa Turke UX Professional, Information Architect & Project Manager

The Art and Science of Requirements Gathering

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: The Art and Science of Requirements Gathering

The Art & Science of Requirements Gathering

Vanessa TurkeUX Professional, Information Architect & Project Manager

Page 2: The Art and Science of Requirements Gathering

presentation agenda:

1. The requirement gathering challenge

2. Requirements, scope, and specifications, oh my!

3. Eight steps to making this process better

4. Requirements gathering in practice: an allegory...

5. Summary and questions

Page 3: The Art and Science of Requirements Gathering

what are the challenges we face?

“Requirements are initiated by senior managers

and company executives as policies, aims,

objectives and other high-level statements of

intent. This necessitates considerable scoping

activity as requirements start with vaguely

expressed intentions and users’ wish lists...”

~ Usability in Government Systems: User Experience Design for Citizens and Public Servants (Google eBook) by Elizabeth Buie & Dianne Murray

Page 4: The Art and Science of Requirements Gathering

http://www.projectcartoon.com

Page 5: The Art and Science of Requirements Gathering

why we need to get better as this

Page 6: The Art and Science of Requirements Gathering

as of January 2013...

1. 634 million websites

2. 51 million websites added during the past year

3. 87.8 million Tumblr blogs

4. 17.8 billion page views for Tumblr

5. 59.4 million WordPress sites around the world

6. 3.5 billion webpages run by WordPress viewed each month

7. 37 billion pageviews for Reddit.com in 2012

8. 191 million visitors to Google Sites

http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/

Page 7: The Art and Science of Requirements Gathering

with more and more competition,

organizations will be determined to ‘stand out’

and many will not be able to express

why and how they want to do this

Page 8: The Art and Science of Requirements Gathering

features can be difficult to prioritize, and sometimes the focus ends up on the wrong

content

Page 9: The Art and Science of Requirements Gathering
Page 10: The Art and Science of Requirements Gathering

when stakeholders come from a variety of backgrounds, submitted requirements

documentation can be varied and inconsistent

Page 11: The Art and Science of Requirements Gathering

documentation arrives in many different forms

Page 12: The Art and Science of Requirements Gathering

when stakeholders come from a variety of backgrounds, submitted requirements

documentation can be varied and inconsistent

Page 13: The Art and Science of Requirements Gathering

from super high level, to incredibly granular

Page 14: The Art and Science of Requirements Gathering

what are we receiving as “specifications”

1. Request for proposal

2. Wireframes

3. Data base schema

4. Project charter

5. Text requirements list

6. Entity relationships

7. Photoshop files

8. Publication workflows

9. Powerpoint presentations

10. Spreadsheets

11.User stories

12. Branding guidelines

Page 15: The Art and Science of Requirements Gathering

have a goal to achieve consistency in documentation, define a common language, and strive to fill in gaps,

constraints and assumptions

Page 16: The Art and Science of Requirements Gathering

something here

Page 17: The Art and Science of Requirements Gathering

what are traditional requirements?

1. Criteria to which the system or business must adhere.

2. Usually created before the coding begins

3. Nearly always written as text

4. Often defined as constraints, conditions, or capabilities to which the system must conform

5. Focus on system operation

6. Contain explicit tests or acceptance criteria

7. Often written atomically; meaning that thousands of independent shall statements can comprise a software requirements specification.

http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories

Page 18: The Art and Science of Requirements Gathering

in what form do we receive them?

1. Short sentence stating high level functional requirement

2. A full description of the requirement

3. Description of how it is essential to the overall system

4. Description of any technical issues of the requirement

5. Description of user interface requirements

6. Description of business requirement

7. Description of technical requirement

8. Description of cost and schedulehttp://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories

Page 19: The Art and Science of Requirements Gathering

specification as defined by IEEE standards

A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behaviour, or other characteristics of a system, component, product, result, or service and the procedures for determining whether these provisions have been satisfied

Examples are:

★ requirement specification

★ design specification

★ product specification

★ test specification

Page 20: The Art and Science of Requirements Gathering

requirements expressed as use cases

A series of interactions by the user (Actor) with the system and the response of the system

Focus on interactions:

Written in such a way as to succinctly define the user/system activities and data that define the interaction.

Use cases can be written atomically as well, but the use case diagram is meant to tie together the use cases.

Use cases are intended to be drilled down in successive levels of detail, reducing the need for nailing down the details before coding.

http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories

Page 21: The Art and Science of Requirements Gathering

two main components of use cases

Diagrams which graphically describe actors, use cases, system boundaries, and the relationship between all of these (focused on the user).

Text written in a call-and-response format that shows an action by the user, followed by the system’s response.

Page 22: The Art and Science of Requirements Gathering

requirements expressed as user stories

Narrative texts that describe an interaction of the user and the system, focusing on the value a user gains from the system.

A good user story uses the “INVEST” model:

★ Independent. Reduced dependencies = easier to plan

★ Negotiable. Details added via collaboration

★ Valuable. Provides value to the customer

★ Estimable. Too big or too vague = not estimable

★ Small. Can be done in less than a week by the team

★ Testable. Good acceptance criteria

Page 23: The Art and Science of Requirements Gathering

typical user story template

As a [type of site visitor]

I need a way to [do something]

so that I can [benefit somehow].

Page 24: The Art and Science of Requirements Gathering

gherkin syntax

Scenario: Some determinable business situation

Given some precondition

And some other precondition

When some action by the actor

And some other action

And yet another action

Then some testable outcome is achieved

And something else we can check happens too

http://docs.behat.org/guides/1.gherkin.html

Page 25: The Art and Science of Requirements Gathering

comparing approaches to writing requirements

Traditional requirements: focus on system operations and what the system should do

Use cases: focus on users and their interaction with the system in mind, the capabilities of the user and how these capabilities are met via a system response.

Work flows or business flows: show system and user interaction in a call-and-response format.

User stories: focus on customer value, a metaphor for the work being done, not a full description of the work. The actual work being done is fleshed out via collaboration revolving around the user story as system development progresses.

http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories

Page 26: The Art and Science of Requirements Gathering

all rightie then...

Requirements: a wish list of capabilities, as described in detailed specifications

Scope: basket of items selected from the requirements that we set out to deliver which makes up the product, service or result being delivered to the customer

Project Scope - the work to be performed to deliver the product, service or result

Product Scope - the features and functions of the product, service or result

http://en.wikipedia.org/wiki/Scope_(project_management)

Page 27: The Art and Science of Requirements Gathering

wikipedia on scope creep

...the incremental expansion of the scope of a

project, which may include and introduce more

requirements that may not have been a part of the

initial planning of the project, while failing to adjust

schedule and budget.

Page 28: The Art and Science of Requirements Gathering

process to manage the knowledge gap

product & process experts

Jared Spool: http://chicago2011.drupal.org/keynotes

target knowledge

current knowledgetraining

simplifying

new clients

Page 29: The Art and Science of Requirements Gathering

requirements engineering activities and process

1. Submission or Request

2. Scoping

3. Fact gathering and research

4. Analysis

5. Modelling

6. Validation

7. Trade-off Analysis

8. Negotiation

Page 30: The Art and Science of Requirements Gathering

scoping

Defining the boundaries...

Scoping is best achieved by discussion with all the stakeholders and tends to focus users’ attention on where the boundaries of the system investigation should lie, and helps to identify at least an initial scope for the system.

Page 31: The Art and Science of Requirements Gathering

scoping a project

1. SCOPING involves carving out a list of features and defining the product that the project will deliver.

2. PROJECT SCOPE is the work that needs to be accomplished to deliver a product, service, or result with the specified features and functions.

3.PRODUCT SCOPE is the features and functions that characterize a product.

http://en.wikipedia.org/wiki/Scope_(project_management)

Page 32: The Art and Science of Requirements Gathering

fact gathering and research

Background research: interviews, observation, questionnaires, text and document analysis

Page 33: The Art and Science of Requirements Gathering

three classes of research

1. Preferences: opinions and desires

2. Ability: what is understood or accomplished with a tool

3. Conceptual: how to get things done

http://www.usabilityfirst.com/usability-methods/

Page 34: The Art and Science of Requirements Gathering

preferences: opinions and desires

Techniques: ★ Surveys★ Focus Groups★ Preference Interviews★ Card Sorting

Uses:★ Visual Interpretation★ Branding★ Target Market

Page 35: The Art and Science of Requirements Gathering

ability: what is understood or accomplished with a tool

Techniques: ★ Prototypes★ Usability Testing★ Preference Interviews★ Log Analysis★ Customer Feedback★ Card Sorting

Uses:★ Interaction Design★ Interaction Flow★ Page Layout★ Nomenclature

Page 36: The Art and Science of Requirements Gathering

conceptual: how to get things done

Techniques: ★ Task Interviews★ Contextual Inquiry★ Preference Interviews★ Surveys

Uses:★ Software Structure★ Information Architecture★ Content Location★ Contextual Information★ Contextual Marketing★ Gap Analysis

Page 37: The Art and Science of Requirements Gathering

analysis

★ Filling in the details★ What is the system purpose (goals)?★ What objects are involved?★ Where is the system located?★ When should things happen?★ Why is the system necessary (goals or problems it intends to solve)?

Page 38: The Art and Science of Requirements Gathering

modelling

★ Data flow diagrams★ Entity relationship diagrams

Page 39: The Art and Science of Requirements Gathering

validation

Getting users to understand the implications of a requirements specification and then agree, i.e. validate, that it accurately reflects their wishes.

A walkthrough of any of:

★ Data flow diagrams★ Prototype demo★ Scenario-based representations★ Animated simulations

Page 40: The Art and Science of Requirements Gathering
Page 41: The Art and Science of Requirements Gathering

decoding the subjective

Page 42: The Art and Science of Requirements Gathering

nice pants

Page 43: The Art and Science of Requirements Gathering

users

technology business

<3

Page 44: The Art and Science of Requirements Gathering

trade-off analysis

Requirements are often held by different stakeholders who may have conflicting views, hence trade-off analysis is an essential activity for comparing, prioritizing and deciding between different requirements or design options.

Ranked lists or matrix-based techniques using decision tables are helpful for this analysis.

The modelling techniques proposed by Chung (1993) and Yu (1993) for mapping relationships and dependencies between goals, tasks, actors and soft goals (alias non-functional requirements), contains some guidance for trade-off analysis.

http://www.interaction-design.org/encyclopedia/requirements_engineering.html

Page 45: The Art and Science of Requirements Gathering

trade-off analysis exercise

Page 46: The Art and Science of Requirements Gathering

negotiation

A discussion, explanation and negotiation of conflicting requirements

Page 47: The Art and Science of Requirements Gathering

putting it into practice

Page 48: The Art and Science of Requirements Gathering

putting it into practice

1. Submission or request2. Scoping3. Fact gathering and research4. Analysis5. Modelling6. Validation7. Trade-off analysis8. Negotiation

Page 49: The Art and Science of Requirements Gathering

1. request : prepare an informal 2 course dinner for 4

Must have:

★ Protein

★ Carbohydrates

★ Vegetables

★ Something sweet

Page 50: The Art and Science of Requirements Gathering

2. scoping

Boundaries:

★ Dinner means after 5pm

★ Guests are available most of July

★ 2 courses are main and dessert

★ Vegetables should be organic

★ Protein cannot be red meat

★ Must take place outside

★ Drinks not included

Page 51: The Art and Science of Requirements Gathering

3. fact gathering and researchGuest interviews:

★ Shellfish allergy

★ Enjoy spicy, ethic food

★ Favourite vegetables are peppers

★ 3 guests like chocolate desserts best

★ 1 guests likes vanilla desserts best

★ 2 of the guests love Cuban food

★ 1 of the guests loves asian food

★ All four love ‘comfort food’★ Guests are from the same family

Page 52: The Art and Science of Requirements Gathering
Page 53: The Art and Science of Requirements Gathering
Page 54: The Art and Science of Requirements Gathering

4. analysis

★ Purpose of the dinner is to celebrate a birthday

★ The host is one of the four The location will be on the host’s patio Host will provide furniture

★ Host will provide beverages Dishes, cutlery, napkins and stemware will be needed No server or bartender will be required A good date for the event is July 5, 6, 12, or 13 Guests can arrive at 5:30 The dinner is expected to last 2-3 hours

★ Host will cleanup

Page 55: The Art and Science of Requirements Gathering

5. recipe for moros y cristianos - (data modelling)1 Small Spanish Onion – (diced small)1 Small Cubanelle Pepper (diced small)2 Garlic Fingers (minced)2 tbsp FRESH Chopped Cilanto2 tbsp FRESH Culantro leaves – Find this at local Latin or Asian markets2 tbsp + 1/4 cup Extra Virgin Olive Oil1 tbsp Sea Salt1/2 tsp Fresh Ground Black Pepper2 tsp Dried ThymePinch of Saffron2 tbsp Sofrito1/4 cup FRESH Sazón1/4 cup Red Cooking Wine1/3 cup PITTED Alcaparrados8oz can Spanish Tomato Sauce2 Bay Leaves4 Cups Long Grain Rice – I use organic brown rice1 Quart (4 cups) organic vegetable stock

_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/

Page 56: The Art and Science of Requirements Gathering

_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/

Page 57: The Art and Science of Requirements Gathering

6. validation - walkthrough

Platillo Moros y Cristianos is a famous Cuban dish_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/

Page 58: The Art and Science of Requirements Gathering

6. validation - walkthroughCreme Caramel is a dessert served in Cuba

Page 59: The Art and Science of Requirements Gathering

7. trade-off analysis

★ Chocolate vs. vanilla?

★ Add a birthday cake or include candles?

★ Organic vs. conventional produce?

★ Have the dinner indoors if raining?

Page 60: The Art and Science of Requirements Gathering

8. negotiation

★ Documentation: menu and ingredients

★ List of assumptions and constraints

★ Finalized budget, schedule and scope

Page 61: The Art and Science of Requirements Gathering

an emerging field

Requirements Engineering is"designing the right thing" as opposed to software engineering’s "designing the thing right" ~ Barry Boehm, 1981

"Software systems requirements engineering (RE) is the process of discovering that purpose, by identifying stakeholders and their needs, and documenting these in a form that is amenable to analysis, communication, and subsequent implementation".

~ Nuseibeh and Easterbrook, 2000

Page 62: The Art and Science of Requirements Gathering

Thanks | Questions?