Upload
louise-mercy-mclaughlin
View
216
Download
0
Embed Size (px)
Citation preview
Software Requirements Software Requirements and Designand Design
Khalid IshaqKhalid Ishaq
Overview
• The requirements Problem• Requirements Management• Analyzing Problems• Understanding the Users Needs• Defining and Refining the System• Managing Scope
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?”
Root Causes of Project Failure
• Requirement errors are the most common type of systems development error and the most costly to fix.
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
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%
Root Causes of Project Failure
• Non-Requirements Related– Unrealistic schedules 4%– Inadequate staffing 6%– Inadequate technology skills 7%
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
Root Causes of Project Failure
• 1/3 of projects fail due to requirements gathering, requirements documentation, or requirements management problems
Root Causes of Project Success
• Large companies 9% delivered on time and budget and for small 16%
Root Causes of Project Success
• User involvement 16%• Exec management support 14%• Clear statement of requirements
12%
Costs
• Relative Cost to Repair– Requirements time 0.1 – 0.2– Design 0.5– Coding 1– Unit Test 2– Acceptance Test 5– Maintenance 20
Costs
• Error that occurred when the development staff created the technical design from a correct set of requirements
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.
Requirements Management
• What is a Requirement– A requirement is a capability that the
system must deliver
Requirements Management
• What is a Requirement Management– Requirements Management is a process of
systematically eliciting, organizing and documenting requirements for a complex system.
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
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
Skills
• Analysis the problem• Understand the user needs• Defining the system• Managing scope• Refining the system• Building the right system
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
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.
Root Causes
• Fishbone diagram • Standard Document
Stakeholders
• Users of the system• Customer (Buyer) of the system• Effected by the output of the system• Executives• Misc. Users• Maintainers• Unknown
Solution Boundary
• Our System• Outside interaction
Constraints
• Economics• Political• Technical• System• Environment• Schedule and Resources
END