0% found this document useful (0 votes)
4 views8 pages

Pmse Module IV

Software Project Management (SPM) involves planning, implementing, monitoring, and controlling software projects to ensure effective communication, resource utilization, and risk management. Key activities include project planning, monitoring, estimation techniques, scheduling, and risk management, with various methods such as empirical, heuristic, and analytical techniques used for estimation. The project manager is responsible for identifying risks, assessing their impact, and implementing strategies for containment to ensure successful project delivery.

Uploaded by

adithyakichu143
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 views8 pages

Pmse Module IV

Software Project Management (SPM) involves planning, implementing, monitoring, and controlling software projects to ensure effective communication, resource utilization, and risk management. Key activities include project planning, monitoring, estimation techniques, scheduling, and risk management, with various methods such as empirical, heuristic, and analytical techniques used for estimation. The project manager is responsible for identifying risks, assessing their impact, and implementing strategies for containment to ensure successful project delivery.

Uploaded by

adithyakichu143
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/ 8

Module IV

Software Project
Management Software Project Management
Software Project Management (SPM) is a proper way of planning and leading
software projects. It is a part of project management in which software projects are planned,
implemented, monitored and controlled.
Importance of Software Project Management
1. SPM ensures that all aspects of the project are properly planned and executed
2. It helps in effective communication among stakeholders
3. It facilitates efficient resource utilization
4. It enables better risk management
5. Improved planning leads to successful delivery of high quality products
Various software project management complexities

Responsibilities of a Project Manager

Necessary skills required by a Project Manager


List the main tasks involved in project management?
1. Project planning activities
2. Project monitoring and control activities
Project planning activities
Project planning involves estimating several characteristics of the project and then
planning the project activities based on the estimates made. Project planning is undertaken
immediately after the feasibility study phase and before the requirement analysis and
specification phase. The main project planning activities include:
1. Estimation: Estimation of cost, duration and effort
2. Scheduling: Scheduling of manpower and resources
3. Staffing: Staff organisation and staffing plans
4. Risk management: Risk identification, Risk assessment and Risk mitigation strategies
5. Miscellaneous plans: Plans for quality assurance, configuration management etc.

Project monitoring and control activities


The project monitoring and control activities are undertaken once the
development activities start. The aim of project monitoring and control activities is to ensure
that the development proceeds as per plan.
Metrics for project size estimation
1. Lines of Code (LOC)
2. Function Point Metric
LOC
It is the simplest among all metrics. It measures the size of a project by counting the
number of source instructions in the developed program. Lines used for commenting the
code and header lines are ignored. The main drawback of this method is that accurate
estimation of the LOC at the beginning of a project is very difficult. Project managers divide
the code into modules and sub modules and then a systematic guess of the LOC is made.
Drawbacks of the LOC metric
1. LOC gives a numerical value of problem size. It can vary with programmers and their
style of programming.
2. LOC is a measure of the coding activity alone. The efforts required in requirements
specification, design and testing are not considered in this metric.
3. Larger code size does not imply better quality or higher efficiency. Normally badly
written code without effective usage of language instruction set might have larger number of
source instructions than a piece of code that is neat and efficient
4. If the managers use LOC as a measure of the effort, they would discourage the use of
high-level programming language, code reuse etc. This is because if library routines are
effectively used, the LOC count will be lower
5. The LOC metric does not address the logical or structural complexities of
programming. Between two programs with equal LOC count, a program having complex
logic would require much more effort to develop than a program with very simple logic.
6. It is very difficult to accurately estimate LOC in the final product from the problem
specification. So the LOC metric is of little use to the project managers during project
planning, since project planning is carried out even before any development activity has
started.
Project estimation techniques
Project estimation techniques are used for the estimation of project parameters such
as size, effort required, project duration and cost. These techniques help in quoting an
appropriate cost, resource planning and scheduling. The three main techniques are
1. Empirical estimation techniques
2. Heuristic estimation techniques
3. Analytical estimation techniques
Empirical estimation techniques
Empirical estimation techniques are based on making an educated guess of the project
parameters. While using this technique, prior experience with development of similar
products is helpful. Two popular empirical estimation techniques are: expert judgement
technique and Delphi cost estimation.
Expert Judgment Technique: In this technique, an expert makes an educated guess of the
problem size. An expert makes an educated guess of the problem size and estimates the cost
of different components (modules or subsystems). Then the estimates of individual modules
are combined to make the overall estimate. This technique is subject to human errors. This is
because the expert may not have experience and knowledge of all aspects of a project. A
refined form of this technique is the estimation of a group of experts. This reduces the human
errors that may occur with a single expert.
Delphi Cost Estimation: In this technique, estimation is carried out by a team consisting of
a group of experts and a coordinator. Coordinator provides each estimator with a copy of
SRS and a form for recording the cost estimate. Estimators submit their estimates to the
coordinator and the coordinator prepares the summary and distributes it to the estimators.
The estimators re-estimate and the process is repeated several rounds. Finally the estimator
prepares the final estimate.
Heuristic estimation techniques
This technique assumes that the relationships among different project parameters can
be modeled using mathematical expressions. Once the basic (independent) parameters are
known, the other (dependent) parameters can be easily determined by substituting the value
of the basic parameters in the mathematical expression. Heuristic estimation techniques can
be divided into two: single variable model and multivariable model.
Single variable estimation: Estimates the desired characteristics of a problem using some
previously determined characteristic such as size. A single variable estimation model takes
the following form:
Estimated Parameter = c1 * ed1, where
e - The characteristic of the software which has already been estimated (independent
parameter)
Estimated parameter - the dependent parameter to be
estimated c1 and d1 are constants
Eg: COCOMO model
Multivariable cost estimation model takes the following form:
Estimated resource = c1 * ep1d1 + c2 * ep2d2+ ………, where
ep1, ep2, …… are already determined independent
characteristics c1, c2, ….., d1, d2, …… are constants
COCOMO model
The COnstructive COst estimation MOdel is an example of a single variable heuristic
estimation technique. This method was proposed by Boehm in 1981. According to this model
any software development project can be classified into any one of the following three
categories
1. Organic: We can consider a development project to be of organic type, if the project
deals with developing a well-understood application program, the size of the
development team is reasonably small, and the team members are experienced in
developing similar types of projects.
2. Semidetached: A development project can be considered to be of semidetached type,
if the development team consists of a mixture of experienced and inexperienced staff.
Team members may have limited experience on related systems but may be
unfamiliar with some aspects of the system being developed.
3. Embedded: A development project is considered to be embedded type, if the
software being developed is strongly coupled to complex hardware.
Analytical estimation techniques
Analytical estimation techniques derive the required results starting with certain basic
assumptions regarding the project. They have a certain scientific basis. Halstead’s software
science is an example. Halstead’s software science is especially useful for software
maintenance efforts. It derives some interesting results starting with a few simple
assumptions.
Project Scheduling
Scheduling is an important project planning activity. It involves deciding which tasks
would be taken up when. The main tasks involved in project scheduling are:
1. Identify all the tasks needed to complete the project
2. Break down large tasks into smaller activities
3. Determine the dependency among different activities
4. Estimate time duration necessary to complete the activities
5. Allocate resources to activities
6. Plan the starting and ending dates for various activities
7. Determine the critical path - a chain of activities that determines the duration
of the project
Project scheduling
The first step in project scheduling involves identifying all the tasks necessary to
complete the project. The large tasks are broken down into small activities. Work Breakdown
Structure helps the manager to break down the tasks systematically. Eg:
:
The next step is to find the dependency among the activities. If the activity A requires
the results of another activity B, then A must be scheduled after activity B. Dependency
among activities are represented in the form of an activity network.Eg:

