irecon 2016 virtual re conference - software requirements: 7 critical success factors by karl...

12
Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 1 Software Requirements: 7 C iti lS F t 7 Critical Success Factors Karl Wiegers Process Impact Process Impact Copyright 2016 by Karl Wiegers www.processimpact.com Process Impact Process Impact CSF #1: A shared understanding of what requirements are and why we care People use many terms for various types of requirements Leads to confusion and headaches What kind of information is it? How do we get it? Who is responsible for it? Where does it go? What do we do with it? Not everyone believes requirements 2 Copyright 2016 by Karl Wiegers are important (or necessary!)

Upload: prasad-kamath-cba-cbap-cpre-alpfmppgmpmop-p-msp-picp

Post on 07-Jan-2017

46 views

Category:

Software


0 download

TRANSCRIPT

Page 1: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 1

Software Requirements: 7 C iti l S F t7 Critical Success Factors

Karl WiegersProcess ImpactProcess Impact

Copyright 2016 by Karl Wiegers

www.processimpact.com

Process ImpactProcess Impact

CSF #1: A shared understanding of what requirements are and why we care

People use many terms for various types of requirements

Leads to confusion and headaches What kind of information is it? How do we get it? Who is responsible for it? Where does it go? What do we do with it?

Not everyone believes requirements

2

Copyright 2016 by Karl Wiegers

are important (or necessary!)

Page 2: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 2

What Is a “Software Requirement”?

“Requirements are … a specification ofRequirements are … 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.”

3

Copyright 2016 by Karl Wiegers

-- Ian Sommerville & Pete Sawyer

Three Levels of Software RequirementsBusiness

Requirements BusinessRules

Vision and Scope Document

UserRequirements

User Requirements Document

E t l

QualityAttributes

4

Copyright 2016 by Karl Wiegers

FunctionalRequirements

Software Requirements Specification

Constraints

External Interfaces

Page 3: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 3

Good Requirements Accelerate Development

Business requirements establishshared vision, goals, and expectations.

User involvement reduces chance User involvement reduces chance of system rejection.

Requirements ensure the functionality built lets users perform essential tasks.

Requirements define achievable quality expectations.

Emphasizing requirements is cheaper than beta testing.

5

Copyright 2016 by Karl Wiegers

Emphasizing requirements is cheaper than beta testing.

The right changes are incorporated appropriately.

Reviews detect errors early.

CSF #2: Clearly defined business requirements

Business Objectives come from business problems or market opportunities d fi t i f t l define success metrics for customer value

Product Vision concept of what the product might eventually become identifies business benefits the system will provide

Project Scope boundary between what’s in and out

6

Copyright 2016 by Karl Wiegers

y include limitations and exclusions facilitates making project commitments and prioritization prerequisite to managing scope creep

Page 4: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 4

Four Techniques for Scope Definition Context Diagram shows external entities no internal system details

Use Case Diagram shows use case–actor connections

Feature Roadmap describe levels of feature enrichment plan specific feature levels for each release create a feature tree visual model

7

Copyright 2016 by Karl Wiegers

create a feature tree visual model

System Events triggers that stimulate some system response could be business events, temporal events, signal events

CSF #3: Trained, skilled, and motivated business analysts

sponsor businessproject managersize and

complexityprequirements

gcomplexityinformation

development

functional andnonfunctionalrequirements

user reps

userrequirements

8

Copyright 2016 by Karl Wiegers

functional andnonfunctionalrequirements

testing

expectationsand constraints

other stakeholders

Page 5: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 5

The Business Analyst - 1 Plays an essential communication role talk to users: application domain talk to developers: technical domain

t l t i t i t t h i l i t translate user requirements into technical requirements

Performs many project tasks define business requirements identify project stakeholders and user classes elicit requirements analyze requirements document requirements

9

Copyright 2016 by Karl Wiegers

document requirements lead requirements validation facilitate requirements prioritization manage requirements

The Business Analyst - 2 Needs many skills listening interviewing and questioningg q g analytical communication and interpersonal systems thinking facilitation leadership observation writing

10

Copyright 2016 by Karl Wiegers

writing modeling organization creativity

Page 6: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 6

CSF #4: A collaborative partnership with customers

Stakeholders

OtherStakeholdersCustomers

Direct and Indirect Users

Other Customers

11

Copyright 2016 by Karl Wiegers

OtherUser Classes

IgnoredUser Classes

DisfavoredUser Classes

FavoredUser Classes

The Need for Customer Involvement

Customer involvement is the mostCustomer involvement is the mostcritical factor in software quality.critical factor in software quality.

Expectation Gap(Surprise!)}

12

Copyright 2016 by Karl Wiegers

time

}

Page 7: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 7

Building the Collaborative Partnership

Identify stakeholders.

Identify user classes.

Select product champions to represent user classes.

Co-locate BA, developers, and customer reps if possible.

Agree on how you will work together.

Agree on customer rights and responsibilities regarding i t

13

Copyright 2016 by Karl Wiegers

requirements.

The Product Champion

Primary interface between developmentand customer communities

Ideally, a real user; not a user manager, funding sponsor, or simulated user

Reconciles incompatible user requirements

Goal is to present developers with a unified set of requirements

14

Copyright 2016 by Karl Wiegers

q

Must be empowered to make binding decisions

Document product champion responsibilities

Page 8: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 8

CSF #5: Rigorous and ongoing requirements prioritization

Not everything can be top priority!

Setting priorities will help you: work on the right things first make tradeoff decisions deal with added and changed requirements

Need to bypass politics and emotion

Need to understand which requirements are most important and most urgent

costvalue

15

Copyright 2016 by Karl Wiegers

important and most urgent.

A Prioritization ScaleImportant Not So Important

High PriorityHigh Priority

Not SoU

Urgentg yg y

must be includedin next release

Low PriorityLow Priority

would be nice to

Medium PriorityMedium Priority

must be included, b t it f

16

Copyright 2016 by Karl Wiegers

Urgent have if we can fit it in

but can wait for later release

Page 9: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 9

CSF #6: Taking an incremental and iterative approach to requirements development

You can’t get all requirements right up front

Start at high level of abstraction and work down:g

business reqs => user reqs => functional reqs

Do first-cut elicitation, prioritize, then flesh out top-priority requirements for the next release or iteration

Expect to revisit requirements to refine, clarify, extend, and modify

17

Copyright 2016 by Karl Wiegers

, y

Key concept: progressive refinement of details

Components of Requirements Engineering

Requirements Engineering

Requirements Development

RequirementsManagement

li i i A l i V lid tiS ifi i

18

Copyright 2016 by Karl Wiegers

Elicitation Analysis ValidationSpecificationclarify rewrite

re-evaluate

confirm and correct

close gaps

Page 10: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 10

CSF #7: Anticipating and accommodating change

Anticipate Change Requirements grow – deal with it. K th d th i b i d i Know the users and their business drivers. Identify likely sources of change.

Accommodate Change Understand your team’s capacity to adapt to change. Structure applications to facilitate rapid change.

Manage Change

19

Copyright 2016 by Karl Wiegers

Use a tool to manage change requests. Follow your change control process. Evaluate impact before approving a change request.

Some Change Management Strategies Requirements development adopt best practices for elicitation and customer engagement define project scope define requirement baselines

Change control system define and follow a change control process establish a change control board for each project align changes with business objectives

Project management

20

Copyright 2016 by Karl Wiegers

Project management follow appropriate development life cycles incorporate contingency buffers into schedules perform formal risk management

Page 11: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 11

Your Next Steps

Assess points of pain.

Understand root causes of problems.p

Define effective practices to address the pain. industry “good practices” local positive experiences

Develop procedures, templates, work aids

Train project participants.

21

Copyright 2016 by Karl Wiegers

p j p p

Share your successes, learn from each other.

Communicate, communicate, communicate!

Software Requirements: 7 CSFs

NONONONOSURPRISES!SURPRISES!

22

Copyright 2016 by Karl Wiegers

SURPRISES!SURPRISES!

Page 12: iRECON 2016 Virtual RE Conference - Software Requirements: 7 Critical Success Factors by Karl Wiegers

Software Requirements: 7 Critical Success Factors Copyright 2016 Karl E. Wiegers Page 12

An Eighth CSF for Requirements

Software Requirements, 3rd Editionby Karl Wiegers and Joy Beatty (Microsoft Press, 2013)

tinyurl.com/reqs3

23

Copyright 2016 by Karl Wiegers