Transcript
Page 1: Case Studies in Just-in-Time Requirements Analysis

Case Studies In JIT Requirements

Analysis

Neil Ernst and Gail MurphyUniversity of British Columbia

[email protected] | [email protected]

Page 2: Case Studies in Just-in-Time Requirements Analysis

Just-In-Time Requirements practices are different yet effective

Page 3: Case Studies in Just-in-Time Requirements Analysis

“Traditional” RE

3

Requirements team separate and siloed, “transom-style” handoffs

Page 4: Case Studies in Just-in-Time Requirements Analysis

“Traditional” RE

4

Typically (if not ideally) done once, at inception

Page 5: Case Studies in Just-in-Time Requirements Analysis

“Traditional” RE

5

Store artifacts in management tool

Page 6: Case Studies in Just-in-Time Requirements Analysis

6

Pejoratively called:Big Requirements Up Front

Page 7: Case Studies in Just-in-Time Requirements Analysis

Just-in-time RE

e.g. specification by example, behavior-driven development (BDD), feature driven development, user stories, acceptance testing.

lightweight and iterative (?)

7

developers talk to “Product Owner”

assume change and react, rather than plan

RE is ongoing and continuous

Page 8: Case Studies in Just-in-Time Requirements Analysis

Research Questions

1. How does JIT RE manifest itself in practice?

2. What problems might be encountered?

8

Page 9: Case Studies in Just-in-Time Requirements Analysis

Methodology

Choose 3 software projects that are successful, relatively distinct and open*.

Study each project’s software process holistically, starting at the task level.

Choose a representative requirement for detailed study.

9

Page 10: Case Studies in Just-in-Time Requirements Analysis

Flexible Indexing

10

Inverted index: terms point to containing documentsFlexible indexing: add frequency, weights, boosts directly to

index

Page 11: Case Studies in Just-in-Time Requirements Analysis

2004: Idea proposed on wiki (Doug Cutting)

2006: Email discussion about implementation (Grant Ingersoll)

2008: First JIRA ticket created (Michael McCandless)

2010: Feature branch integrated into trunk (all)

2012: Feature ships as 4.0 Alpha

2009: Feature progress misses release 2.9; code later released for stress testing by others (McCandless)

2009: Unicode incompatibility detected (Robert Muir)

Page 12: Case Studies in Just-in-Time Requirements Analysis

"Have you tried any actual tests swapping these approaches in as your terms index impl?”

“No – changing something like this requires a lot of coding, so it's better to do thought experiments

first to winnow down the options."

“Mike, this change to byte[ ] in TermRef will break

backwards compatibility, without some special attention paid to the utf-16 to utf-8 conversion.

“In my opinion it would be better to think in the future how we can improve lucene in the following ways:The term dictionary should be more "DFA-friendly",

[etc.]

Page 13: Case Studies in Just-in-Time Requirements Analysis

Observations (Lucene)• Requirements arise organically. Never nailed down.

• Strategic vision emergent rather than directed. No hard deadlines.

• JIRA is central to RE process.

• Detailed knowledge lives inside the developer/requester.

13

Page 14: Case Studies in Just-in-Time Requirements Analysis

Common Practices (JIT In Practice)

• Just-in-Time Requirements

• Feature-oriented

• As-needed Traceability

• Exploratory and iterative development

• Community-mindedness

14

Page 15: Case Studies in Just-in-Time Requirements Analysis

Departures

• No big-picture thinking

• No separate prioritization

• Unclear feature provenance

• No repeatable elicitation or reuse

15

Page 16: Case Studies in Just-in-Time Requirements Analysis

Understanding RE Practices

Ad-hoc List Links Models Req Spec

Ad-hoc

Simple Priority

Multiple dimensions

Reflective

Requirements+Management

Requ

iremen

ts+Ana

lysis

Personal)projects

Firefox

Lucene

CONNECT

16

Page 17: Case Studies in Just-in-Time Requirements Analysis

But ...

“I chose RE as a research area [after seeing] that insufficient RE causes inconsistent, incomplete and

incorrect requirements specifications and is responsible for a significant number of problems encountered in

development projects.” – Klaus Pohl, preface to RE textbook

17

Page 18: Case Studies in Just-in-Time Requirements Analysis

Ultimate Empirical Question

Amount of RE

Softw

are V

alue

Idealized RE

Perception

Reality?

Diminishing RE return

18

Page 19: Case Studies in Just-in-Time Requirements Analysis

Related Work

• Plenty of industry focus:

• Leffingwell, Agile Manifesto, Agile BABOK, BDD etc.

• Social nature of RE in OSS explored by Walter Scacchi.

• Emmanuel Letier exploring requirements prediction.

• Marco Lormans and Arie Gurfinkel worked on requirements coverage.

19

Page 20: Case Studies in Just-in-Time Requirements Analysis

20Neil Ernst • @neilernst • neilernst.net

Just-In-Time Requirements practices are different yet effective

when? how?why?


Top Related