0% found this document useful (0 votes)
4 views

Chapter 6 - Software Project Management (1)

The document provides an overview of software project management, focusing on cost estimation techniques, scheduling, scope management, and risk management. It outlines the responsibilities of a software project manager and emphasizes the importance of accurate estimation for effective project control. Additionally, it discusses various estimation models, such as COCOMO, and highlights the significance of communication and resource management in successful project execution.

Uploaded by

noorlightgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Chapter 6 - Software Project Management (1)

The document provides an overview of software project management, focusing on cost estimation techniques, scheduling, scope management, and risk management. It outlines the responsibilities of a software project manager and emphasizes the importance of accurate estimation for effective project control. Additionally, it discusses various estimation models, such as COCOMO, and highlights the significance of communication and resource management in successful project execution.

Uploaded by

noorlightgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Introduction to Software Engineering

CSSE2101/ITSE202
Chapter 6
Software Project
Management
LOC 10: Examine cost estimation
techniques, software project
Learning scheduling, scope,
Outcome communication, configuration
monitoring, and risk
s Covered management for software
projects.
LOC 13: Use project management and case tools.
At the end of this module, the students
will be able to:
●Understand the concept of project
Objectives management
●Apply various estimation techniques
●Identify the risk categories and able to
apply risk management stages
● Complete procedure of software development from
requirement gathering to testing and maintenance.

Softwar ● Specified period of time to achieve intended software


product.
e Project ● Every project may has a unique and distinct goal.
● Project comes with a start time and end time.
● Project ends when its goal is achieved hence it is a
temporary phase in the lifetime of an organization.
● Project needs adequate resources in terms of time,
manpower, finance, material and knowledge-bank.
Need of software project management
●Software project management is essential
to incorporate user requirements along with
budget and time constraints.

⮚ It is an essential part of software


organization to deliver quality
product

⮚ keeping the cost within client’s


budget constrain and deliver the
Triple constraint triangle project as per scheduled

⮚ Any of three factor can severely


impact the other two.
●Person who undertakes the
Software responsibility of executing the
software project.
Project Manager ●Aware of all the phases of SDLC that
the software would go through.
●Controls and manages the activities
involved in production
Managing People Managing Project
● Act as project leader ⚫ Defining and setting up

Responsibilities ● Liaison with project scope


stakeholders ⚫ Managing project
of Software ● Managing human management activities
resources
⚫ Monitoring progress and
Project Manager ● Setting up reporting
hierarchy etc. performance
⚫ Risk analysis at every
phase
⚫ Take necessary step to
avoid or come out of
problems
⚫ Act as project
spokesperson
1. 1. Project Planning
The task is performed before the production
of software actually starts.
It is a set of multiple processes, which
facilitates software production.
2. 2. Scope Management Software
Scope management is essential because it
creates boundaries for the project by clearly
Management
defining what would be done in the project Activities
and what would not be done.
This makes the project contain limited and
quantifiable tasks, which can easily be
documented and avoids cost and time
overrun.
●For an effective management
accurate estimation of various
measures is a must.
●With correct estimation managers
3. Project can manage and control the project
Estimation more efficiently and effectively.
1. Software Size Estimation
●Software size may be estimated
either in terms of KLOC (Kilo Line of
Code) or by calculating number of
function points in the software.
●Lines of code depend upon coding
practices and Function points vary
according to the user or software
requirement.
2. Effort Estimation
●The managers estimate efforts in terms
of personnel requirement and man-hour
3. Project required to produce the software.
Estimation ●For effort estimation software size
should be known.
●This can either be derived by managers
experience, organization historical data
or software size can be converted into
efforts by using some standard formulae.
3. Time Estimation

● Once size and efforts are estimated, the time required to


produce the software can be estimated.

● Efforts required are segregated into sub categories as per


3. Project
the requirement specifications and interdependency of
Estimation
various components of software. Software tasks are divided
into smaller tasks, activities or events by Work Breakthrough
Structure (WBS).

● The tasks are scheduled on day-to-day basis or in calendar


months.

● The sum of time required to complete all tasks in hours or


days is the total time invested to complete the project
4. Cost Estimation
This might be considered as the most difficult of all because it
depends on more elements than any of the previous ones. For
estimating project cost, it is required to consider –

3. Project o Size of software


