26
Software Requirements Software Requirements and Design and Design Khalid Ishaq Khalid Ishaq

Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Embed Size (px)

Citation preview

Page 1: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Software Requirements Software Requirements and Designand Design

Khalid IshaqKhalid Ishaq

Page 2: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Overview

• The requirements Problem• Requirements Management• Analyzing Problems• Understanding the Users Needs• Defining and Refining the System• Managing Scope

Page 3: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

The Requirements Problem

• “The goal of software development is to develop quality software – on time and on budget – that meets customers’ real needs.” To obtain this goal we must know:– “Exactly what is the software supposed

to do?”– “How do we know that the software is

doing exactly that and nothing else?”

Page 4: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• Requirement errors are the most common type of systems development error and the most costly to fix.

Page 5: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• Data (Standish Group 1994 )– $250 Billion each year on 175,000 IT projects.– Average Cost:

• Large Projects: $2,322,000• Medium: $1,331,000• Small: $434,000

• 31% will be cancelled before they are completed or loss of $81 Billion

• 52.7% will cost 189% of the original estimate or loss of $59 Billion

Page 6: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• Requirements Related– Lack of user input: 13% of all projects– Incomplete requirements and

specifications 12% of projects– Changing requirements and

specifications 12%

Page 7: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• Non-Requirements Related– Unrealistic schedules 4%– Inadequate staffing 6%– Inadequate technology skills 7%

Page 8: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• Source: European Software Process Improvement Training Initiative (ESPITI) 3800 responses– 2 largest Problems in ½ the responses

• Req. specifications• Managing customer requirements

Page 9: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Failure

• 1/3 of projects fail due to requirements gathering, requirements documentation, or requirements management problems

Page 10: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Success

• Large companies 9% delivered on time and budget and for small 16%

Page 11: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes of Project Success

• User involvement 16%• Exec management support 14%• Clear statement of requirements

12%

Page 12: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Costs

• Relative Cost to Repair– Requirements time 0.1 – 0.2– Design 0.5– Coding 1– Unit Test 2– Acceptance Test 5– Maintenance 20

Page 13: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Costs

• Error that occurred when the development staff created the technical design from a correct set of requirements

Page 14: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Costs

• Error that leaked into the design phase due to wrong requirements.– By the time the req. error is detected,

design group has invested time and effort in a design

– Assumes the error is design related and takes a while to point to the wrong requirements.

Page 15: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Requirements Management

• What is a Requirement– A requirement is a capability that the

system must deliver

Page 16: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Requirements Management

• What is a Requirement Management– Requirements Management is a process of

systematically eliciting, organizing and documenting requirements for a complex system.

Page 17: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Requirements Management

• The skill to elicit useful and complete requirements from the users

• Since 100’s or 1000’s of req. may be associated with a system, organize them

• Documentation of the req. for effective communication among stakeholders

Page 18: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Eliciting Requirements

• Is this a nice-to-have or a must have?– Need or requirement– Statement of the problem or statement of the

solution– Goal of the system or a contractual requirement

Page 19: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Skills

• Analysis the problem• Understand the user needs• Defining the system• Managing scope• Refining the system• Building the right system

Page 20: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Problem Analysis

• Gain agreement on the problem definition

• Understand the root causes – the problem behind the problem

• Identify the stakeholders• Defining the solution system

boundary• Identify Constraints

Page 21: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

The Problem Statement

• The problem of Describe the problem• Effects Identify the stake

holders affected by the problem

• The result of which Describe the impact of this problem on the

stakeholders and business activity

• Benefits of indicated the proposed solutions and list a few key benefits.

Page 22: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Root Causes

• Fishbone diagram • Standard Document

Page 23: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Stakeholders

• Users of the system• Customer (Buyer) of the system• Effected by the output of the system• Executives• Misc. Users• Maintainers• Unknown

Page 24: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Solution Boundary

• Our System• Outside interaction

Page 25: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

Constraints

• Economics• Political• Technical• System• Environment• Schedule and Resources

Page 26: Software Requirements and Design Khalid Ishaq. Overview The requirements Problem Requirements Management Analyzing Problems Understanding the Users Needs

END