requirements and winbook nupul kukreja, barry boehm 5 th sept, ‘14

47
Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Upload: noel-flowers

Post on 14-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Requirements and Winbook

Nupul Kukreja,Barry Boehm5th Sept, ‘14

Page 2: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14
Page 3: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Agenda• What and Why of Requirements?• Cost and Sources of Ambiguity• Need for multiple requirements elicitation

techniques• Requirements development, management and

documentation (Winbook)• Requirements and 577• Winbook and Requirements Capturing• Challenges and Takeaways

Page 4: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

“Requirement”• IEEE definition:

1. A condition or capability needed by a user to solve a problem or achieve an objective

2. A condition or capability that must be or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed document

3. A documented representation of a condition or capability as in (1) or (2)

Page 5: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

“Requirements” – Cont’d• Sommerville & Sawyer (1997):– A specification of what should be implemented – They are descriptions of how the system should

behave or of a system property or attribute– They may be a constraint on the development

process of the system

Page 6: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

“Why” Requirements?• Incorrect requirements are a major cause of

project failure• Exponential cost of fixing an incorrect

requirement after system in operation• Cornerstone of project and product

management activities• Basic currency to help estimate by “when will

you be done”• Primary vehicle to go from “vision” to

“realization”

Page 7: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

7

Project Success Rate

2000 2002 2004 2006 20080

10

20

30

40

50

60

4951

53

4644

23

1518 19

24

28

34

29

3532

2010 Standish Group CHAOS Summary Report

ChallengedFailedSucceded

Challenged: Over budget/schedule or undelivered projectsFailed: Cancelled projects

Page 8: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

8

Lack of Stakeholder involvement and convergence viewed as major causes of project failure

1. User Involvement2. Executive Support3. Clear Business Objectives4. Emotional Maturity5. Scope Optimization6. Agile Process7. Project Management Expertise8. Skilled Resources9. Execution Capability10.Tools and Infrastructure

CHAOS ’10 – Factors Influencing Project Success

Page 9: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Two-Minute ExerciseCreate a means for protecting a small group of human beings from the hostile elements of their environment

Page 10: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Ambiguity in Requirements• A major source of headache and cost overruns• Diverse interpretations of the same

requirement• Cost of ambiguity

Phase in which found Cost Ratio

Requirements 1

Design 3-6

Coding 10

Development/Testing 15-40

Acceptance Testing 30-70

Operation 40-1000

Page 11: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Removing Ambiguity

The universe of everything that’s possible

What we want that we don’t ask for OR

What we ask for that we don’t want

Page 12: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Sources of Ambiguity

Page 13: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Test for Attentiveness

How many points were in the star that was shown on the previous slide of this presentation?

Page 14: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Sources of Ambiguity• Observational & recall errors:– (Not) seeing the same things or retaining what you

saw• Interpretation errors– What did “points” refer too?

• Mixtures of above• Effects of human interaction– Things lost in conversation

Page 15: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

(Another) Test for AttentivenessTo the best of your recall ability what was the question that you think you answered in the previous test for attentiveness?

Problem Statement Ambiguity: • Each variant of the problem does produce a

different way of looking at the problem which in turn produces a different solution!!

• Subtle differences as these can cause the project to be a success or a failure!

Page 16: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Removing Ambiguity

This is just a contrived example. I can always ask the necessary questions to remove ambiguity!

True or False?

Page 17: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Game Time!• You can ask me 20 Questions

(Hint: Order of questions matter so think before asking)

• Problem: Design a transportation device

Page 18: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Multiple Elicitation Tools/Techniques• A pure direct questioning approach would only

succeed with “perfect” human beings!• Direct questioning needs to be supplemented with

other tools/techniques– Context Free Questions– Interviews/Workshops– Focus Groups/Observational studies– UI analysis– Mockups/Prototyping– Visual Representations: Activity diagrams, Data Flow

Diagrams, Decision Trees etc.,– …

Page 19: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

19

Three Dimensions & Goals of Requirements Engineering

• Content:All relevant requirements are explicitly known and understood at the required level of detail

