1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

54
1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs

Transcript of 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

Page 1: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

1

®

Mastering Requirements Management with Use Cases Understand Stakeholder Needs

Page 2: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

2

Objectives: Understand Stakeholder Needs Identify sources for stakeholder requests. Describe the Stakeholder Request Artifact. List techniques to elicit stakeholder

requests. Practice brainstorming techniques. Identify requirements from a customer-

generated specification.

Page 3: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

3

Where Are We in the Requirements Discipline?

Page 4: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

4

Understanding Needs: Activities and Artifacts

Page 5: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

5

The process

Page 6: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

6

What Are Sources for Requirements?

Analyst

Customer

Problem Domain

Users

Partners

Site Visits Domain Experts

Industry AnalystsCompetitive info

Initial RequestsBug ReportsChange Requests

Requirement SpecsBusiness Models

Business PlansPersonal Goals

Page 7: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

7

What Does the Process Look Like?

Customer approved

Reworked specification

Rejected again

Reworked specification

Rejected by customer

Requirements specification

Customer

Ad-hoc requirements given to Project Team Project Team

Page 8: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

8

What Problems Might Be Encountered? Stakeholders

Have a pre-conceived idea of the solution. Do not know what they really want. Are unable to articulate what they want. Think they know what they want, but do not recognize it

when it is delivered. Analysts

Think they understand user problems better than users.

Everybody Everyone sees things from

their own point of view. Believes everyone is

politically motivated.Stakeholder Analyst

??

Page 9: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

9

Expressing Stakeholder RequestsSTRQ

STRQ STRQ

STRQ

STRQ

STRQ

“Students need to get grades

in a convenient manner”“Report cards can be printed”

“End of year results are automatically emailed to the student”

“Professors need to

know who is enrolled”

“Class lists are emailed at end of enrolment”

Page 10: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

10

The Stakeholder Requests Artifact Is owned by the stakeholders. Contains all requests from the

stakeholders. Is consolidated from many sources.

E-mail, customer requirements specification, napkins, white boards, spreadsheets, and so on.

Used by project team to derive features and software requirements.

May contain references to any type of external source.

User Doc Specs

Design Specs

StakeholderRequests

Vision Document

SuplSpec

Use-Case Model

Page 11: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

11

Techniques for Eliciting Stakeholder Requests

Review customer requirement specifications

Requirements workshop Use-case workshops Brainstorming and idea reduction

Interviews Questionnaires Role playing Prototypes Storyboards

Page 12: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

12

Review Customer Requirement Specifications

Identify requirements. Recognize and label:

• Application behaviors• Behavioral attributes• Issues and assumptions

Ask the customer.

Requirements review

Page 13: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

13

Review Customer Requirements Spec

Part 1 Review the customer requirements

specification. Look for possible requirements in the spec.

Part 2 Review the list of sample stakeholder requests. Refine the Vision document.

• Define the system boundary.• Revise the list of actors.

Page 14: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

14

Feature in relation to need or requirement Needs

A reflection of the business, personal or operational problem/opportunity that must be addressed

Features A service which fulfills one or more stakeholder needs Expressed in short sentences or phrases Usually try to limit number Are not yet requirements Must be tracked

Attributes Describe feature Status,priority, level of effort,risk, stability, assigned to, release target,

reason

Page 15: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

15

UserDocs

UserDocs

DesignDesign

Map of the Territory (Requirements Management)

Test Procedures

Needs

Features

Use cases and Software

requirementsTraceability

Problem

Problem

The Problem space

Solution space

The Product To be built

The Product To be built

Traceability

Page 16: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

16

Requirements Workshops

Perhaps the most powerful method of elicitation (and validation) Many opinions at once

Feed on each other Improve and clarify each other Bring total knowledge to bear

Benefits Team spirit – involvement All stakeholders get to input

• Challenge

• Defend

• Compromise Preliminary system features available at the end ??

Page 17: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

17

Requirements Workshops

Create consensus on the scope, risks, and key features of the software system.

Are directed by a facilitator. Duration: three to five days

Produce artifacts, such as: Problem statement Stakeholder Requests Key features Initial business object model Use-case diagram Prioritized risk list

Page 18: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

18

Requirements Workshop Benefits

Provides a framework for applying other elicitation

techniques. Use-case workshops, brainstorming, storyboarding

Accelerates the elicitation process. Gathers all stakeholders together for an intense,

focused period. Promotes participation by everyone.

Results available immediatelyRequirements

Page 19: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

19

Workshops: Plan and Execute

Sell the workshop

Establish team

Handle logistics

Send material

Prepare agenda

Facilitate

Keep on track

Record findings

Summarize conclusions

Synthesize findings

Condense info

Present to customer

Plan next steps

Pre-Workshop Production Follow-upSession

Page 20: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

