Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Role and Responsibilities of a software Project Manager

A software project manager is the most important person inside a team who takes the overall
responsibilities to manage the software projects and plays an important role in the successful
completion of the projects. This article focuses on discussing the role and responsibilities of a
software project manager.
Project Manager
A project manager has to face many difficult situations to accomplish these works. The job
responsibilities of a project manager range from invisible activities like building up team morale to
highly visible customer presentations. Most of the managers take responsibility for writing the
project proposal, project cost estimation, scheduling, project staffing, software process tailoring,
project monitoring and control, software configuration management, risk management, managerial
report writing, and presentation, and interfacing with clients.
The tasks of a project manager are classified into two major types:

 Project planning
 Project monitoring and control

Responsibilities of Project Manager


Project Estimation
Project Size Estimation is the most significant parameter based on which all other estimations like
cost, duration and effort are made.
Scheduling
After the completion of the estimation of all the project parameters, scheduling for manpower and
other resources is done.
Staffing
Team structure and staffing plans are made.
Risk Management
The project manager should identify the unanticipated risks that may occur during project
development risk, analyze the damage that might cause these risks, and take a risk reduction plan to
cope with these risks.
Miscellaneous Plans
This includes making several other plans such as quality assurance plans, configuration management
plans, etc.
Lead the team:
The project manager must be a good leader who makes a team of different members of various skills
and can complete their individual tasks.
Motivate the team-member:
One of the key roles of a software project manager is to encourage team members to work properly
for the successful completion of the project.
Tracking the progress:
The project manager should keep an eye on the progress of the project. A project manager must
track whether the project is going as per plan or not
Monitoring and reviewing: Project monitoring is a continuous process that lasts the whole time a
product is being developed, during which the project manager compares actual progress and cost
reports with anticipated reports as soon as possible.
Documenting project report: The project manager prepares the documentation of the project for
future purposes. The reports contain detailed features of the product and various techniques. These
reports help to maintain and enhance the quality of the project in the future.
Reporting: Reporting project status to the customer and his or her organization is the responsibility
of the project manager.

Features of a Good Project Manager


 Knowledge of project estimation techniques.
 Good decision-making abilities at the right time.
 Previous experience managing a similar type of projects.
 Good communication skills to meet the customer satisfaction.
 A project manager must encourage all the team members to successfully develop the
product.
 He must know the various type of risks that may occur and the solution to these problems.

Project Planning
I. Project planning is undertaken immediately after the feasibility study phase and before the
starting of the requirement analysis and specification phase. Once a project is feasible,
Software project managers start project planning. Project planning is completed before any
development phase starts.
II. Project planning involves estimating several characteristics of a project and then plan the
project activities based on these estimations.
III. Project planning is done with most care and attention.
IV. A wrong estimation can result in schedule slippage.
V. Schedule delay can cause customer dissatisfaction, which may lead to a project failure.
VI. Before starting a software project, it is essential to determine the tasks to be performed and
properly manage allocation of tasks among individuals involved is the software
development.
VII. Hence, planning is important as it results in effective software development.
VIII. Project planning is an organized and integrated management process, which focuses on
activities required for successful completion of the project.
IX. It prevents obstacles that arise in the project such as changes in projects or organizations
objectives, non-availability of resources, and so on.
X. Project planning also helps in better utilization of resources and optimal usage of the allotted
time for a project.
XI. For effective project planning, in addition to a very good knowledge of various estimation
techniques, experience is also very important.
Objectives of Project Planning

 It defines the roles and responsibilities of the project management team members .
 It ensures that the project management team works according to the business objectives.
 It checks feasibility of the schedule and user requirements.
 It determines project constraints, several individuals help in planning the project.

