32
Large Scale Requirements Engineering Lecture 21 Sjaak Brinkkemper Garm Lucassen 17 October 2014 1

SPM21 - Large Scale Requirements Engineering

Embed Size (px)

DESCRIPTION

21st lecture for the course Software Product Management at Utrecht University

Citation preview

Page 1: SPM21 - Large Scale Requirements Engineering

Large Scale Requirements Engineering

Lecture 21

Sjaak Brinkkemper

Garm Lucassen

17 October 2014

1

Page 2: SPM21 - Large Scale Requirements Engineering

Outline

This presentation contains two recent publications on Requirements Engineering in large scale software producing organizations.

1. Linguistic engineering for requirements similarity matching

2. Factors affecting decision making

2

Page 3: SPM21 - Large Scale Requirements Engineering

Speeding up Requirements Management in a Product Software Company

Linking Customer Wishes to Product Requirements through Linguistic Engineering

Johan Natt och Dag

Lund Institute of Technology, Sweden

Vincenzo Gervasi

Pisa University

Italy

Sjaak Brinkkemper

Utrecht University

The Netherlands

Björn Regnell

Lund University

Sweden

Published as: Johan Natt och Dag, Vincenzo Gervasi, Sjaak Brinkkemper, Björn

Regnell: A Linguistic-Engineering Approach to Large-Scale

Requirements Management. IEEE Software 22(1): 32-39 (2005)

3

Page 4: SPM21 - Large Scale Requirements Engineering

Complexity in large scale RE

• Market- and technology-driven software development

• Large, complex software systems

• Product lines

• New releases through projects

• Several thousands of whishes, needs, and requirements stored in a database

• Distributed development

• Uncertainty, frequent change, and time pressure

• Requirements written in plain text

• Multiple levels of abstraction

4

Page 5: SPM21 - Large Scale Requirements Engineering

Baan

• Founded in 1978 in the Netherlands – 15,000+ customer sites worldwide – 1000+ employees – 1,000.000+ users

• Markets – Manufacturing industry – Engineering industry

• Headquartered in Barneveld, The Netherlands – Offices and partners worldwide – 400 employees Development – 200 employees Customer Service & Support

• Now part of Infor

5

Page 6: SPM21 - Large Scale Requirements Engineering

Requirements Management at Baan (SSA Global)

Market Requirements

Business Requirements

Market Requirements

Business Requirements

Market Requirements

Business Requirements

Develo

pm

ent

Managem

ent

Require

ments

Managem

ent

ongoing, continuous

release based

release based

ReleaseInitiation Version

Definition

ConceptualSolution

DefinitionStudy

FunctionalDesign

TechnicalDesign

SoftwareComponentSoftware

Component

6

Page 7: SPM21 - Large Scale Requirements Engineering

Linking requirements

• Customer wish = Market Requirement – A customer wish related to current or future markets, defined

using the terminology and context of the customer

• Product req. = Business Requirement – Generic customer wish to be covered by Baan solutions

described in Baan’s terminology and context

Market

Requirements

Business

Requirements

Market

Requirements

Business

Requirements

Market

Requirements

Business

Requirements

7

Page 8: SPM21 - Large Scale Requirements Engineering

Example requirements

8

Page 9: SPM21 - Large Scale Requirements Engineering

Linkage in the Baan RDB

Year

# Business

Requirements

# Linked

# Market

Requirements

# Linked

1996 0 0 183 113

1997 5 4 683 262

1998 275 169 1,579 388

1999 709 261 2,028 502

2000 669 167 1,270 397

2001 1,000 153 864 224

2002 1,121 340 1,695 514

Total 3,779 1,094 8,302 2,400

9

Page 10: SPM21 - Large Scale Requirements Engineering

Linkage backlog

0

500

1000

1500

2000

1996 1997 1998 1999 2000 2001 2002

Year

#re

qs.

Unlinked

Linked

0

200

400

600

800

1000

1200

#re

qs.

8,302 market

requirements

2,400 linked

3,779 business

requirements

1,094 linked

10

Page 11: SPM21 - Large Scale Requirements Engineering

Potential solutions

• Add more resources

– Too costly!

• Reduce the amount of incoming requirements

