0% found this document useful (0 votes)
37 views32 pages

SE ch4

This document discusses software project management and planning. It defines a software project, project manager responsibilities, and the need for software project management. It also describes project planning activities like estimation, scheduling, staffing, and risk management. The document explains that a Software Project Management Plan (SPMP) document is created to document all project planning details. It also discusses techniques for estimating project size, effort, and staffing requirements.

Uploaded by

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

SE ch4

This document discusses software project management and planning. It defines a software project, project manager responsibilities, and the need for software project management. It also describes project planning activities like estimation, scheduling, staffing, and risk management. The document explains that a Software Project Management Plan (SPMP) document is created to document all project planning details. It also discusses techniques for estimating project size, effort, and staffing requirements.

Uploaded by

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

Chapter 4

Software project management


Project
• A project is well-defined task, which is a collection of several operations
done in order to achieve a goal .A Project can be characterized as:
• 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.
Software Project
• A Software Project is the complete procedure of software development
from requirement gathering to testing and maintenance
• It’s carried out according to the execution methodologies, in a specified
period of time to achieve intended software product.
Need of software project management

• Software is said to be an intangible product.


• The most important is that the underlying technology changes and
advances so frequently and rapidly that experience of one product may not
be applied to the other one.
• All such business and environmental constraints bring risk in software
development hence it is essential to manage software projects efficiently.
Cont…
• It is an essential part of software organization to deliver
quality product, keeping the cost within client’s budget
constrain and deliver the project as per scheduled.
• There are several factors, both internal and external,
which may impact this triple constrain triangle.
Triple constraints
• Therefore, software project management is essential to for software projects
incorporate user requirements along with budget and
time constraints.
Software Project Manager

• A software project manager is a person who undertakes the responsibility


of executing the software project.
• Software project manager is thoroughly aware of all the phases of SDLC
that the software would go through by controlling and managing the
activities involved in production.
Responsibilities that a project manager
shoulders 
Managing People Managing Project
• Act as project leader • Defining and setting up project scope
• Managing project management activities
• Connection with stakeholders
• Monitoring progress and performance
• Managing human resources
• Risk analysis at every phase
• Setting up reporting hierarchy etc. • Take necessary step to avoid or come out
of problems
• Act as project spokesperson
Project planning
• After feasibility study phase if a project is found to be feasible then the project
manager begins project planning.
•  Project manager completes this activity before development work starts.
•  There are various activities involved in project planning as listed below:
• Project estimation → When a project is finalized then several estimations need to be made.
• A proper cost estimation is required that would be required for project. 
• Time estimation is needed that would propose the time in which the project would be in deliverable
position. 
• Effort estimation is needed to finalize the resource available and required for the project.
Cont…
•  There are various activities involved in project planning as listed below:
• Project Schedules → Schedules for manpower and several other resources has to be
prepared that would be needed as the project progress.
• Project staffing → Staff needs to be organized and planned. Analysis has to be done to
find out if the existing staff is sufficient for the project or new recruitment is required. 
• Project risks and management → Possible risks to the project needs to identified and
its solution needs to found to let project progress smoothly.
• Project miscellaneous management → Quality of the product, configuration
management plan, etc are some miscellaneous task that needs to be planned accordingly
What is SPMP document?
• Software project manager prepare a document on the basis of decision finalized
during the project planning. This document is known as Software Project
Management Plan Document or SPMP document.
•  SPMP document is a well organized document that contains the project
planning in detail.
• It would have details about project objective, project estimates, project schedules,
project resources, project staffing, risk management plans, project monitoring,
project control and other miscellaneous activities.
A SPMP document is prepared and organized
in structure as shown below:

All the above activities are documented in SPMP document by project manager
Project Size Estimation

• It’s important to understand that project size estimation is the most


fundamental parameter.
• If this is estimated accurately then all other parameters like effort,
duration, cost, etc can be determined easily.
• At present two techniques that are used to estimate project size are:
• Lines of code or LOC
• Function point
Lines of Code
 Lines of code or LOC is the most popular and used metrics to estimate
size.

 LOC determination is simple as well. LOC measures the project size in


terms
of number of lines of statements or instructions written in the source code.
 
 In LOC count, comments and headers are ignored.
Cont…
Shortcomings of LOC
• Estimating LOC by analyzing the problem specification is difficult.
• Two different source files having same number of lines may not require same
effort. The file having complex logic would require more effort than one with
simple logic. Based on LOC proper estimation may not be possible.
• LOC is the numerical measurement of problem size. This metrics will vary to
a large extent from programmer to programmer. An experienced professional
may write same logic in less number of lines than a novice programmer.
Function point metrics
• Function point metrics overcomes many of the shortcomings of LOC.
• Function point metrics proposes that size of the software project is
directly dependent on various functionalities it supports.
• More the features supported the more would be the size. 
• This technique helps determine size of the project directly from the
problem specification. So, it is really helpful to project managers during
project planning while determining size.
Project Estimation Techniques