COCOMO Model
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is one of the
most generally used software estimation models in the world. COCOMO predicts the efforts and
schedule of a software product based on the size of the software.
The necessary steps in this model are:
1. Get an initial estimate of the development effort from evaluation of thousands of delivered
lines of source code (KDLOC).
2. Determine a set of 15 multiplying factors from various attributes of the project.
3. Calculate the effort estimate by multiplying the initial estimate with all the multiplying
factors i.e., multiply the values in step1 and step2.
The initial estimate (also called nominal estimate) is determined by an equation of the form used in
the static single variable models, using KDLOC as the measure of the size. To determine the initial
effort Ei in person-months the equation used is of the type is shown below
Ei=a*(KDLOC)b
The value of the constant a and b are depends on the project type.
In COCOMO, projects are categorized into three types:
1. Organic
2. Semidetached
3. Embedded
1.Organic: A development project can be treated of the 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 methods of projects. Examples
of this type of projects are simple business systems, simple inventory management systems, and
data processing systems.
2. Semidetached: A development project can be treated with semidetached type if the development
consists of a mixture of experienced and inexperienced staff. Team members may have finite
experience in related systems but may be unfamiliar with some aspects of the order being
developed. Example of Semidetached system includes developing a new operating system (OS), a
Database Management System (DBMS), and complex inventory management system.
3. Embedded: A development project is treated to be of an embedded type, if the software being
developed is strongly coupled to complex hardware, or if the stringent regulations on the
operational method exist. For Example: ATM, Air Traffic control.
According to Boehm, software cost estimation should be done through three stages:
1. Basic Model
2. Intermediate Model
3. Detailed Model
1. Basic COCOMO Model: The basic COCOMO model provide an accurate size of the project
parameters. The following expressions give the basic COCOMO estimation model:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,
Tdev is the estimated time to develop the software, expressed in months,
Effort is the total effort required to develop the software product, expressed in person months
(PMs).
Estimation of development effort
For the three classes of software products, the formulas for estimating the effort based on the code
size are shown below:
Organic: Effort = 2.4(KLOC) 1.05 PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM
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:
Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Months
Some insight into the basic COCOMO model can be obtained by plotting the estimated
characteristics for different software sizes.

Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and development
time for each of the three model i.e., organic, semi-detached & embedded.

Solution: The basic COCOMO equation takes the form:


Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC
(i)Organic Mode
E = 2.4 * (400)1.05 = 1295.31 PM
D = 2.5 * (1295.31)0.38=38.07 PM
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
E = 3.6 * (400)1.20 = 4772.81 PM
D = 2.5 * (4772.8)0.32 = 38 PM

Example2: A project size of 200 KLOC is to be developed. Software development team has average
experience on similar type of projects. The project schedule is not very tight. Calculate the Effort,
development time, average staff size, and productivity of the project.
Solution: The semidetached mode is the most appropriate mode, keeping in view the size, schedule
and experience of development time.
Hence E=3.0(200)1.12=1133.12PM
D=2.5(1133.12)0.35=29.3PM

P = 176 LOC/PM
Risk Management
A risk is a probable problem it might happen, or it might not. There are main two characteristics of
risk.
Uncertainty- the risk may or may not happen which means there are no 100% risks.
Loss- If the risk occurs in reality, undesirable results or losses will occur.
Risk management is a sequence of steps that help a software team to understand, analyze, and
manage uncertainty. Risk management consists of
Risk Identification
 Risk analysis
 Risk Planning
 Risk Monitoring
A computer code project may be laid low with an outsized sort of risk. To be ready to consistently
establish the necessary risks that could affect a computer code project, it’s necessary to group risks
into completely different categories. The project manager will then examine the risks from every
category square measure relevant to the project.

There are mainly 3 classes of risks that may affect a computer code project:

Project Risks:
 Project risks concern various sorts of monetary funds, schedules, personnel, resources, and
customer-related issues.
 A vital project risk is schedule slippage. Since computer code is intangible, it’s tough to
observe and manage a computer code project. It’s tough to manage one thing that can not
be seen. For any producing project, like producing cars, the project manager will see the
merchandise taking form.
 For example, see that the engine is fitted, at the moment the area of the door unit is fitted,
the automotive is being painted, etc. so he will simply assess the progress of the work and
manage it. The physical property of the merchandise being developed is a vital reason why
several computer codes come to suffer from the danger of schedule slippage.

Technical Risks:
Technical risks concern potential style, implementation, interfacing, testing, and maintenance issues.
Technical risks conjointly embody ambiguous specifications, incomplete specifications, dynamic
specifications, technical uncertainty, and technical degeneration. Most technical risks occur thanks
to the event team’s lean information concerning the project.

Business Risks:
This type of risk embodies the risks of building a superb product that nobody needs, losing monetary
funds or personal commitments, etc.

You might also like