– Not a good idea or can not be done!

• Rules and guidelines

– Will not or can not be used!

• Provide support through linguistic engineering

– Not really tried in this context.

11

Page 12: SPM21 - Large Scale Requirements Engineering

Linguistic Engineering

• Pragmatic approach

– ”to engineer products which deal with NL and which satisfy the constraints in which they have to operate”

• Criteria – Usability

– Cost-benefit

– Resources

– Scale

– Techniques

– Robustness

– Flexibility

– Openness

– Domain dependentness

– Efficiency

– Implementation

– Intermediate results

– Testing and evaluation

12

Page 13: SPM21 - Large Scale Requirements Engineering

Suggestion list

MR10013

Pos Requirement Similarity

1 BR10012 0.45

2 BR10156 0.43

3 BR10006 0.42

4 BR10536 0.38

5 BR10987 0.36

6 BR10273 0.36

7 BR10740 0.34

8 BR10419 0.33

9 BR10622 0.24

10 BR10082 0.21

13

Page 14: SPM21 - Large Scale Requirements Engineering

Steps in linguistic process

Market Requirements

Business Requirements

ongoing, continuous

Suggestions

Flattening

Tokenization

Stemming

Stop word removal

Similaritycalculation

Flattening

Tokenization

Stemming

Stop word removal

Market Requirements

Business Requirements

Market Requirements

Business Requirements

Market Requirements

Business Requirements

ongoing, continuous

Suggestions

Flattening

Tokenization

Stemming

Stop word removal

Similaritycalculation

Flattening

Tokenization

Stemming

Stop word removal

14

Page 15: SPM21 - Large Scale Requirements Engineering

Example and metric

i bi m

bi m

bm

irir

