software requirements and design khalid ishaq. overview the requirements problem requirements...

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

Upload: louise-mercy-mclaughlin

Post on 17-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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