Lecture 15 20
Lecture 15 20
Lecture 15 20
1 10/20/23
Project Failures
2
Why improve PM?
3
Why improve PM ….
4
Two Dimensions in project execution
5
Process-based Project Execution
6
The Project Mgmt Process
7
Project Planning
• Basic objective:
− To create a plan to meet the commitments of the project
− create a path that, if followed, will lead to a successful project
• Planning involves
− defining the LC process to be followed, estimates, detailed schedule,
plan for quality, etc.
• Main output
− a project management plan, and
− project schedule
8
Key Planning Tasks
9
Process Planning
10
Life Cycle Process
11
Planning Principles
• Understand scope
• Involve customer in planning.
• Recognize planning is iterative.
• Estimate based on what you know.
• Consider risk as you define plan.
• Be realistic- 100 %..omissions in communication.
• Adjust granularity ( detail) as you define plan.
• Define how you ensure quality.
• Accommodation of changes.
• Track plan frequently
12 10/20/23
Project Planning
13 10/20/23
Main objectives with a project plan
14 10/20/23
• Define key management reviews as to content, extent, and
timing
15 10/20/23
The form of a project plan
16 10/20/23
Steps/ Task Set
17 10/20/23
• c) Reconcile Estimates.
18 10/20/23
Different types of project plans
• Quality plan - Includes the quality procedures and standards that concern the
project.
• Validation plan - Covers approaches, resources and schedule involved in the system
validation.
• Staff development plan - Includes how available skills and experience will be
developed
19 10/20/23
• Project Planning
• Scope Management
• Project Estimation
20 10/20/23
Project Planning
21 10/20/23
Software Scope
• Includes
22 10/20/23
Need for cost estimation
23
Cost of a project
24
Software Cost Estimation
25
COCOMO models
26
Emperical Estimation Model- COCOMO
• Boehm
• Software development project can be classified into one of the
following three categories based on the development complexity:
• 1. organic-"small" teams with "good" experience working with "less than
rigid" requirements, the project deals with developing a well understood
application program
27 10/20/23
• 1981
• Basic COCOMO,
• Intermediate COCOMO
• Complete COCOMO.
28 10/20/23
Basic COCOMO Model
• Effort =a1 х(KLOC)a 2 PM
• KLOC is the estimated size of the software product expressed in Kilo Lines of Code,
• •a1, a2, b1, b2
• are constants for each category of software products.
29 10/20/23
Effort
• Effort Equation
− Effort = a * (KLOC)b (person-months)
• where Effort = number of person-month
(=152 working hours),
• a = a constant,
• KLOC = thousands of “lines of code"
(LOC) and
• b = a constant.
30
Effort
• Effort Equation
− Effort = a * (KLOC)b (person-months)
• where Effort = number of person-month
(=152 working hours),
• a = a constant,
• KLOC = thousands of “lines of code"
(LOC) and
• b = a constant.
31
Productivity
• Productivity equation
− (KLOC) / (Effort)
• where Effort = number of person-month
(=152 working hours),
32
Schedule
• Schedule equation
− Duration, D = C * (E)d (months)
• where D = number of months estimated for
software development.
33
Average Staffing
• Average Staffing Equation
− (Effort) / (D) (FSP)
• where FSP means Full-time-equivalent
Software Personnel.
34
Estimation of development effort
•
• For the three classes of software products, the formulas for
estimating the effort based on the code size.
35 10/20/23
Estimation of development time
•
• For the three classes of software products, the formulas for estimating the
development time based on the effort are given below:
36 10/20/23
Example:
Assume that the size of an organic type software product has been estimated to be 32,000
lines of source code. Assume that the average salary of software engineers be Rs. 15,000/-
per month. Determine the effort required to develop the software product and the nominal
development time.
37 10/20/23
Intermediate COCOMO model
• The basic COCOMO model assumes that effort and development time are
functions of the product size alone.
• Other project parameters besides the product size affect the effort required
to develop the product as well as the development time.
• Refines the initial estimate obtained using the basic COCOMO expressions
by using a set of 15 cost drivers (multipliers)
38 10/20/23
• The cost drivers can be classified as being attributes of the following items:
•
• Product: The characteristics of the product that are considered include the
inherent complexity of the product, reliability requirements of the product,
etc.
•
• Computer: Characteristics of the computer that are considered include the
execution speed required, storage space required etc.
•
• Personnel: The attributes of development personnel that are considered
include the experience level of personnel, programming capability, analysis
capability, etc.
•
39 10/20/23
Complete COCOMO model
• Shortcoming of both the basic and intermediate COCOMO
models is that they consider a software product as a single
homogeneous entity.
• 1. Database part
• 2. Graphical User Interface (GUI) part
• 3. Communication part
40 10/20/23
single variable model
41 10/20/23
Single Variable Model
• Static
• A unique variable (say, size) is taken as a key element for calculating all
others(say cost time etc)
• Calculating (say, cost, time etc.)
• The form of equation used is the same for all calculations.
• Dynamic
• All variables are interdependent and there is no basic variable as in the static
model
42 10/20/23
Single variable model
43 10/20/23
• • The software Engineering Laboratory of the university of Maryland has
established a model, the SEL model, for estimating its own software production
• E=1.4L 0.93
• Effort(person-month)
• DOC=30.4L 0.90
• Documentation(number of pages)
• D=4.6L 0.26
• Duration(month)
• L:number oflinesofcode(thousands of lines)used as predictor
44 10/20/23
Static Multi varible Model.
• Depend on several variables.
• Methods used, user participation…..
• Waltson & Felix at IBM.
• Relation between lines of code(L)
• & Effort (E) in person months.
• E= 5.2 L 0.91
45 10/20/23
• Duration of development in month.
• D= 4.1 L 0.36
• Productivity Index = I
46 10/20/23
COCOMO Models
• COCOMO is defined in terms of three different
models:
− the Basic model,
− the Intermediate model, and
− the Detailed model.
• The more complex models account for more
factors that influence software projects, and make
more accurate estimates.
47
The Development mode
• the most important factors contributing to a project's duration and cost
is the Development Mode
• Organic Mode: The project is developed in a familiar, stable
environment, and the product is similar to previously
developed products. The product is relatively small, and
requires little innovation.
• Semidetached Mode: The project's characteristics are
intermediate between Organic and Embedded.
• Embedded Mode: The project is characterized by tight,
inflexible constraints and interface requirements. An embedded
mode project will require a great deal of innovation.
48
Modes
Feature Organic Semidetached Embedded
50
Cost Estimation Process
Cost=SizeOfTheProject x Productivity
Effort
Size Table
Development Time
Lines of Code
Estimation Process
Number of Use Case Number of Personnel
51
Project Size - Metrics
1. Number of functional requirements
2. Cumulative number of functional and non-functional requirements
3. Number of Customer Test Cases
4. Number of ‘typical sized’ use cases
5. Number of inquiries
6. Number of files accessed (external, internal, master)
7. Total number of components (subsystems, modules, procedures, routines,
classes, methods)
8. Total number of interfaces
9. Number of System Integration Test Cases
10. Number of input and output parameters (summed over each interface)
11. Number of Designer Unit Test Cases
12. Number of decisions (if, case statements) summed over each routine or
method
13. Lines of Code, summed over each routine or
method
52
Function Points
• STEP 1: measure size in terms of the amount of
functionality in a system. Function points are computed by
first calculating an unadjusted function point count
(UFC). Counts are made for the following categories
− External inputs – those items provided by the user that describe
distinct application-oriented data (such as file names and menu
selections)
− External outputs – those items provided to the user that generate
distinct application-oriented data (such as reports and messages,
rather than the individual components of these)
− External inquiries – interactive inputs requiring a response
− External files – machine-readable interfaces to other systems
− Internal files – logical master files in the system
53
Function Points(..)
54
Function Points(...)
• STEP 3: Calculate the total UFP (Unadjusted
Function Points)
• STEP 4: Calculate the total TCF (Technical
Complexity Factor) by giving a value between 0
and 5 according to the importance of the
following points:
55
Function Points(....)
56
Function Points(.....)
• STEP 5: Sum the resulting numbers too obtain DI
(degree of influence)
• STEP 6: TCF (Technical Complexity Factor) by
given by the formula
− TCF=0.65+0.01*DI
• STEP 6: Function Points are by given by the
formula
− FP=UFP*TCF
57
Example
58
Example (.)
59
Example (..)
60
Example (…)
• Function Points
− FP=UFP*(0.65+0.01*DI)= 55*(0.65+0.01*30)=52.25
61
Relation between LOC and FP
• Relationship:
− LOC = Language
Factor * FP
− where
• LOC (Lines of Code)
• FP (Function Points)
62
Relation between LOC and FP(.)
Assuming LOC’s per FP for:
Java = 53,
C++ = 64
63
Effort Computation
• The Basic COCOMO model computes effort as a
function of program size. The Basic COCOMO
equation is:
− E = aKLOC^b
• Effort for three modes of Basic COCOMO.
Mode a b
65
Effort Computation
• The intermediate COCOMO model computes
effort as a function of program size and a set of
cost drivers. The Intermediate COCOMO
equation is:
− E = aKLOC^b*EAF
• Effort for three modes of intermediate COCOMO.
Mode a b
66
• Effort Adjustment Factor
Effort computation(.)
Cost Driver Very Low Nominal High Very Extra
Low High High
67
Effort Computation (..)
Total EAF = Product of the selected factors
68
Example
69
Software Development Time
• Development Time Equation Parameter
Table:
70
Distribution of Effort (.)
The following table gives the recommended percentage
distribution of Effort (APM) and TDEV for these
stages:
71
Advantages and Disadvantages
• Advantage
− COCOMO is transparent, one can see how it works
unlike other models.
− Drivers are particularly helpful to the estimator to
understand the impact of different factors that affect
project costs
• Disadvantages
− It is hard to accurately estimate KLOC early on in the
project, when most effort estimates are required
− Extremely vulnerable to mis-classification of the
development mode
− Success depends largely on tuning the model to the
needs of the organization, using historical data which is
not always available
72
Staffing
• 2. Respect-
• diff people diff skills.
• Respect it.
• All members should be given same chance.
• Fit in team..?
73 10/20/23
• 3. Inclusion –
• feel of listening..
• Good working environment for all.
• Junior, senior.
• 4. Honesty-
• technical knowledge..
• Will respect…
74 10/20/23
Selecting Staff- how to appoint to a project
75 10/20/23
• Specific skills…
• Company location..
• Recent graduates will not have specific skills.
76 10/20/23
Motivating people- Mashlow
77 10/20/23
• People are motivated by satisfying your needs
• Hierarchy..
78 10/20/23
• To satisfy social needs give time to people to meet co workers.
• Same place.. Easy
• But different place…
79 10/20/23
• To satisfy esteem needs you should show people you are
valued by the organization.
• Public recognition..
• Paid at level..@ skills, experience.
80 10/20/23
• Self realisation needs
• You need to give people responsibility for their work.
• Assign them demanding works & not impossible works.
• Tarining..
81 10/20/23
Classification of professionals- BASS/ DUNTEMAN
• 1. Task oriented people- are motivated by work they do.
• In SE its intellectual challenge.
82 10/20/23
Managing Groups- factors infulencing.
• 3.Group Communications-
83 10/20/23
Software Configuration Management
System engineering
System specification
Requirement analysis Software requirement specification
Design specification
Software design
Source code
Release
Software Configuration Item (SCI)
− Test specification
− Operation and installation manuals
− Executable program
− Database description
− As-built user manual
− Maintenance documents
− Standards and procedures for SE
Need for CM
Other Processes 95
SCI Modification Process
[Pressman, 1997]
Object identification in SW
configuration
• Features of objects:
− name: a character string
− description: a list of data items to identify the SCI type and a project
id, version information, etc.
− resources: entity that are provided, processed, referenced by the object
− Realization: a pointer to ‘unit of text’ for a basic object or null for an
aggregate object
Object identification in SW
configuration
[Pressman, 1997]
SCM Process
• Identification
• Version control
• Change control
• Configuration auditing
• Status reporting
Configuration Control
obj obj
1.3 1.4
obj obj obj
1.0 1.1 1.2
obj obj
2.0 2.1
obj obj
1.1.1 1.1.2
[Pressman, 1997]
Merging
[Conradi, 1998]
Techniques for storing Versions
• Full files
• Forward Delta files
• Reverse Delta files
• The set of differences between two versions is called a delta.
[Conradi, 1998]
Version Control Support
With B;
Spec A Spec B
Body A Body B
Developer evaluates
[Pressman, 1997]
Configuration Audit
Roles:
• Configuration manager
• The SCMP can either follow a public standard like the IEEE
828, or an internal (e.g. company specific) standard.
SCM Tools
[Conradi, 1998]
Research Tools
[Volzer, 2002]
Research Tools
[Volzer, 2002]
Outline of a Software Configuration
Management Plan (SCMP, IEEE
828-1990)
1. Introduction
− Describes purpose, scope of application, key terms and references
2. Management (Who?)
− Identifies the responsibilities and authorities for accomplishing the
planned configuration management activities
3. Activities (What?)
− Identifies the activities to be performed in applying to the project.
Outline of a Software Configuration
Management Plan (SCMP, IEEE
828-1990)
4. Schedule (When?)
− Establishes the sequence and coordination of the SCM activities with
project mile stones.
5. Resources (How?)
− Identifies tools and techniques required for the implementation of the
SCMP
6. Maintenance
− Identifies activities and responsibilities on how the SCMP will be kept
current during the life-cycle of the project.