View
221
Download
2
Tags:
Embed Size (px)
Citation preview
Requirements - Why What and How?
Sriram Mohan
.
Outline
• Why ?• What ?• How ?
Why Requirements
Some facts
• 250 billion dollar industry• 31% projects cancelled(money lost 81 billion
dollars)• 52.7% cost 189% of their original estimates
4
Biggest Reasons forProject Success and Failure
Project Failure
• Lack of user input (13%)• Incomplete requirements (12%)• Changing requirements (12%)
Project Success
• User involvement (16%)• Executive management support (14%)• Clear statement of requirements (12%)
8
Defects by Development Phase
• Requirements – 31% • Design – 25%• Coding – 12%• Documentation – 16%• Bad fixes – 16%
Cost to Fix Errors
10
RequirementsDesignCodingUnit TestAcceptance TestMaintenance
1 5 25 50125500
Why ?
• Requirements errors are likely to be the most common class of error
• Requirements errors are likely to be the most expensive to fix
11
What is a Software Requirement?
What is a Software Requirement?
1. A software capability needed by the user to solve a problem to achieve an objective
2. A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documentation
13
What is Software Requirements MGMT?
What is Software Requirements Management?
• The process of systematically, eliciting, organizing and documenting requirements for the software system, and a process that establishes and maintains agreement between the customer and the project team on the changing
requirements of the system.
15
16
What does it involve?
• Understand the need - the problem to be solved
• Propose features - how the need will be resolved
• Requirements are the specific conditions that are imposed on the solution
17
18
Needs
Features
Requirements
Problem
Domain
SolutionDomain
Software Lifecycle Process Models
20
Waterfall Model
• Manufacturing life cycle model• Assumes
– multi-stage development cycle– completely separate stages– output of one stage is input for next– each stage complete before next is begun
Waterfall Stages
Requirements
Design
Coding
Testing
Maintenance
Advantages
• Much better than chaos!• Clearly defined stages help with
– planning, scheduling– management, organization– accountability, control
Disadvantages
• Not very practical (do not know requirements in the beginning)
• Customer sees nothing until last step
• Change is Anathema
Spiral Model
• Incremental– more feedback from customer
• Risk analysis– more rigorous analysis of risk at each
stage
25
Spiral Model
Iterative (or Incremental) Approach
• Four phases– Inception– Elaboration– Construction– Transition
27
Iterative(or Incremental) Approach
• An iteration is a sequence of activities with an established plan and evaluation criteria, resulting in an executable of some type
• Each phase goes under a # of iterations
28
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
Phases
Iterations
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Workflows group activities logically
In an iteration, you walk through all activities
Process Workflow
Support Workflow
Rational Unified Process Model
Team Project Process
• Modified Waterfall model will be used in 371• You may choose any model you desire during
implementation in 372
30
Software Development
• Is this a team activity? Why?
31
Requirements Team Skills
1. Analyzing the Problem2. Understanding User and Stakeholder Needs3. Defining the System4. Managing Scope5. Refining the System Definition6. Building the Right System