20

Requirements workshops

Preparing Selling concept Right stakeholders Logistics

• Room

• Lighting

• Equipment and facilities

• Travel

• Refreshments Pre meeting materials

• Project specific

• Out of the box

• 1 to 2 weeks early

Page 21: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

21

Requirements workshops

Facilitator Should be outsider (trained in the role) Team only if:

• Trained in the process• Has team/consensus building skills• STRONG to control a meeting that can get heated• Is well respected

Has no input into the workshop A facilitator of a requirements workshop needs to be prepared for the following difficulties:

• Stakeholders know what they want but may not be able to articulate it. • Stakeholders may not know what they want. • Stakeholders think they know what they want until you give them what they said they wanted. • Analysts think they understand user problems better than users. • Everybody believes everybody else is politically motivated.

Responsibilities Set the tone Start and stop on time Establish and enforce the rules Introduce goals and agenda Manage the meeting Facilitate decision/consensus process Manage logistics Be sure all input Handle disruptive behavior

Page 22: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

22

Preparation for the Workshop

Before the Workshop The facilitator needs to "sell" the workshop to stakeholders that should

attend, and to establish the group that will participate in the workshop. The attendees should be given "warm-up" material to review before they arrive. The facilitator is responsible for the logistics surrounding the workshop, such as sending out invitations, finding an appropriate room with the equipment needed for the session, as well as distributing an agenda for the workshop

Conduct the Session The facilitator leads the session, which includes:

• Giving everyone an opportunity to speak. • Keeping the session on track. • Gathering input for applicable Requirement Attributes • Recording the findings. • Summarizing the session and working out conclusions.

Consolidate Results After the requirements workshop, the facilitator (together with fellow system

analysts) need to spend some time to synthesize the findings and condense the information into a presentable format.

Page 23: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

23

Tricks of the Trade

The table below lists a collection of problems and suggested solutions that could come in handy for the facilitator. The solutions are referring to a set of "tickets" that may sound unnecessary to have, but in most cases turn out to be very effective:

Problem Solution

Hard to get restarted after breaks. Anyone who is late gets a "Late From Break" ticket, use a kitchen timer to catch peoples attention, use a charitable contribution box (say $1 for each ticket used).

Pointed criticism - petty biases, turf wars, politics and cheap shots.

"1 Free Cheap Shot" ticket, "That’s a Great Idea!!" ticket.

Grandstanding, domineering positions, uneven input from participants.

Use a trained facilitator, limit speaking time to a "Five Minute Position Statement".

Energy low after lunch. Light lunches, breaks, coffee, soda, candies, cookies, rearrange room, change temperature.

Page 24: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

24

Requirements workshops

Conducting the workshop Follow the agenda Problems

• Gimmicks Follow up

Documented• Approval

• Further clarification

Page 25: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

25

Brainstorming

Helps find hidden “undiscovered” features/ needs Usually part of a workshop – may start with a brainstorming session Benefits

Encourages participation by all Expand on ideas of others No constraints Broad set of possible solutions

Page 26: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

26

Brainstorming rules

Rules•No debate or criticism•No bad ideas•Use imagination•Generate as many ideas as possible•Build on others

Page 27: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

27

Brainstorming Getting started

Facilitator states the objective of the session As soon as the objective is met and there are no new ideas your done Speak your idea, write it down No criticism/ or comments on the ideas other than expansions

End When your done 1 to 3 hours Never force close

Page 28: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

28

Brainstorming Generates as many ideas as possible.

Rules for Brainstorming Clearly state the objective of the

session. Generate as many ideas as

possible. Let your imagination soar. Do not allow criticism or debate. Combine ideas.

Page 29: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

29

Brainstorming Advantages and Disadvantages

Advantages Used anytime, anywhere. Good for groups. Good for high-level entities and assumptions. Amenable to some automation.

Disadvantages Susceptible to group processes. Unsystematic in “classic” form.

Takeda et al. 1993

Page 30: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

30

Brainstorming

Prune Ideas down Concurrence on validity Further consideration yes/no

Group ideas Related ideas are grouped into categories

• Pick your classes• Reopen if grouping causes participants to want to add more

Feature definition A definition agreed to by all is created to be sure everyone

understands

Prioritize Money or marbles Critical/important/useful

Page 31: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

31

Idea Reduction: Prune and Organize

Affinity Diagrams

Page 32: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

32

Idea Reduction: Prioritize Ideas

Prioritize remaining ideas. Vote

• Cumulative votesBuy ideas

• Single vote Apply evaluation criteria

• Non-weighted• Weighted

Page 33: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

33

Exercise Brainstorming

Gather ideas for stakeholder requests/needs.

Clarify and organize the ideas. Condense ideas. Prioritize remaining ideas.

Page 34: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

34