Estimation o Software quality
o Hardware
o Additional software or tools, licenses etc.
o Skilled personnel with task-specific skills
o Travel involved
o Communication
o Training and support
●Productivity in a manufacturing system
can be measures by counting the
Estimation number of units which are produced
techniques and dividing this by number of person-
hours required to produce them.
Productivity = no. of units produced /
no. of person hrs. required
There are two types of measure
1. Size-related measures
2. Function-related measures
●These are related to the size of some
output from an activity.
Size-
●The most related size measure is lines of
Related delivered source code.
Measures
●Lines of source code per programmer-
month are a widely-used metric in
productivity measurement.
●This is computed by using the formula
Total Number of Lines / Total Time in programmer in
months
Size-Related
Measures
●These are related to overall
functionality of the delivered software.
●Function points(FP) are basic data from
which productivity metrics could be
Size- computed.
Related
Measures ●Function Points (FP) can be computed
by adding all the Component value from
the below table based on Level of
Complexity
●To compute FP for Average
Complexity
Function-Related
Measures ●FP = (4*Inp) + (5*Out) + (4* Inq) +
(10*Maf) + (7*Inf)
Inp= input items
Out=output items
Inq=inquiries
Maf=Master files
Inf=Interface
Example 1

Suppose that Ada program needs 70 LOC per FP. A system with, 10
inputs, 10 outputs, 5 Inquiries, 4 Files and 2 Interfaces and level of
complexity is considered as average. Calculate the total FP?
FP= ( 10 * 4 ) + ( 10 * 5 ) + ( 5 * 4 ) + ( 4 * 10 ) + ( 2 * 7 ) = 164

And the estimated Size would be equal to:

Size = FP * 70

= 164 * 70 = 11480 LOC


Example 2

Assume that you are going to work on a simple project for the
Ministry of Higher Education which will have 8 inputs, 11 outputs,
6 inquiries, 7 master files and 9 interfaces. Consider the values on
the table below and calculate the function points for this project.

FP=( ip*3)+(op*4)+(inq*3)+(maf*7)+(intf*5)

=(8*3) + (11*4) + (6*3) + (7*7)+ (9*5)

=24 + 44 + 18 + 49 + 45

=180
For Given lines of code/FP, we can calculate
the total number of LOC for the Project.

Project Size = FP*LOC


• Mathematical formula is used to
predict costs based on estimates of
project size, number of programmers
and other process and product
Algorithmic features.
Cost
Estimation • The task of software cost estimation is
to determine how many resources are
needed to complete the project.
• COCOMO Model (Constructive Cost
Model) is one of the most widely used
software cost estimation models in the
industry
1. Basic COCOMO
2. Intermediate COCOMO
3. Detailed COCOMO

Types of
COCOMO ⮚Basic COCOMO
Basic COCOMO is a static, single-
valued model that computes software
development effort (and cost) as a
function of program size expressed in
estimated lines of code.
●Organic projects - are relatively small,
simple software projects in which small
teams with good application experience
COCOMO work to a set of less than severe
requirements.
applies to 3
●Semi-detached projects - are intermediate
classes of (in size and complexity) software projects in
software which teams with mixed experience levels
projects: must meet a mix of rigid and less-than-rigid
requirements.
●Embedded projects - are software projects
that must be developed within a set of tight
hardware, software, and operational
constraints.
BASIC COCOMO
The Basic Model makes its estimates of required effort (
measured in Person-Months PM ) based primarily on
your estimate of the software project's size ( as
measured in thousands of Delivered Source Instructions
KDSI ):
Effort(E) = ab * ( KDSI )bb
The Basic model also presents an equation for
estimating the development schedule (Time of Develop
TDEV ) of the project in months:
TDEV= cb * ( E )db
Where: E - effort applied in person-months
TDEV - Development time in months
BASIC COCOMO

The coefficients ab, bb, cb and db are given in the


following table.
●A large chemical products company, is
planning to develop a new computer
program to keep track of raw materials. An
initial study has determined that the size of
Exercise 1 the program will be roughly 32,000
delivered source instructions. This project is
a good example of an organic-mode
software project. Using the Basic COCOMO
equations for this development mode we
have:
Effort:
Effort(E) = 2.4*(32)1.05 = 91 Person-Months(PM)
Productivity: Productivity is calculated as
DSI/Effort.
32000 DSI / 91 PM = 352 DSI / PM
Schedule:
Exercise 1 TDEV = 2.5 * ( 91 )0.38 = 14 Months
After estimating the duration of the project the
manager can easily determine how many persons in
the average must be put on the project:
Average Staffing:
Average staffing = (E/TDEV)
= 91 Person-Months / 14 Months = 6.5 FSP( Full Time
equivalent Software Personnel )
Exercise 2
Assume that you are developing an embedded project for “Home-Based Learning
System” of Muscat University that contains seven (7) modules. The sizes of the modules
are as follow:
Module 1: 2200 LOC Module 2: 1250 LOC Module 3: 2.5 KLOC
Module 4: 1.25 KLOC Module 5: 2650 LOC Module 6: 1240 LOC
Module 7: 3.25 KLOC