The next step is resource scheduling. The resources allocated to activities include
staff, hardware and software. Gantt charts are used to allocate resources to activities. It is a
special type of bar chart in which each bar represents an activity. The bars are drawn along a
timeline. The length of each bar is proportional to the duration of time required for that
activity. Each bar consists of a white part and a shaded part. The shaded part represents the
time each task is estimated to take. The white part shows the slack time that is the latest time
by which a task must be finished. Eg:

Risk Management Activities


A risk is an anticipated unfavorable event or circumstance that can occur while a
project is underway. If a risk becomes true, the anticipated problem becomes a reality and is
no more a risk. If a risk becomes real, it can adversely affect a project. It is the responsibility
of the project manager to anticipate and identify different risks and plan on strategies. Risk
management consists of three activities - risk identification, risk assessment and risk
containment.
Risk Identification
The project manager needs to anticipate the risks in the project as early as possible so
that the impacts of the risks can be minimized. There are three main categories of risks
1. Project Risks - Concern various forms of budgetary, schedule, personnel, resource,
and customer related problems
2. Technical Risks - Concern potential design, implementation, interfacing, testing and
maintenance problems. These are due to the development team’s insufficient
knowledge about the product.
3. Business Risks - Include risk of building an excellent product that no one wants,
losing budgetary and personnel commitments
Risk Assessment
The objective of risk assessment is to rank the risks in terms of damage they may
cause. Priority of each risk is computed as p = r x s, where r is the likelihood of risk coming
true and s is the consequence of the problems associated with that risk. Then the most likely
and damaging risks can be handled first and more comprehensive risk reducing procedures
can be designed for these risks.
Risk Containment
After risk identification and assessment, plans are made for the containment of these
risks. Most damaging and most likely risks are contained first. Three strategies are applied
1. Avoid the risk - Such as discussing with the customer to change the requirements to
reduce the scope of the work, giving incentives to the developers to avoid the
manpower turnover.
2. Transfer the risk - Involves getting the risk component developed by a third party,
buying insurance cover and so on.
3. Risk reduction - Involves planning ways to reduce the damage due to a risk. For
example,
a. If there is a risk that some persons may leave, new recruitment may be
planned
b. If you are developing a compiler for identifying commands in the user
interface, construct a compiler for a small language first.

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