Considerations for Selecting Elicitation Techniques

Requirements Purpose Specification for design and implementation. Selecting off-the-shelf packages. Legal contract for system procurement.

Knowledge Types Different methods acquire different types of knowledge.

Internal Knowledge Filtering Some knowledge can be retrieved from memory;

whereas, other knowledge cannot. Acquisition Context

Environment can influence elicitation techniques.

WP6:ACRE: Selecting Methods for Requirements AcquisitionMaiden N.A.M. & Rugg G., 1996

Page 35: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

35

Purpose

Known COTS -

Unknown COTS -

System Procurement

System Development

Knowledge TypeBehavior

Process

Data -

Effectiveness of brainstorming for acquiring knowledge with different internal representations

Future System

Non-Tacit

Recognized

Taken-for-granted -

Working memory X

Compiled

Implicit -

Observable X

Conditions for Method Use

Meeting Needed

Time to Prepare

Time for Session

Time to Obtain

Number of Stakeholders

Friendliness

No Technologies

LEGEND

Good fit

Very good fit

X Weak fit

- Poor fit

Brainstorming Classification Example

Page 36: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

36

Requirements allocation

Complex systems Divide and conquer rule

• Decompose into smaller more manageable sub-systems

• Done (divided small enough) when Distribution and functionality are optimized/ min cost- max flexibility Each sub-system lends itself to small team development Can test the piece stand alone

Derived requirements As we sub divide new “requirements” are generated Usually “smell” different than user requirements

Interface Requirements As we break apart we generate new “requirements” for communication

Page 37: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

37

Requirements Issues and recommendations

Issues More “derived” requirements than original Can lead to inflexible systems Contracting services and sub contractors

Recommendations Traceability

• Need

• Feature

• Sub system requirement Partition and isolate

• Encapsulation

• Messaging vs data sharing

Page 38: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

38

Interviews

Provide a simple and direct technique. Gain understanding of problems and

solutions. Consider all perspectives.

Users Customers Other stakeholders

Page 39: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

39

Interview Tips

Avoid asking people to describe things they don’t usually describe. Example: Describe how to tie your shoes.

Avoid “Why…?” questions. Ask open-ended questions. Listen, listen, listen!

Page 40: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

40

Gause & Weinberg, 1989

Context-Free Questions

Are high-level, abstract questions. Explore needs from stakeholder

perspective. User’s problems. Potential solutions.

Are always appropriate. Unbiased with application or solutions

knowledge. Are typically posed early in a project.

Page 41: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

41

Gause & Weinberg, 1989

Types of Context-Free Questions

User questions Who are the users? What the key responsibilities of each user? What is the user’s background, capabilities,

environment? Process questions

What is the problem? How do you currently solve the problem? How would you like to solve the problem? Where else can the solution to this problem be

found?

Page 42: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

42

Gause & Weinberg, 1989

Types of Context-Free Questions (cont.)

Product questions What environment will the product encounter? What business problems could this product create? What are your expectations for usability? reliability?

Meta-questions Do my questions seem relevant? Are you the right person to answer these questions? Are your answers requirements? Is there anything else I should be asking you?

Page 43: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

43

Non-Context-Free Examples

Leading questions You need a larger screen, don’t you?

Self answering questions Are fifty items about right?

Controlling statements Can we get back to my questions?

Too long and too complex I have a three part question, ...

What are better questions to ask?

Page 44: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

44

Typical Interview result

Page 45: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

45

1994 by Alan M. Davis

Questionnaires

Give access to a wide audience. Appear scientific because of statistical

analysis. Apply to broad markets where questions

are well-defined. Are powerful, but not a substitute for an

interview. Assumptions:

Relevant questions can be decided in advance. Questions phrased so reader hears as

intended.

Page 46: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

46

Observation/Contextual Interviews

Definition Observe real user in the field. Master-apprentice model: User explains his activities

and answers questions. Use real data in real situations.

Advantages Deliver requirements from situated activities. Probe inherent/tacit knowledge.

Issues Experienced interviewer needs to keep focused on

interview goals. Expensive and time-consuming to analyse data. Not always applicable to do in real situations.

Beyer & Holtzblatt, 1997

Page 47: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

47

Shurtleff ‘94

Storyboard Benefits

Gathers and refines customer requirements in a user-friendly way.

Encourages creative and innovative solutions. Encourages team review. Prevents features that no one wants. Implements features in an accessible and

intuitive way. Eases the interview process. Avoids blank-page syndrome.

Page 48: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

48

Prototypes

Demonstrate some or all of the externally observable behaviors of a system.

Are used to: Demonstrate understanding of the problem

domain. Gain feedback on proposed solution. Validate known requirements. Discover unknown requirements. Create simulations.

Page 49: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

49

Why Use Prototypes?