irirrr

)(log1)(log1

)(log1)(log1),(

22

22

Tokenization

storing

multiple

charts

in

one

file

the

user

should

be

able

to

store

several

charts

in

a

single

sov

file

store

multiple

chart

in

one

file

Lemmatisation

the

user

should

be

able

to

store

several

chart

in

a

single

sov

file

Stop word removal

user

store

several

chart

sov

file

store

multiple

chart

file

Storing

multiple

charts in one

file.

The user

should be able

to store

charts in a

single (.SOV)

file

Flattening

market requirement

business

requirement

15

Page 16: SPM21 - Large Scale Requirements Engineering

Evaluation: Recall related to top list size

MR10013

Pos Requirement Similarity

1 BR10012 0.45

2 BR10156 0.43

3 BR10006 0.42

4 BR10536 0.38

5 BR10987 0.36

6 BR10273 0.36

7 BR10740 0.34

8 BR10419 0.33

9 BR10622 0.24

10 BR10082 0.21

16

Page 17: SPM21 - Large Scale Requirements Engineering

Evaluation: Recall related to top list size

MR10013

Pos Requirement Similarity

1 BR10012 0.45

2 BR10156 0.43

3 BR10006 0.42

4 BR10536 0.38

5 BR10987 0.36

6 BR10273 0.36

7 BR10740 0.34

8 BR10419 0.33

9 BR10622 0.24

10 BR10082 0.21

17

Page 18: SPM21 - Large Scale Requirements Engineering

Evaluation: Recall related to top list size Manually linked and presumed correct

MR10013

Pos Requirement Similarity

1 BR10012 0.45

2 BR10156 0.43

3 BR10006 0.42

4 BR10536 0.38

5 BR10987 0.36

6 BR10273 0.36

7 BR10740 0.34

8 BR10419 0.33

9 BR10622 0.24

10 BR10082 0.21

TP FP

FN TN

18

Page 19: SPM21 - Large Scale Requirements Engineering

Evaluation: Recall related to top list size Manually linked and presumed correct

MR10013

Pos Requirement Similarity

1 BR10012 0.45

2 BR10156 0.43

3 BR10006 0.42

4 BR10536 0.38

5 BR10987 0.36

6 BR10273 0.36

7 BR10740 0.34

8 BR10419 0.33

9 BR10622 0.24

10 BR10082 0.21

Recall(7) = 2 / 3 = 67%

19

Page 20: SPM21 - Large Scale Requirements Engineering

Result 1

20

Page 21: SPM21 - Large Scale Requirements Engineering

So what? A comparative cost-benefit evaluation

Subset providing 100% recall using a top-10 list

BRs 690

The MRs linked by product managers 1,249

Savings: ~66% or ~115 hours

Manual search

– Assume 1 search term is enough

~30 hits

Automatically supported 10 hits

21

Page 22: SPM21 - Large Scale Requirements Engineering

Potential improvements

• Aggregate similarity measures using other techniques

• Reuse information in already linked requirements

• Incorporate semantics (synonyms, hypernyms, hyponyms)

• Expert validation

22

Page 23: SPM21 - Large Scale Requirements Engineering

Questions and Discussion

23

Page 24: SPM21 - Large Scale Requirements Engineering

Decision making

Paper:

Factors Affecting Decision Outcome and Lead-time in Large-Scale Requirements Engineering

Joint work with: Krzysztof Wnuk, Jaap Kabbedijk, Bjorn Regnell and David Callele

Submitted for publication

Goal:

Identifying which characteristics of change requests ( e.g. number of products, release number, type of customer) may influence the decision lead time and the decision outcome

24

Page 25: SPM21 - Large Scale Requirements Engineering

Decision making

Knowledge intensive activities in decision making

• Defining the scope of a product by selecting the right features.

• Change impact analysis

• Difficulties such as shifting, ill–defined or competing goals and values

• Multi-objective decision problems

• Power and politics

• Subjective judgments

• Risk of inappropriate decisions is high

• Often unstructured or semi–structured and made only once

• Hindering the evaluation of the decision outcomes

25

Page 26: SPM21 - Large Scale Requirements Engineering

Case company

Type of company Developer of globally marketed embedded systems

Number of employees More than 4000

The size of the product line More than 2000 features integrated into the platform and millions LOC.

Major project A platform project with a two year lead time

Minor projects Further platform releases usually focused on the platform’s adaptations for different products

Decision entity A feature, defined as a group of requirements that constitute new functionality enhancements to the platform upon which market value and implementation cost can be estimated.

Number of features in a typical

project

A typical major project has from several hundreds, up to one thousand. A typical minor project has less than 100 features.

The scope management process The scope is maintained in a document called a feature list, updated each week after a meeting of the change control board.

26

Page 27: SPM21 - Large Scale Requirements Engineering

Change Request process

27

Page 28: SPM21 - Large Scale Requirements Engineering

Decision log entry

ID 54

Change Request HD resolution for video

Decision Outcome Accepted

Comments This will enlarge our market share in this sector

Description of proposed change Add HD resolution for recording

Justification Requested by a large provider

Proposition Area Video

Main affected Technical Group Video Group

The products impacted by a change All products with a camera

The feature(s) impacted by a change F14, F18 and F23

The release of the platform project impacted

by a change

The second release of the main platform

The markets impacted by a change US and Canada

Affected key customer Customer X

Affected Functional Group HD Group

Submittal Date 09-02-09

RM tool ID 10F1

Decision Date 18-02-09

28

Page 29: SPM21 - Large Scale Requirements Engineering

Analysis of decision log

• 1439 decisions of the 2008 releases

• Lead time: time between submission and decision making

• Outcome: Accepted or Rejected

29

Page 30: SPM21 - Large Scale Requirements Engineering

Research Questions

TOWARDS EXPLORING FACTORS AFFECTING DECISION OUTCOME AND LEAD-TIME IN LARGE-SCALE REQUIREMENTS ENGIN

Research question Aim

RQ1: Which characteristics of a

decision affect the decision lead

time?

To understand which decision characteristics (e.g.,

number of products, release number, type of customer)

have a significant impact on the decision lead time

RQ2: Which characteristics of

a decision affect the decision

outcome?

To understand the relationship between the decision

characteristics and the acceptance or rejection of a

decision

RQ3: Is the outcome of a decision

related to the decision’s lead

time?

To understand the relation between the acceptance rate

and the decision lead time

30

Page 31: SPM21 - Large Scale Requirements Engineering

Lead time

31

Page 32: SPM21 - Large Scale Requirements Engineering

More

• Findings will be communicated when the paper has been published.

32