Module 2
Module 2
Topics to be covered
● Planning
● Scope
● Milestones
● Deliverables
Planning
3
Planning Objectives
● To Reduce Uncertainty.
● To Bring Cooperation and
Coordination.
● To Bring Economy in Operation.
● To Anticipate Unpredictable
Contingencies.
● To Achieve the Predetermined Goals.
● To Reduce Competition.
6
Meaning of Planning
● What should be done
● How it should be done
● Who will be responsible
● Where the action is to be taken
● Why its done
7
Scope Planning
8
Scope Definition
● Functional Requirements
● Non-Functional Requirements
● Technical Requirements
● Business Requirements
● User Requirements
● Regulatory requirements
12
An Example of Requirements
The following represents one possible example of each
type of requirement as they would be applied to a bank’s
external ATM.
● ATM functional requirement: The system will enable the
user to select whether or not to produce a hard-copy
transaction receipt before completing a transaction.
● ATM non-functional requirement: All displays will be in
white, 14-point Arial text on black background.
● ATM technical requirement: The ATM system will
connect seamlessly to the existing customer’s database.
13
Contd..
● ATM user requirement: The system will complete a
standard withdrawal from a personal account, from
login to cash, in less than two minutes.
● ATM business requirement: By providing superior
service to our retail customers, Monumental Bank’s
ATM network will allow us to increase associated
service fee revenue by 10% annually on an ongoing
basis.
● ATM regulatory requirement: All ATMs will connect
to standard utility power sources within their civic
jurisdiction, and be supplied with an uninterrupted
power source approved by the company.
14
Milestones
● Milestones are used as signal posts for: a project's start or end date, a
need for external review or input, a need for budget checks, submission
of a major deliverable, and much more.
15
Milestones Examples
● Start and end dates for project phases
● Key deliveries
● Client and stakeholder approvals
● Important meetings and presentations
● Key dates or outages that may impact your
timeline
Milestones - Make the deliverables project
milestones!
17
● Monitor deadlines
● Spotlight important dates
● Identify potential project bottlenecks
18
Deliverables
● Project plan
● Project budget
● Project charter
DELIVERABLES FOR IT PROJECTS 20
objectives:
•Process-oriented WBS
•Decomposes work into the processes needed to accomplish it, such as
requirements, design, development, and testing
•Clarifies what needs to be done and who will do it
•Deliverable-oriented WBS
•Decomposes work into tangible products or services, such as database
schema, and user manuals
•Gives an overview of the deliverables required for a project
Project Scheduling
Project scheduling is the process of deciding how the work in a project will be
organized as separate tasks, and when and how these tasks will be executed.
You estimate the calendar time needed to complete each task, the effort
required and who will work on the tasks that have been identified.
You also have to estimate the resources needed to complete each task, such as
the disk space required on a server, the time required on specialized hardware,
such as a simulator, and what the travel budget will be.
Project Scheduling Activities
Split project into tasks and estimate time and resources required to
complete each task.
These show the project breakdown into tasks. Tasks should not
be too small. They should take about a week or two.
35
36
Risk Management
Topics to be covered
37
- What is a risk?
- What is risk
management?
- Risk Management
Process
- How to identify risk?
- Risk Analysis
- Risk Planning
- Risk Monitoring
- Risk metrics and
measurements
What is Risk? 38
In Risk management,
How to identify
risks?
- Use of checklists
- Brainstorming
- Interviewing
Types of risks 43
- Technology risks.
- People risks.
- Organisational risks.
- Requirements risks.
- Estimation risks.
Risks Analysis/Prioritization 44
45
Risk Monitoring 46
• Measure ● Indicator
quantitative expression of an A metric that provides/adjust
attribute of a product or process (improve) the process or project
· product - SW produced
Typical Project Metrics 52
Software Measurement
Indirect measures
Function-Oriented Metrics
56
Consolidation of metrics
Several estimation procedures have been developed and are having the following
attributes in common.
1. Project scope must be established in advanced.
2. Software metrics are used as a support from which evaluation is
made.
3. The project is broken into small PCs which are estimated individually.
To achieve true cost & schedule estimate, several option arise.
4. Delay estimation
5. Used symbol decomposition techniques to generate project cost and
schedule estimates.
6. Acquire one or more automated estimation tools.
Uses of Cost Estimation
1. During the planning stage, one needs to choose how many engineers
are required for the project and to develop a schedule.
2. In monitoring the project's progress, one needs to access whether the
project is progressing according to the procedure and takes corrective
action, if necessary.
Cost Estimation Models
A model may be static or dynamic.
E=a*(KLOC)b
The value of the constant a and b are depends on the project type.
● COCOMO includes
1. Basic COCOMO Model
2. Intermediate COCOMO Model
3. Complete or Detailed COCOMO Model
COCOMO Model (Constructive Cost Estimation
Model) - 3 types
● In COCOMO, projects are categorized into three types:
1. Organic
2. Semi detached
3. Embedded
1.Basic Model
2.Intermediate Model
3.Detailed Model
Basic COCOMO Model:
● The basic COCOMO model provide an accurate size of the project parameters.
● The following expressions give the basic COCOMO estimation model:
E=ab(KLOC)bbPM
D=cb(E)db Months
P=E/D
Where,
E is the Effort Applied expressed in person months (PM).
D is the development Time expressed in months (M).
KLOC is the estimated size of the software product indicate in Kilo Lines of Code.
ab, bb ,cb,db are constants for each group of software products.
Basic COCOMO Model:
Software Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Basic COCOMO Model: Effort Estimation
>1
<1
Where,
EAF- Efficient Adjustment Factor (can be calculated by multiplying all the values that have been obtained after categorizing each cost drive)
Intermediate COCOMO Model:
Software Project ai bi ci di
● To calculate the size of the program or the size of the process what we
are using in the project.
● Allows for estimation Effort, time scale and total number of faults that
a process has. (This is the difficult area of project Planning)
● The common methods used for Size Estimation are
- Line of Code (LOC)
- Functional Count (FC) or Function Point Analysis (FPA)
LOC (LINE OF CODE)
● LOC is any line of program text that is not comments or blank lines,
regardless of number of statements on the line. It includes all lines
containing program headers, declarations, executable and non
executable statements.
● Used for size estimation
● But LOC is language and technology dependent, therefore bad software
design might cause excessive LOC.
LOC- EXAMPLE
void selSort( int x[], int n) {
//Below function sorts an array in ascending
order
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++)
if (x[j] < x[min])
min = j;
temp = x[i];
x[i] = x[min];
x[min] = temp;
}
}
Where,
ΣFi = Total Complexity Adjustment Value
Fi = Degree of influence and are based on responses to the standard question
and varies on the scale of 0 to 5
0 1 2 3 4 5
No influence incidental moderate Average Significant Essential
The standard function or no. of factors to be considered (Fi)
1. Does the system required reliable backup recovery?
AVERAGE F1 = 3
2. Is Data Communication required?
MODERATE F2 = 2
3. Is distributing processing is there or not?
MODERATE F3 = 2
4. Is performance critical in the system?
ESSENTIAL F4 = 5
5. Is online Data Entry available?
AVERAGE F5 = 3
ΣFi= 3 + 2 + 2 + 5 + 3 = 15
CAF= 0.65 + (0.01 X ΣFi)
= 0.65 + (0.01 X 15)
= 0.8
TOTAL AFP = UFP * CAF
= 214 * 0.8
= 171
Difference between LOC and Function Point :
Function Point (FP) Line of Code (LOC)
Function Point is used for data processing LOC is used for calculating the size of the
systems computer program
Function Point can be used to portray the LOC is used for calculating and comparing
project time the productivity of programmers.
EXAMPLE PROBLEM 2
● Early design stage model - Used once requirements have been stabilized and
basic software architecture has been established.
Use for Application generators, infrastructure & system integration projects
Estimates based on function points that are then translated to LOC
For reports,
Number of sections = 6
Number of data tables = 7
Number of servers = 2
Number of clients = 3
By using above given
information and table (For
Reports)
Complexity level for each
report = difficult.
SOLUTION
Step 4:
Object point count = sigma (Number of object instances) *
(its Complexity weight) = 4 * 2 + 2 * 8 = 24
Step 5:
%reuse of object points = 10% (given)
NOP = [object points * (100 – %reuse)] / 100
= [24 * (100 -10)]/100 = 21.6
SOLUTION
Step 6:
Developer’s experience and capability is
low (given) Using information given about
developer and productivity rate table
Productivity rate (PROD) of given
project = 7
Step 7:
Effort = NOP / PROD
= 21.6/7
= 3.086 person-month
EXAMPLE PROBLEM 2
EARLY DESIGN MODEL : Estimates can be made after the requirements have been agreed.
Based on a standard formula for algorithmic models
PM = A x (Size^b) x M where
M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED;
A = 2.94 in initial calibration
Size in KLOC
B varies from 1.1 t o1.24 depending on novelty of the project development flexibility, risk
management
COCOMO Model II (Constructive Cost Estimation
Model)
REUSE MODEL: Takes into account black box code that is reused without change and code that
has to be adapted to integrate it with new code. There is two versions. Black box reuse where code
is not modified. An effort estimate (PM) is computed. White box reuse where code is modified, A
size estimate equivalent to the number of lines of new source code is computed. This then adjusts
the size estimate for new code.
POST ARCHITECTURE MODEL : Used once the system architecture has been designed and more
information about the system is available. The code size is estimated as :
•Estimates of equivalent number of lines of new code computed using the reuse model.
•An estimate of the number of lines of new code computed using the reuse model.
•An estimate of the number of lines of code that have to be modified according to requirements
changes.
COCOMO Model II (Constructive Cost Estimation
Model)
The COCOMO calculations are based on your estimates of a project's size in Source Lines of Code (SLOC).
SLOC is defined such that:
● Only Source lines that are DELIVERED as part of the product are included test drivers and other support
software is excluded
● SOURCE lines are created by the project staff code created by applications generators is excluded.
● One SLOC is one logical line of code.
● Declarations are counted as SLOC.
● Comments are not counted as SLOC
The original COCOMO 81 model was defined in terms of Delivered Source Instructions, which are very similar to
SLOC. The major difference between DSI and SLOC is that a single Source Line of Code may be several physical lines.
For example, an "if then else" statement would be counted as one SLOC, but might be counted as several DSI.