Elicit and understand requirements. Prove and understand technology. Reduce risk. Enhance shared understanding. Improve

Cost and schedule estimates Feature definition

Page 50: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

50

Eliciting Stakeholder Requests: Which Techniques to Use?

Developer Experience

Cu

sto

me

r/U

ser

Exp

eri

ence

Low Hi

Low

Hi

“Fuzzy problem”

“Catch Up” “Mature”

“Selling/Teaching”

Adapted from Alan Davis

1. Requirements Workshops

2. Brainstorming3. Use Cases4. Interviews5. Questionnaires6. Role Playing7. Storyboarding8. Prototyping9. Requirement

Reviews

Which of these tools might you use for each quadrant of the graph?

Page 51: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

51

Eliciting Stakeholder Requests: Which Techniques to Use?

Developer Experience

Cu

sto

me

r/U

ser

Exp

eri

ence

Low Hi

Low

Hi

“Fuzzy problem”1, 2, 7

“Catch Up”1, 3, 4, 7, 8, 9

“Mature”1, 3, 4, 5, 6, 7, 8, 9

“Selling/Teaching”1, 2, 3, 4, 5, 6, 7, 8.

Adapted from Alan Davis

1. Requirements Workshops

2. Brainstorming3. Use Cases4. Interviews5. Questionnaires6. Role Playing7. Storyboarding8. Prototyping9. Requirement

Reviews

Which of these tools might you use for each quadrant of the graph?

Page 52: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

52

Review: Understand Stakeholder Needs

1. What are some elicitation techniques for understanding user needs?

2. What is the relationship between a need and a feature when expressed by a stakeholder during Understand Stakeholder Needs?

3. What should you do with a need that is expressed as a feature?

4. What does the ACRE Framework say about requirements elicitation?

Page 53: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

5300

ISC = BlueIPD = RedCRM = Green

Marketing/Sales

ProductionDistribute Product

Order MgmtSales Adm

ChannelEnd-UserCustomer

Direct ShipDrop ShipSpare Parts MgmtCI144Product Parts Support PlanSAP - P

Replenishment

Weekly CollaborationCustomer Profile Data base

PC Sales TrackingTechnical Info AAPRosetta Net

ConfiguratorAdvertisingCustomer RegistrationTechnical SupportStandard Help Center

PartnerInfoMarketing Deliverables

Market PlanningProduct Info (OPIC/M), Prod AssumAnnounce, CTPLife Cycle/Transition ManagementPricing: BB, Entitled,WW, Realtime Software RoyaltiesConfigurationIndustry naming: Rosetta Net PIPSPlanning: Demand, Supply, Souring...

ConfiguratorSAP - F

Central PlanningWeekly PRGWeekly Executioni2Weekly Remix

Procure Parts

Plan Demand/Supply

MTM/PN/BB MgmtProductManager

BoM StructureRules

EC Release & MgmtTesting BB and AVLAspectTechnology Planning / Cost Takedown Projection

ReplenishmentParts Mgmt

Aspect

DevelopProduct

Building Block Transition Management

MTMProduct Family

andBuilding Blocks

-- Dynamic Configure to Order

-- Pre-Planned Standard Offerings

Today Tomorrow

e-Commerce

e-Commerce

System perspective

Page 54: 1 ® Mastering Requirements Management with Use Cases Understand Stakeholder Needs.

54

Credit CheckCustomer eligibilityPricingInvoicing/BillingReportingOrder RoutingDelivery SpecsReturns

MKTG/SALES FULFILLMENT

Customer

Customer Driven Navigation

Config Rules & Choice

Place an order

A

C

ORDER(Config & Order

Instructions) Demand PlanningLTST - Cust Collaboration

Supply PlanningS/D MatchScheduling (order)REMIX (Component)Logical Reservation SupplySourcing/ BalancingProfit OptimizationProduction Optimization

Capacity /SchedulingAllocation MethodologyDATA

Customer Config / OrderRequest date

Supply info - componentProduction CapacityBBs? / PNs

PLANNING ENGINE (ACTIVITIES)

Orders:What,When,How Many

Permissible Builds &Rules & Structures

(What, How)

Offering DefinitionPF / BBs

Product FamilyBB FamiliesRulesBB Names -> P/Ns

PF = Unique Super BOM = MT

Contract DBEntitlement, T/Cs

DEVELOPMENT PRODUCTION

WE

B IN

TE

RF

AC

E

B

One Configurator

A, B, C, D = Order, Fulfillment Information Flow

1, 2 = Development, Production Information flow

1

Engineering & Materials Planning

Items(P/Ns)ComponentsAssemblers

Structure Placement & Connection Selection RulesUsers

Floor control systemsMaterials PlanningScheduling

2

D

?

Availability to Promise (ATP)

Permissible Sales & Rules (What)