Lecture4 v3
Lecture4 v3
Lecture4 v3
(Project Blastoff)
1
Recap of last week:
Definitions
✦Requirement: an action that the system (a.k.a.
product) is capable of doing, or an attribute/quality
that the system must have.
✦You must discover the requirements before you
start building the product.
2
Functional Requirements
✦Specify the actions that the system/product must
take to contribute to the goal of the project.
✦They are not qualities.
✦Example:
✦The Airline Passenger Service System shall
automatically assign a passenger to a seat on her
chosen flight.
3
Non-Functional Requirements
✦Qualities or attributes that the system/product must
have.
✦Example: Performance (e.g., speed), Look and
Feel, Security, etc.
✦Example: The Airline Passenger Service System
shall automatically assign a passenger to a seat
on her chosen flight within 0.25 second.
4
Constraints
✦Global issues that shape the requirements.
✦They set limitations/restrictions on the product.
✦Budgetary constrains, Design solutions, platform
choices, etc.
✦Example:
✦The budget available to develop the system is
$1.2 million.
✦The system has to be developed within 90 days.
✦The system shall run on Android and iOS.
5
✦This figure is an overview of different requirement
activities.
✦We will cover each activity in detail throughout the
course.
✦This figure can be overwhelming, so I decided to
summarize it in text in the next two slides..
6
Requirement activities
1. Project Blastoff/Inception/Feasibility study: the
business analyst meets with the client and
everyone who has interest in the project.
Decide whether the project is feasible or not.
2. Trawl for Knowledge: Investigate client’s work and
his current way of doing business.
3. Prototype the business: use sketches/models to
clarify client’s work.
4. Write the Requirements: in an unambiguous
language.
7
Requirement activities
5. Quality gateway: test the correctness of the
requirements. Usually done by the lead
requirement engineer and the tester.
6. Reusing Requirements: reuse similar requirements
from previous projects.
7. Reviewing the Requirements: check for missing
requirements. Check if the requirements are
consistent and resolve conflicting requirements.
8
Software Development
Process
evolutionary
9
Waterfall Model
10
Evolutionary Model
✦The cost of accommodating changing customer
requirements is reduced.
✦Easy to get feedback from clients.
✦Rapid delivery and deployment
✦System’s structure tend to degrade as new
changes are added.
✦Incorporating further changes becomes
increasingly costly and difficult.
11
Evolutionary Model
12
Project Blastoff
(Feasibility Study)
Chapter 3
13
Typical Deliverables
✦ Purpose of the project
✦ Scope of the Work
✦ Stakeholders
✦ Constraints
✦ Terminology
✦ Relevant Facts & Assumptions
Figure 3.2
✦ Estimated Cost
The blastoff activity assembles enough
✦ Risks information to ensure that the project
can proceed smoothly. It also verifies that
✦ Go/no go Decision the project is viable and worthwhile. Most
of the outputs serve as the foundation for
You can follow Appendix A in the trawling activity about to come; the
risks and costs are used by project
management.
the textbook..
14
Case Study:
IceBreaker
✦ You work for a software company, and you are
responsible for producing the requirements
specification.
✦ The client is an ice breaker company called
Saltworks Systems.
15
Ice Breaker
✦IceBreaker uses data from the
environment to predict when ice will
form on roads.
✦It then schedules trucks to treat the
roads with de-icing material (a salt
compound) before the roads can
become dangerous.
16
Ice Breaker
✦The first customer for the IceBreaker product is the
Peterborough Transportation Department.
✦The Transportation Department is responsible for
keeping the roads free of ice that is likely to cause
accidents; it has agreed to provide expertise and
information for you to build the optimally valuable
product for the department.
17
Scope of the Work
Figure 3.5
19
Responsibilities are defined by the flow of data.
Truck Depot advises the Work of a Truck Change.
Tracking truck changes is the responsibility of Truck Depot
20
The Road Engineering advises the work of a new weather station.
Tracking of a new weather station is the responsibility of the Road
Engineering.
21
Scope, Stakeholders & Goals
Figure 3.6
34
Purpose of the Project: Goals
PAM
Purpose:
To accurately forecast road freezing and schedule de-icing
treatment.
Advantage:
To reduce road accidents by eliminating icy road conditions.
Measurement:
Accidents attributed to ice shall be no more than one
accident per 10,000 vehicle-miles traveled on all roads in the
districts covered by the product.
35
Aspects of Project Goal
36
Purpose: To save money on winter road de-icing costs.
Advantage: Reduced de-icing and road maintenance costs.
Measurement:
The cost of de-icing shall be reduced by 25 percent of
the current cost of road treatment, and damage to roads
from ice shall be reduced by 50 percent.
Advantage: To reduce damage to the environment by
unnecessary application of de-icing compounds
Risk avoidance
List of potential Prioritized risk Risk
and contingency
risks list assessment
plans
The risk management
process
We will focus only on these two activities of risk management
Risk avoidance
List of potential Prioritized risk Risk
and contingency
risks list assessment
plans
The risk management
process
In the feasibility study, you should come up with a prioritized list
of potential risks.
Risk avoidance
List of potential Prioritized risk Risk
and contingency
risks list assessment
plans
Risk identification
✦ Maybe a team activity or based on the individual
project manager’s experience.
✦ A checklist of common risks may be used to identify
risks in a project. They can be categorized into the
following risk types:
• Technology risks.
• People risks.
• Organizational risks.
• Tools risks.
• Requirements risks.
• Estimation risks.
Examples of different risk types
Risk type Possible risks
Technology The database used in the system cannot process as many transactions per
second as expected. (1)
Reusable software components contain defects that mean they cannot be
reused as planned. (2)
People It is impossible to recruit staff with the skills required. (3)
Key staff are ill and unavailable at critical times. (4)
Required training for staff is not available. (5)
Organizational The organization is restructured so that different management are
responsible for the project. (6)
Organizational financial problems force reductions in the project budget.
(7)
Tools The code generated by software code generation tools is inefficient. (8)
Software tools cannot work together in an integrated way. (9)
Requirements Changes to requirements that require major design rework are proposed.
(10)
Customers fail to understand the impact of requirements changes. (11)
Estimation The time required to develop the software is underestimated. (12)
The rate of defect repair is underestimated. (13)
The size of the software is underestimated. (14)