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
Top Related