Software Project parameters can be estimated using:


• Empirical estimation techniques
• Heuristic estimation techniques
• Analytical estimation techniques
Empirical estimation techniques
•Empirical estimation techniques is done on the basis of educated guess of the
project parameters.
• This technique becomes more helpful if the estimator had already experience on
doing similar project in past. 
• Therefore making suitable educated guess, having prior experience and common
sense is good element for this technique. 
• Popularly used empirical project estimation techniques are:
• Expert judgement technique
• Delphi estimation techniques
Heuristic estimation techniques 
• Heuristic estimation techniques works on assumption that the relationships
among various project parameters can be represented in the form suitable
mathematical expressions. 
• Once the basic parameters are known, the other parameters can be determined
by substituting value of basic parameter in mathematical expression.
• Popularly used heuristic estimation techniques are:
• Constructive  Cost estimation Model(COCOMO).
 
Analytical estimation techniques

• Analytical estimation techniques derive the required results starting with


certain basic assumptions regarding the project. 
• Popularly used analytical estimation techniques are:
• Halstead software science
Putnam Staffing Estimation

• After successfully determining the effort needed to develop the required software


product the focus should be on determining the staffing requirements or resource
allocation.

• Putnam studied the complete staffing problem to find out the proper solution and pattern
for staffing related issues.

• In his study he used and extended the work of Norden who had already investigated the
staffing pattern of general research and development (R&D) projects.
Putnam’s staffing work

• Putnam while studying the problem of staffing or resource allocation for


software project learned that they have characteristics similar to any other
research and development (R&D) projects studied by Norden.
• Putnam stated that Rayleigh-Norden curve can be used to relate the
number of delivered lines of code to the effort and the time required to
develop the product. 
Cont…
• Given below is Putnam’s expression:

Here,
• K – total effort expended
• L – product size in KLOC
• td – time expended in system integration and testing. It is time required to develop the software.
• Ck – state of technology constant and reflects constraints that impede the progress of programmer.
(Typically value of Ck is 2 for poor development environment, 8 for good software
development environment and 11 for excellent development environment)
Cont…
So according to Putnam estimation model,
• Staff build up should follow the Rayleigh curve.
• At the very beginning of the project only a small number of developers are needed.
• As the project progress the resource allocation requirement starts increasing and reaches at
its peak during testing phase.
• After the implementation and unit testing is done the staff requirement again starts falling.
• Putnam staffing estimation for resource allocation is popularly used model in
software engineering.
What is software project scheduling?

• Software Project Scheduling is a significant project planning step.


• It becomes so important as it decides the time-frame for each task that
would be undertaken.
• It judges the whole plan and points down what would possibly be needed
at which time of software project development.
Cont…
As part of project scheduling activities in software engineering, the project
manager does following:
• Points out the various tasks that would be done during project.
• Divide the large works into smaller activities or module.
• Find out the dependency among various activities of the software project.
• Determine the probable time that would be needed to complete each tasks.
• Allocate the resources to each activities.
• Plan when to start and when to end each activities.
• Determine the critical path of the project.
Cont…
• If the project manager has good experience then this step would be
effectively completed.
• Next the task are broken down into several module following Work
Breakdown Structure. 
• Next dependencies among various activities are determined and
represented in the form of activity networks.
• To allocate and monitor resource we can use Gantt chart or PERT chart.
Cont…

PERT chart Gannt chart


Project Risk Management

• Risk management involves all activities pertaining to identification,


analyzing and making provision for predictable and non-predictable risks
in the project. Risk may include the following:
• Experienced staff leaving the project and new staff coming in.
• Change in organizational management.
• Requirement change or misinterpreting requirement.
• Under-estimation of required time and resources.
• Technological changes, environmental changes, business competition.
Risk Management Process

There following activities are involved in risk management process:


• Identification - Make note of all possible risks, which may occur in the project.
• Categorize - Categorize known risks into high, medium and low risk intensity as per
their possible impact on the project.
• Manage - Analyze the probability of occurrence of risks at various phases. Make
plan to avoid or face risks. Attempt to minimize their side-effects.
• Monitor - Closely monitor the potential risks and their early symptoms. Also
monitor the effects of steps taken to mitigate or avoid them.
Project Execution & Monitoring

• In this phase, the tasks described in project plans are executed according
to their schedules.

• Execution needs monitoring in order to check whether everything is going


according to the plan.

• Monitoring is observing to check the probability of risk and taking


measures to address the risk or report the status of various tasks.
Cont…
• These measures include -
• Activity Monitoring - All activities scheduled within some task can be monitored on day-
to-day basis. When all activities in a task are completed, it is considered as complete.
• Status Reports - The reports contain status of activities and tasks completed within a
given time frame, generally a week. Status can be marked as finished, pending or work-in-
progress etc.
• Milestones Checklist - Every project is divided into multiple phases where major tasks
are performed (milestones) based on the phases of SDLC. This milestone checklist is
prepared once every few weeks and reports the status of milestones.
Any Question?

You might also like