• Agreement:A sufficient agreement about the system requirements is achieved between the success critical stakeholders

• Documentation:All requirements are documented and specified in compliance with the relevant documentation/specification formats & rules

Page 20: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

20

Visualizing The “Three Dimensions” Content

Documentation

Agreement

complete

vague

informal compliant with rules

individual views

consolidated views

Goal

Page 21: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

MOMMY, WHERE DO THE REQUIREMENTS COME FROM?

Page 22: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Stakeholders• Not any and every stakeholder but success

critical stakeholders• Common mistake: Leaving an essential

stakeholder out of the software development process (remember Win-Lose Lose-Lose?)

• Critical to identify the right stakeholders• How?– Brainstorming/Pruning– Checklist– Benefits Chain

Page 23: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14
Page 24: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Other Sources• Existing systems & documentation• Legacy systems• External interfaces• Social media• Creative thinking• Competitive analysis• Customer survey• …many many more

Page 25: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Types of Requirements• Business requirements: High-level statements of the goals, objectives,

or needs of an organization. • User (stakeholder) requirements: Mid-level statements of the needs

of a particular stakeholder or group of stakeholders. They usually describe how someone wants to interact with the intended solution.

• Functional (solution) requirements: Usually detailed statements of capabilities, behavior, and information that the solution will need.

• Quality-of-service (non-functional) requirements: “-ilities” reliability, testability, maintainability, availability etc.

• Implementation (transition) requirements: Recruitment, role changes, education, migration of data from one system to another etc.

• Architectural requirements: what has to be done by identifying the necessary systems structure and systems behavior, i.e., systems architecture of a system.

• Project/Process requirements: Activities to be performed by development organization

Page 26: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Where Are They Documented?Requirement Type Artifact

Business Requirements (a,k.a., Epics, Investment Themes etc.,)

Project Vision, Charter; OCD in 577

User Requirements (may be referred to as use-cases or user stories)

User Requirements Document; Winbook in 577

Functional Requirements (common “shall” based form of requirements. The system shall…)

System and Software Requirements Specification/Document (SRS/SSRD)(No longer applicable in 577)

Quality of Service (a.k.a., non-functional or quality attributes or in 577: Levels of Service)

Mostly part of SRS/SSRD; OCD and Winbook in 577

Architectural Requirements System and software architecture document (SSAD); exists in 577

Project/Process Requirements SRS/SSRD; OCD and Winbook in 577

Page 27: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Tools/Techniques for Capturing Requirements in 577?

Activity Tools/TechniquesCapturing Business Requirements Program Model, Activity Diagrams,

Element-Relationship Diagrams etc.,Capturing User Requirements Top-down functional decomposition and

user storiesCapturing Functional Requirements Shall-based statements. Eliminated for

577 like projects. Still done in the wild and for large systems

Capturing Levels of Service/Quality Requirements

Similar to user stories

Capturing Architectural Requirements System Context, Deployment Diagrams, Freeform text, Use-cases, Sequence Diagrams etc.,

Capturing Project/Process Requirements Similar to user stories

Page 28: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

“HOW” ARE REQUIREMENTS CAPTURED IN 577?

Page 29: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

29

Main Kinds of Requirements• Product Requirements

– Capability Requirements• local to system, specific system functionality

– Level of Service Requirements• local to system, may affect many system requirements

• System Interface Requirements– Varies; affects groups system requirements

• Project Requirements– Global to project, affects overall system requirements

• Evolutionary Requirements– Varies; effects design and implementation– Necessary to future proof the system

Page 30: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

30

Levels of ServiceQuality attributes of the system:• Dependability– Reliability– Availability

• Usability– Ease of learning– Ease of use

• Performance• Maintainability• Portability• Interoperability• Reusability

Page 31: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

31

Example of Capability RequirementRequirement: CR-13

Description:The Archive user subsystem allows the user to view the list of archive items, select the item of interest, deselect if required and view the overview on the selected archive items.

Priority: Must Have

Input(s): - Selected archive items- The database with the overviews of the archive items.

Source(s): User Input