Using Basic COCOMO, calculate for the following values. Show your solution.
a. TOTAL LOC
b. Effort Applied(E):
c. Productivity:
d. Time Duration(TDEV):
e. Average Staffing:
Exercise 2
a.Total LOC: d. Time Duration(TDEV):
2200 + 1250 + 2500 + 1250 + 2650 + TDEV = cb * ( E ) db
1240 + 3250 = 14,340 LOC or 14.34 KLOC = 2.5 * 88 ^.32
b. Effort Applied(E): = 10.47 or 10 Months
E = ab * (KDSI) bb e. Average Staffing:
= 3.6 * (14.34) 1.20 Avg_Staff = E/TDEV
= 87.93 or 88 PM = 88/10
c. Productivity: = 8.8 or 9 FSP
P = DSI/Effort
= 14,340 DSI/88PM
= 162.95 or 163DSI/PM
Advantages of COCOMO
●COCOMO is transparent we can see
how it works.
●Drivers are particularly helpful to the
BASIC estimator to understand the impact of
COCOMO different factors that affect project
costs.
Drawbacks of COCOMO
●It is hard to accurately estimate, when
most effort estimates are required.
●It does not account for differences in
hardware constraints
●Project Scheduling in a project refers to
roadmap of all activities to be done with
specified order and within time slot allotted
to each activity.
Project ● Project managers tend to define various
tasks, and project milestones and they
Scheduling arrange them keeping various factors in
mind.
●They look for tasks lie in critical path in the
schedule, which are necessary to complete
in specific manner (because of task
interdependency) and strictly within the
time allocated.
●Arrangement of tasks which lies out of
critical path are less likely to impact overall
schedule of the project.
Project Management Tools
Microsoft Project
●Microsoft Project is a project management software
program developed and sold by Microsoft
●Designed to assist a project manager in developing a
schedule, assigning resources to tasks, tracking progress,
managing the budget and analyzing workloads.
●Visualize your project plan in standard defined formats.
●Schedule tasks and resources consistently and effectively.
●Track information about the work, duration, and resource
requirements for your project.
●Generate reports to share in progress meetings.
Project Communication
Effective communication plays a vital role in the success of a project. It bridges
gaps between the client and the organization, among the team members as well
as other stakeholders in the project such as hardware suppliers.
● Planning - This step includes the identification of all the stakeholders in
the project and the mode of communication among them. It also considers
if any additional communication facilities are required.
● Sharing - After determining various aspects of planning, the manager
focuses on sharing the correct information with the correct person at the
correct time. This keeps everyone involved in the project up to date with
the project’s progress and its status.
● Feedback - Project managers use various measures and feedback
mechanisms and create status and performance reports. This mechanism
ensures that input from various stakeholders is coming to the project
manager as their feedback.
● Closure - At the end of each major event, end of a phase of SDLC, or end
of the project itself, administrative closure is formally announced to
update every stakeholder by sending an email, distributing a hardcopy of
document, or by another means of effective communication.
Project Resource Management

● Allelements used to develop a software product may be


assumed as resource for that project.
●This may include human resource, productive tools and software
libraries.
●The resources are available in limited quantity and stay in the
organization as a pool of assets.
●The shortage of resources hampers the development of project
and it can lag behind the schedule. Allocating extra resources
increases development cost in the end.
●It is therefore necessary to estimate and allocate adequate
resources for the project.
Configuration Management

●Configuration management is a process of tracking and


controlling the changes in software in terms of the requirements,
design, functions and development of the product.
●The process of identifying and defining the items in the system,
controlling the change of these items throughout their life cycle,
recording and reporting the status of items and change requests,
and verifying the completeness and correctness of items”.
●Generally, once the SRS is finalized there is less chance of
requirement of changes from user. If they occur, the changes are
addressed only with prior approval of higher management, as
there is a possibility of cost and time overrun.
● Series of steps that help a software team to
understand and manage uncertainty
● Everyone involved in the software process – managers,
engineers and customers participate in risk analysis
Project Risk and management
Management
1. Project risks- Risks that affect the project schedule
or resources.
● Example: Loss of experienced designer
● Finding a replacement designer with appropriate
skills and experience may take a long time.
Categories 2. Product risks
of risks: ● Risks that affect the quality or performance of
the software being developed
● Example: Failure of a purchased component to
perform as expected
● May affect overall performance of the system
3. Business risks
● Risks that affect organization developing or
procuring the software
● Example: A competitor introducing a new
product is a business risk
Risk
Manageme
nt –
Project,
Product
and
Business
Risks
Risk Management Stages

●Risk identification: Should identify possible project,


product and business risks
●Risk analysis: Should assess the likelihood and
consequences of these risks
●Risk planning: Should make plans to address the risk
either by avoiding it or minimizing its effects on the
project
●Risk monitoring: Should regularly assess the risk and
plans for risk avoidance, revise when you learn about
risk

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy