Professional Documents
Culture Documents
Project Management
Project Management is the discipline (order or control) of defining and achieving targets
while optimizing the use of resources (time, money, people, materials, energy, space, etc) over
the course of a project (a set of activities of finite duration).
The job pattern of an IT company engaged in software development can be seen split in two
parts:
• Software Creation
• Project ends when its goal is achieved hence it is a temporary phase in the lifetime of an
organization.
• Project needs sufficient resources in terms of time, manpower, finance, material and
knowledge-bank.
• Project management has a definite beginning and end. It's not a continuous process.
• Project management uses various tools to measure activities and track project tasks.
These include Work Breakdown Structures, Gantt charts and PERT charts.
• Projects frequently need ad-hoc resources rather than dedicated, full-time positions
common in organizations.
More recently, the project management triangle has given way to a project management
diamond - with cost, time, scope and quality as the four vertices and customer expectations as a
central theme.
Project Phases
1. Project Definition: Defining the goals, objectives and critical success factors for the
project
2. Project Initiation: Everything needed to set up the project before work can start
3. Project Planning: Detailed plans of how the work will be carried out, including time,
cost and resource estimates
4. Project Execution: Doing the work to deliver the product, service or desired outcome
5. Project Monitoring & Control: Ensuring that a project stays on track and taking
corrective action to ensure it does
6. Project Closure: Formal acceptance of the deliverables and disbanding of all the
elements required to run the project
Leader
A project manager must lead his team towards success. He should provide them direction
and make them understand what is expected of them. Clearly explain the roles of each member
of the team.
He must build a team comprising of individuals with different skills so that each member
contributes effectively to the best of their abilities.
Liaison
The project manager is a link between his clients, his team and his own supervisors. He
must coordinate and transfer all the relevant information from the clients to his team and report
to the upper management.
Mentor
He must be there to guide his team at every step and ensure that the team has cohesion.
He provides advice to his team wherever they need it and points them in the right direction.
• Leadership
• Influencing
• Negotiation
• Conflict management
• Planning
• Contract management
• Estimating
• Problem solving
• Creative thinking
• Time management
Project managers put up with ultimate responsibility for making things happen.
Traditionally, they have carried out this role as simple implementers. To do their jobs they
needed to have the necessary administrative and technical competencies.
Many things can go wrong in project management. Any barriers, risks and issues can
affect every phase and process of project management. Here are just some of the things that can
possibly go wrong:
• Poor communication
• Disagreement
• Misunderstandings
• Inclement weather
• Union strikes
• Personality conflicts
4 B Naresh, Lecturer in Computer Science, BVRICE
• Poor management
A good project management discipline will not eliminate all risks, issues and surprises - but
it will provide standard processes and procedures to deal with them and help prevent the
following:
• Projects finishing late, exceeding budget and not meeting customer expectations
• Inconsistency between the processes and procedures used by project managers, leading to
the favoring of some project managers more than others
• Successful projects, despite a lack of planning, achieved through high stress levels,
goodwill and significant amounts of overtime
• Project management being seen as not adding value and as a waste of time and money
******************************************************************************
Effective software project management focuses on the four P’s: people, product, process,
and project. The manager who forgets that soft-ware engineering work is an extremely human
effort will never have success in project management.
The People
The Product
The Process
The Project
The People
• Senior Managers
• Project Managers
• Practitioners
• Customers
Project Managers plan, motivate, Organize and control the practitioners who do the
Software work.
Practitioners deliver the technical skills that are necessary to engineer a product
or application.
The Product
• Before a software project is planned, the product objectives and scope should be
established technical and management constraints should be identified.
• Context.
• Function.
What function does the software system perform on i/p to produce o/p What level of
performance is required
The Process
Here the important thing is to select an appropriate process model to develop the
software. There are different process models available.
They are
• Spiral model.
The Project
– Sponsorship is lost.
******************************************************************************
Barry Bohem suggested an approach that addresses project objectives, milestones and
schedules, responsibilities, management and technical approaches and required resources. This is
called W5HH principle. The questions that are answered in this principle are:
It enables the parties to assess the validity of business reasons for the software work. It
justifies the expenditure of people, time, and money.
Stated in another way, does the business purpose justify the expenditure of people, time,
and money?
It helps to determine the project schedule. It helps in determining when tasks are
conducted and when milestones are reached.
It helps to accomplish the role and responsibilities of each member of the software team.
The software team does not contain all the roles and responsibilities. The customers,
users and stakeholders also have responsibilities.
The management and technical strategy of project is defined once the scope of the
product is established.
******************************************************************************
The technique which is used to calculate the time required to accomplish a particular task
is called Estimation Techniques.
What is Estimation?
The Estimate is prediction or a rough idea to determine how much effort would take to
complete a defined task. Here the effort could be time or cost.
A rough idea how long a task would take to complete. An estimate is especially an
approximate computation of the probable cost of a piece of work.
******************************************************************************
Introduction:
The structure of empirical estimation models is a formula, derived from data collected
from past software projects that uses software size to estimate effort. Size, itself, is an estimate,
described as either lines of code (LOC) or function points (FP).
Where;
The relationship seen between development effort and software size is generally:
This graph demonstrates that the amount of effort accelerates as size increases, i.e., the
value c in the typical formula above is greater than 1.
The original COCOMO model was a set of models; 3 development modes (organic, semi-
detached, and embedded) and 3 levels (basic, intermediate, and advanced).
Basic - predicted software size (lines of code) was used to estimate development effort.
Intermediate - predicted software size (lines of code), plus a set of 15 subjectively assessed 'cost
drivers' was used to estimate development effort.
Advanced - on top of the intermediate model, the advanced model allows phase-based cost
driver adjustments and some adjustments at the module, component, and system level.
Organic - small relatively small, simple software projects in which small teams with good
application experience work to a set of flexible requirements.
Embedded - the software project has tight software, hardware and operational constraints.
Semi-detached - an intermediate (in size and complexity) software project in which teams with
mixed experience levels must meet a mix of rigid and less than rigid requirements.
COCOMO model:
Where:
******************************************************************************
The effective management of a software project greatly depends on careful planning the
progress of the project. The plan prepared at the start of a project is considered an initial plan and it
should be used as the driver for the entire project. The initial plan should be the best possible plan given
by the available information. It evolves as the project progresses and more information becomes
available.
The project plan sets out the resources available to the project, the work breakdown and a schedule for
carrying out the work. Most project plans includes the following sections:
1. Introduction. This summarizes the objectives of the project and sets out the budget, time and
other constraints.
2. Work breakdown. This sets out the breakdown of the project into activities and identifies the
milestones and deliverables associated with each activity.
3. Hardware and software resource requirements. This specifies the hardware and the support
software allocated to development activities.
4. Project organization. This defines the development team, its members and the roles in the
team.
5. Project schedule. Project schedule shows the dependencies between activities, the estimated
time required to complete activities and the allocation of people to activities.
6. Risk analysis. This describes the possible project risks and the strategies to manage them.
7. Monitoring and reporting mechanisms. This defines the management reports that should be
produced, when these should be produced and the project monitoring mechanisms used.
******************************************************************************
Risk is an expectation of loss, a potential problem that may or may not occur in the
future. It is generally caused due to lack of information, control or time.
Loss can be anything, increase in production cost, development of poor quality software,
not being able to complete the project on time. Software risk exists because the future is
uncertain and there are many known and unknown things that cannot be incorporated in the
project plan.
(1) Internal risks that are within the control of the project manager and
(2) External risks that are beyond the control of project manager.
A project manager has to deal with risks arising from three possible cases:
1. Known knowns are software risks that are actually facts known to the team as well as to
the entire project.
For example not having enough number of developers can delay the project
delivery. Such risks are described and included in the Project Management Plan.
2. Known unknowns are risks that the project team is aware of but it is unknown that such
risk exists in the project or not.
For example if the communication with the client is not of good level then it is not
possible to capture the requirement properly. This is a fact known to the project team
however whether the client has communicated all the information properly or not is
unknown to the project.
3. Unknown Unknowns are those kind of risks about which the organization has no idea.
Such risks are generally related to technology such as working with technologies or tools
that you have no idea about because your client wants you to work that way suddenly
exposes you to absolutely unknown unknown risks.
In this phase of Risk management you have to define processes that are important for risk
identification. All the details of the risk such as unique Id, date on which it was identified,
description and so on should be clearly mentioned.
Software Risk analysis is a very important aspect of risk management. In this phase the
risk is identified and then categorized.
After the categorization of risk, the level, likelihood (percentage) and impact of the risk is
analyzed.
Likelihood is defined in percentage after examining what are the chances of risk to occur
due to various technical conditions. These technical conditions can be:
4. Monetary losses
• High
• Low
• Medium
Quantitative Risk Analysis: can be used for software risk analysis but is considered
inappropriate because risk level is defined in % which does not give a very clear picture.
1. Defining preventive measure that would lower down the likelihood or probability of
various risks.
2. Define measures that would reduce the impact in case a risk happens.
Software risk monitoring is integrated into project activities and regular checks are conducted
on top risks. Software risk monitoring comprises of:
• Tracking of risk plans for any major changes in actual plan, attribute, etc.
• Review risks and risks whose impact or likelihood has reached the lowest possible level
should be closed.