5 Project Management 1
5 Project Management 1
1
Introduction
◼ Software project management is the important task
of planning, directing, motivating, and
coordinating a group of professionals to
accomplish software development.
◼ Software project management uses many concepts
from management in general, but it also has some
concerns unique to software development.
2
Project Visibility
◼ One such concern is lack of project visibility.
◼ makes it hard to manage.
◼ In many other fields, it is easy to see progress or
lack of progress.
◼ Many software projects get stalled at 90 percent
complete.
◼ Many of the techniques in software
management are aimed at overcoming this
lack of visibility
3
MANAGEMENT APPROACHES
4
Process Management
◼ Process Management and Project Management
go hand-in-hand to deliver a successful project
◼ Each has a clearly delineated area of
responsibility
◼ Process Management
◼ deals with defining and managing what is done on
a project, including tasks completed, deliverables
produced, roles performed, and tools used. It
deals with the “scientific method” used to deliver
an IT solution. 5
Project Management
◼ Project Management deals with tracking
the process being executed, from a
schedule and cost perspective.
◼ It includes
◼ functions for developing the optimal project
schedule,
◼ producing a financial model of the project,
◼ scheduling and tracking of effort against plan,
◼ managing costs against budget,
◼ reporting of status, 6
Process Management
Objectives
◼ To define a repeatable process that, when
executed, behaves predictably and delivers a
quality product – on schedule and within budget.
◼ To produce higher quality IT solutions.
◼ To increase productivity and shorten the delivery
cycle, through the application of optimized
processes and the re-use of work products.
◼ To upgrade the skill levels of all project
participants, including delivery team staff and
customers 7
Team approaches
◼ Introduction
◼ Team Structures
◼ Communication in the software project
8
Introduction
◼ Once the project is approved, the management
of it concentrate on two themes:
◼ Creating a working team.
◼ Tracking what was planed.
◼ In this section we’ll focus on: How to organize
a working team?”
9
Why do we need to create a
project organization?
◼ The activities have to be split up when planning
so that the achievement and control of each
task would be easier.
◼ Then we have to create the conditions for:
◼ coordinating easily: starting of tasks; taking decisions;
tracking; and ending of tasks.
◼ Providing communications between people in charge of
each task and people in the same or other tasks.
10
Amount of structure in the team
◼ While some groups of programmers can work very
independently, other groups need strong structure
to make progress
◼ strongly structured team
◼ small assignments are made to each member
open-ended.
11
Organization structure
12
Functional organization (I)
◼ Functional is a hierarchical organization struct.
where each employee has one clear superior, and
staff are grouped by areas of specialization and
managed by a person with expertise in that area
◼ Is the more known structure (military, church,...)
◼ Is the typical pyramidal structure. Each new level
introduces a type of specialization. It can be:
◼ type of work (functional),
14
Functional organization (III)
Example:
15
Advantages of functional
organization
◼ Centralization of similar resources.
◼ Specialists in the same area close.
◼ Better professional careers
◼ Cooperation between specialists in the same
area
◼ Less need of technical experts.
◼ Maximum flexibility in the use of staff.
◼ Higher standardization level.
16
Disadvantages of Functional
Organization
19
Advantages of Project
Organization.
◼ objectives unity (clear objective)
◼ Control unity. Every body depends on
the same boss.
◼ Easy communication.
◼ Clear responsibilities.
20
Disadvantages of Project
Organization
◼ Changing enterprise organization.
◼ Duplication of resources and inefficiency.
◼ Difficult to share individuals/expertise across
projects
◼ Complex staff management
◼ What will happen when the project is finished?
21
Matrix organization (I)
◼ Matrixed structure is one in which the project
manager shares responsibility with the
functional managers for assigning priorities
and for directing the work of persons assigned
to the project
◼ It's a multidimensional structure.
◼ Try to take the best of both.
◼ First we create functional structure and over this
we put a project structure.
22
Matrix organization (II)
23
Matrix organization:
Advantages
◼ Equilibrate project objectives and
departments.
◼ Staff has better professional stability
◼ Specialists belong to the same department
and consults are easy.
◼ Easy professional careers.
24
Matrix organization :
disadvantages
◼ Staff has two or more managers when
they are in different projects.
◼ Project managers have less authority.
25
Teams Structure
◼ The development of software projects
usually requires:
◼ Small teams.
◼ Classical structures aren’t an appropriate reference
◼ Specialists in different areas:
◼ Software technical knowledge
◼ Knowledge about the implied area.
◼ (Multifunctional teams).
26
Team Structure in software projects
27
Communication in the
software project.
◼ Communicating in harmony
◼ In software development projects, the
inability of people to communicate effectively
with one another represents one of the more
common obstacles to the achievement of:
◼ High product quality, and
◼ High productivity.
28
communication
◼ Improving communications among
project players offers substantial
morale, productivity, quality, and, cost
benefits to a project
29
Once communication problems
surfaces, the process to follow:
◼ Understand the cause of the problems.
◼ Put corrective action into place.
◼ Enforce an ongoing communicative work
environment.
30
Actions to improve
communication.
◼ When you are wrong, admit it.
◼ Exercise tolerance.
◼ Meet people.
◼ Be quick to assist.
◼ Ask others for assistance.
◼ Use tact - put your comments in the
correct perspective.
31
Actions to improve
communication.
◼ Keep others informed - do not give surprises.
◼ Close problems.
◼ Show appreciation.
◼ Be a good listener.
◼ Greet people - remember their names.
◼ Consider compromise.
32
Actions to improve
communication.
◼ Be willing to break with tradition.
◼ Know what to expect from others.
◼ Respect people.
33
Process Management Process
34
Background
◼ A process is not a static entity – it has to
change to improve the Q&P
◼ Focus of process management is to evaluate
and improve the process
◼ Is different from project management which
focuses on a project
◼ Process management is an advanced topic
35
Software Process Improvement
39
CMM maturity levels: Level 1: Initial
◼ This is the lowest level and usually characterized as
chaotic. No formalized method for any activity
◼ Basic project controls for ensuring that activities are
being done properly, and that the project plan is being
adhered to, are missing
◼ project plans and development processes are
abandoned in favor of a code-and-test type of
approach
◼ Success depends solely on the quality and capability of
individuals.
◼ process capability is unpredictable as the process
constantly changes
◼ Organizations at this level can benefit most by
improving project management, quality assurance, and 40
change control
Level 2: Repeatable
◼ Policies for managing a software project and
procedures to implement those policies exist.
◼ Proj mgnt is well developed in a process
◼ project commitments are realistic and based on
followed.
◼ Results obtained by this process can be repeated
45
CMM
◼ can be used to assess the current level of
the process of an organization
◼ In a level, process has some capabilities
and lays the foundation for next level
◼ For moving from one level to another, CMM
specifies areas to focus on
◼ Is used heavily by sw industry
46
EARNED VALUE ANALYSIS
47
Earned Value - What is it?
◼ Simply, it is a project monitoring and
measurement system that:
1. establishes a clear relationship between planned
accomplishments and actual accomplishments
2. reinforces and rewards good planning practices
◼ An approach to measuring progress in a
software project is to calculate how much
has been accomplished
48
Earned Value Analysis
◼ Consist of Basic measures to calculate how much
has been accomplished
◼ Percent of the estimated time that has been completed
◼ Basic Measures
◼ Budgeted Cost of Work (BCW)
◼ The estimated effort for each work task
◼ Budgeted Cost of Work Scheduled (BCWS)
◼ The sum of the estimated effort for each work task that was
scheduled to be completed by the specified time
◼ Budget at Completion (BAC)
◼ The total of the BCWS and thus the estimate of the total effort of
the project
Earned Value Analysis
◼ Basic Measures
◼ Planned Value (PV)
◼ PV = BCW/BAC
◼ The percentage of the total estimated effort assigned to
a particular work task
◼ Budgeted Cost of Work Performed (BCWP)
◼ The sum of the estimated efforts for the work tasks
completed by the specified time
◼ Actual Cost of Work Performed (ACWP)
◼ Sum of the actual efforts for the work tasks that have
been computed
Summary
◼ Cost, in the form of Earned Value or BCWP,
can be used to analyze progress of a project
◼ Using Earned Value data to make critical
project decisions must be based on careful
analysis of data, variances and trends
51
Error Tracking
◼ Error tracking is keeping track of the errors that have
occurred and the inter-error times (the time between
occurrences of the errors)
◼ This can be used to make decisions about when to
release software.
◼ Makes software developers aware of the significance
of errors and error reduction
◼ The effects of changes in the software process can be
seen in the error data
◼ Making the errors and error detection visible
encourages testers and developers to keep error
reduction as a goal.
52
Error Rates
◼ The error rate is the inverse of the inter-error time.
◼ Instantaneous error rate
◼ if an error occur every 2 days, then