1
Atul Gupta
S/W PROJECT-PLANNING
Project Planning
2
Before project can begin Set of activities
Process Planning Estimation (Cost, Schedule, Resources) Scheduling and Tracking Risk Identification, Analysis, Monitoring, Mitigation Quality management planning Change management planning
Estimation
3
What it is?
Attempt to determine how much money, effort, time and other resources are needed
Who does it?
Project Manager
How it is done?
By defining scope Decomposition Estimating other resources Using historical data and experience Complexity and Risks are to be taken into account
Are you done ???
1. Defining Scope
4
a scope is an enclosing context What is in and what is out in the context
The functionality The features (performance, reliability, security, ) Data (inputs and outputs) Users/Stakeholders of the system
Defined by two techniques
Using a structured document Using a set of use cases
Project resources
5
Number
Software Tools
Skills
Hardware
People
Environment
Location
Project
Network Resources
OTS Components
Reusable Components
New Components
Fullexperience Components
Partexperience Components
Software Project Estimation
6
Cost and effort estimation
Most critical assessment Too many variables human, technical, environmental, political, and predicting and estimating changes Never going to be an exact science Useful options are:
Experience (Expert estimation) Use of Historical data Use of simple decomposition techniques Use empirical estimation models
Decomposition Techniques
7
1.
Software Sizing Problem
LOC based Function Point (FP) based Process (or Use case) based
2.
Make use of baseline productivity metrics
LOC/pm FP/pm
3.
4.
Estimate an optimistic, a most likely, and a pessimistic size values Compute Size = (Sopt + 4Sm + Spess)/6
LOC based estimation- An Example
8
A software package for CAD for mechanical components Preliminary statement of scope
The mechanical CAD software will accept two- and threedimentional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface. All geometric data and other supporting information will be maintained in a CAD database. Design analysis modules will be developed to produce the required output, which will be displayed on a variety of graphics devices that includes a mouse, digitizer, laser printer, and a plotter.
LOC based estimation
9
S No Function 1 2 3 4 5 6 7 User interface and control facility (UICF) 2-dimentional geometric analysis (2DGA) 3-dimentional geometric analysis (3DGA) Database management (DBM) Computer graphics display facilities (CGDF) Peripheral control function (PCF) Design analysis modules (DAM) Total estimated LOC
Estimated LOC 2300 5300 6800 3350 4950 2100 8400 33200
FP based Estimation
10
Computed using an empirical relationship based on countable (direct) measures of software information domain Includes assessments of software complexity Information domain values are:
Number of Number of Number of Number of Number of external inputs external outputs external enquiries internal logical files external interface files
FP is computed as
= count-total [0.65 + 0.01 (Fi)] where Fi (I = 1 to 14) are value adjustment factors (VAFs)
FP based Estimation An Example
11
Information domain values Number of external inputs Number of external outputs Number of inquiries Number of internal logical files Number of external interface files Count-Total
Opt. 20 12 16 4 2
Like. 24 15 22 4 2
Pess. 30 22 28 5 3
Estim. 24 16 22 4 2
Weight 4 5 4 10 7
FP count 97 78 88 42 15 320
VAFs
12
Does the system requires reliable backup and recovery? Are there distributed processing functions? Is performance critical? Does the system requires on-line data entry? Is the internal processing complex? Is the code designed to be reusable? (14 such factors)
Complexity Weighing Factors
13
FP is computed as
= count-total [0.65 + 0.01 (Fi)] = 375
Process Based Estimation
14
Empirical Estimation Models
15
E = A + B (ev) c where A, B, and C are empirically derived constants, ev is the estimation variable (either LOC or FP) Some estimation models based on LOC are:
E = 5.2 (KLOC)0.91 E = 5.5 + 0.73 (KLOC)1.16 E = 3.2 (KLOC)1.05 E = 5.288 (KLOC)1.047 Walston Felix model Bailey-Basili model Boehm simple model Doty model for KLOC > 9
Estimation models based on FP include
E = -91.4 + 0.355 FP E = -37 + 0.96 FP Albrecht and Gaffney Kemerer model
COCOMO models
16
COCOMO applies to three classes of software projects:
Organic projects - "small" teams with "good" experience working with "less than rigid" requirements (ex: application programs) Semi-detached projects - "medium" teams with mixed experience working with a mix of rigid and less than rigid requirements (ex: Utility like compiler, tools) Embedded projects - developed within a set of "tight" constraints (hardware, software, operational, ......) (ex: real time systems, embedded systems, Operating Systems)
A hierarchy of estimation models Basic COCOMO
E = a (KLOC)b in person months Tdev = c (E)d in months
COCOMO models cont.
17
Basic COCOMO Estimation of development efforts
Organic : E = 2.4(KLOC)1.05 pm Semi-detached : E = 3.0(KLOC)1.12 pm Embedded : E = 3.6(KLOC)1.20 pm
Estimation of development time
Organic : Tdev = 2.5(E)0.38 month Semi-detached : Tdev = 2.5(E)0.35 month Embedded : Tdev = 2.4(E)0.32 month
COCOMO models cont.
18
Intermediate COCOMO
Use of 15 other cost drivers chosen from following domains
People Product Computer/Hardware Development environment/Project
Complete COCOMO
More detailed analysis at subsystem level
Cost Drivers
19 Ratings Cost Drivers Product attributes Required software reliability Size of application database Complexity of the product Hardware attributes Run-time performance constraints Memory constraints Volatility of the virtual machine environment Required turnabout time Personnel attributes Analyst capability Applications experience Software engineer capability Virtual machine experience Programming language experience Project attributes Application of software engineering methods Use of software tools Required development schedule 0.87 0.87 1.46 1.29 1.42 1.21 1.14 1.24 1.24 1.23 1.19 1.13 1.17 1.10 1.07 1.10 1.10 1.08 0.70 Very Low 0.75 Low 0.88 0.94 0.85 Nominal 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 High 1.15 1.08 1.15 1.11 1.06 1.15 1.07 0.86 0.91 0.86 0.90 0.95 0.91 0.91 1.04 Very High Extra High 1.40 1.16 1.30 1.30 1.21 1.30 1.15 0.71 0.82 0.70 1.65 1.66 1.56
0.82 0.83 1.10
Putnam method (Software Equation)
20
From data collected for over 4000 (mostly defense project) E = [LOC B0.333/P]3 (1/t4)
where t is the time in months, B is special skill factor, and P is Productivity Parameter that reflect overall maturity of the software process and the environment.
Typical values of P can range from P = 2000 (real-time embedded projects) to P = 28000 (common business applications) B ranges from 0.16 to 0.40 as the complexity increases
Putnam method (Software Equation)
21
A simplified model as
tmin = 8.14 (LOC/P)0.43 in months (for tmin > 6 months) E = 180 Bt3 in person months
References
22
R. S Pressman. Software Engineering A Practitioners Approach, 6th Ed. McGraw Hill, 2005.