Output(s): Overview display of the archive items.

Destination(s): User Display

Pre-condition(s): The user has performed a search by keyword or has browsed the archive.

Post-condition(s): The user either makes an advance request or starts another search or exits fromthe system.

WinWin Agreements: [Agreement 1]

Page 32: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

32

Poor Examples of LOS

• M: The system should be as fast as possible

• R: The system should be available 24/ 7 (even if organization does not support activities beyond day time)

• S: The system shall be implemented as per the standards laid out by USC

• A: The system shall be available 100% of the time (for an unreliable network- based system)

Page 33: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

SSRD in Practice

In 2D

The true 3D view

Too much detail and too much

to capture

39

Page 34: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Change Management & SSRD?

40

Page 35: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Along came a

User Stories

SSRD

Story

What we thought… What was actually intended…

41

Page 36: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

The User Story – 3Cs

Lightweight Ecstasy

Card

A promissory note of intent

Conversation

Discussion & clarification of intent (a.k.a requirement)

Confirmation

Acceptance Tests

42

Page 37: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

User Stories• Written on small index cards• Usually of the form:

As a <role>, I can <activity> so that <business value>

“As a Consumer I can see my daily energy usage so that I can lower my energy costs and usage”

• Lacks details captured by traditional requirements specifications

• Details conveyed primarily through conversations• Formalized via acceptance tests

43

Page 38: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

INVEST-ing in User Stories

I = IndependentN = NegotiableV = ValuableE = EstimableS = SmallT = Testable

44

Commonly used acronym in the Agile World to describe attributes of a good user story:

Page 39: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Theory-WCustomer

Developer

STOP THIS MADNESS!

Think of requirements as stakeholder negotiated win

conditions!!

As a team discuss what will make each of you “win”

(a.k.a. win conditions)

Identify any issues and come up with options to resolve them

Reach a mutual consensus and move

forward (WinWin Equilibrium)

Dr. Boehm

45

Page 40: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

WinbookTheory - W

Requirement Specifications

Putting It All Together

User Stories

Facebook Gmail

46

Page 41: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Winbook• A collaborative, social networking based tool

for requirements brainstorming similar to facebook…

• …with requirements organization using color-coded labels similar to Gmail…

• …to collaboratively converge on software system requirements reaching win-win equilibrium (based on Theory-W)…

• …by keeping it short and simple like XP’s user stories!

47

Page 42: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

48

Page 43: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

49

Page 44: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Requirements in 577• Requirements are treated as “Win Conditions”• Win Conditions are captured in Winbook• Win Conditions subsume user stories:– Capability/Functional Requirements/Win Conditions

can be conveniently phrased as user stories• Win Conditions are negotiated within Winbook

itself• Win Conditions are linked to corresponding use-

cases facilitating “downstream value traceability”

50

Page 45: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Challenges with Requirements• Things that can (and do) make life difficult– Missing Requirements– Ambiguous Requirements (major problem)– Changing Requirements (changes in technology,

marketplace, political & legal changes, economic changes etc.,)

– Non-identified Stakeholders– Location/Time differences and communication

overhead– IKIWISI (I’ll know it when I’ll see it)– Implicit Assumptions

51

Page 46: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

Key Takeaways• Requirements are very critical to the field of Software

Engineering• Almost everything documented information is a form of

requirement• No single artifact to rule them all – content usually split

across various artifacts• Very cooperative and iterative• Assumptions/Conflicts must be made explicit and

validated/resolved• SSRD is more commonly found in the wild• 577 uses Winbook for documenting ‘requirements’ making

the process ‘fun and lightweight’52

Page 47: Requirements and Winbook Nupul Kukreja, Barry Boehm 5 th Sept, ‘14

References• Software Requirements, 3rd Edition – Wiegers

and Beatty• Requirements Engineering: Fundamentals,

Principles and Techniques – Klaus Pohl• Agile Software Requirements – Dean Leffingwell• Exploring Requirements: Quality Before Design

– Gause & Weinberg• User Stories Applied – Mike Cohn• Software Engineering Economics – Barry Boehm

53