requirements engineering

17
Lance McElhaney [email protected]

Upload: lmcelh

Post on 15-Dec-2014

150 views

Category:

Technology


0 download

DESCRIPTION

Short primer on requirements definition for IT and engineering projects. 1. The Case for Requirements 2. Types of Requirements 3. Requirements Gathering 4. The Requirement Statement

TRANSCRIPT

Page 1: Requirements Engineering

Lance McElhaney [email protected]

Page 2: Requirements Engineering

I’ll go up and find out what they want and the rest of you start coding!

Page 3: Requirements Engineering

TIME

PR

OB

AB

ILIT

Y

The Design Dilemma

Page 4: Requirements Engineering

Successful

Challenged

Failed

Standish Group 2013

Software Project Results

43 %

18 %

39 %

Page 5: Requirements Engineering

1. Executive Support 2. User Involvement 3. Clear Business Objectives 4. Emotional Maturity 5. Optimizing Scope 6. Agile Process 7. Project Management Expertise 8. Skilled Resources 9. Execution 10. Tools & Infrastructure

Top 10 Keys to Project Success

Standish Group 2013

Page 6: Requirements Engineering

Often or Always Used

20% Rarely or Never 50%

Sometimes 30%

Feature & Function Use

Standish Group 2013

Page 7: Requirements Engineering

“The most important function that the software builder performs is the extraction and refinement of the product requirements. No other part of the work so cripples the resulting system if done wrong.”

-Fred Brooks, The Mythical Man-Month

Page 8: Requirements Engineering

ALREADY

DOING THIS!

YOU ARE

Page 9: Requirements Engineering

Project Initiation

Project Execution

The PMBOK Process

Project Planning

Project Monitoring

Project Closing

Collect Requirements

Page 10: Requirements Engineering

Create WBS

Plan Scope Management

PMBOK Project Scope Management

Control Scope

Validate Scope

Define Scope

Collect Requirements

• Requirements Documentation

• Requirements Traceability Matrix

Page 11: Requirements Engineering

Business

User

System

Project Goals

What Users Need To KNOW and DO

What Developers Build

•Functional •Non-Functional

Requirement Levels

Page 12: Requirements Engineering

The user selects the Create Invoice menu item.

Use Cases

The system displays the Create Invoice screen.

The user selects a Customer, and enters a Begin Date and an End Date.

The user selects the Create Invoice button.

The system displays all invoice entries for the selected Customer with dates within the selected date range.

The user selects the Approve button.

The system displays an electronic invoice with a .pdf file type.

Page 13: Requirements Engineering

Verify

Verify

Validate

Business Requirements

User Requirements

System and Subsystem

Requirements

Component Design

Coding

Unit Tests

Integration & System Tests

User Acceptance

Tests

Business Results

The “V” Model

Page 14: Requirements Engineering

Requirement Definition Methods

Group

Individual

Direct Indirect

Interviews

Observation

More Filtering

Mo

re A

vera

gin

g

Focus Groups Surveys

SOP

User Manuals

Benchmarking

Page 15: Requirements Engineering

SMART Specific, Measurable, Attainable, Real, Traceable

HOW DO WE WRITE

REQUIREMENTS?

Page 16: Requirements Engineering

Examples

• The system shall maintain the tank TK1234 temperature at 5° C. during the HOLD phase.

• The system shall automatically close the tank TK1234 bottom valve when the tank level is below the low alarm limit.

• The system shall automatically close the tank TK1234 bottom valve.

• The system shall produce a daily production report.

• The system shall have a maximum response time of 1 second.

• The system shall automatically close the tank TK1234 bottom valve when the tank level reaches a certain limit.

• The system shall be available at all times.

Page 17: Requirements Engineering

Traceability