ZeePedia buy college essays online

Software Project Management

<<< Previous Cost Management, Project vs. Program Management, Project Success Next >>>
Software Project Management (CS615)
1. Introduction & Fundamentals
Costs and Cost Management
Project Cost Management includes the processes required to ensure that the
project is completed within the approved budget.
Resource Planning--determining what resources (people, equipment,
materials and what quantities of each should be used to perform project
Cost Estimating--developing an approximation (estimate) of the costs of
the resources needed to complete project activities.
Cost Budgeting--allocating the overall cost estimate to individual work
Cost Control--controlling changes to the project budget.
These processes interact with each other and with the processes in the other
knowledge areas as well.
Each process may involve effort from one or more individuals or groups of
individuals, based on the needs of the project.
Each process generally occurs at least once in every project phase.
Although the processes are presented here as discrete elements with well-defined
interfaces, in practice they may overlap and interact in ways not detailed here.
Project cost management is primarily concerned with the cost of the resources
needed to complete project activities.
However, project cost management should also consider the effect of project
decisions on the cost of using the project's product.
For example, limiting the number of design reviews may reduce the cost of the
project at the expense of an increase in the customer's operating costs. This
broader view of project cost management is often called life-cycle costing. Life-
cycle costing together with Value Engineering techniques are used to reduce cost
and time, improve quality and performance, and optimize the decision-making.
In many application areas, predicting and analyzing the prospective financial
performance of the project's product is done outside the project.
Software Project Management (CS615)
In others (e.g., capital facilities projects), project cost management also includes
this work. When such predictions and analyses are included, project cost
management will include additional processes and numerous general management
techniques such as return on investment, discounted cash flow, payback analysis,
and others.
Project cost management should consider the information needs of the project
stakeholders--different stakeholders may measure project costs in different ways
and at different times. For example, the cost of a procurement item may be
measured when committed, ordered, delivered, incurred, or recorded for
accounting purposes.
Project vs. Program Management
What is a Program?
"A coordinated portfolio of projects that change organizations to achieve benefits
of strategic importance"
Program management is the process of managing multiple on
going projects. An example would be that of designing, manufacturing and
providing support infrastructure for an automobile make.
It can be argued that Program Management has evolved from the complexities of
the more intricate aspects of Project Management.
As projects became larger; more interrelated; complex and multidimensional, the
need arose to have an approach that controlled Project Management whilst
remaining focused on the strategic objectives of the business. Whilst Project
Management focused on technical delivery, Program Management engaged on
relating design concepts to the business strategic vision of the future.
It is very important that you understand the concept of Program Management as a
method. Approaches may vary but definitions are relatively common. It is
appropriate to understand the `mission, goals and objectives' of Program
Management and then relate these to the Program you propose to develop.
Definitions will fall within each of these headings and it is possible to develop
your own template which fits your organizational program. For example:
­ Mission:
To co-ordinate a portfolio of projects to harmonize communications in
order to achieve a set of stated business objectives: Provision of strategy
alignment, with design objectives, in order to maintain control over a
Software Project Management (CS615)
multiple project environment; ensuring quality end deliverables which
meet business operational needs.
The above is a fairly complex mission statement but provides a framework
to develop an intricate set of goals in order to utilize Program
Management. It is possible to develop an extensive list of goals,
depending upon the level of detail you wish to acquire. The following are
offered as suggestions:
­ Goals:
1. Clearly defined roles and responsibilities
2. Established baselines and Terms of Reference statement
3. Type of program defined
4. Future business blueprint
5. Recognition of business transformation procedures
6. Defined structure of the Program
7. Route Map
8. Visible end deliverables -- vision of the future
9. Identification of future benefits
10. Risk
11. Contingency planning
Software Project Management (CS615)
Each of the goals would then be analyzed for providing objectives. For example:
Managing a program embraces functions, risks and strategies outside of what a
project manager does.
A program has goals beyond those of a project or group of projects. Program
outcomes are usually service delivery focused whereas a project is more likely
to be focused on the delivery of a 'product'.
A program is more than a grouping of projects (that's just a program of works).
The coordinated management of a portfolio of projects to achieve a set of
business objectives
There are many more meanings of the term program management. Here are the
more common meanings:
­ The Multi-Project Organization:
Program Management is the directing of a portfolio of projects that benefit
from a consolidated approach.
Jobbing engineering companies; software houses contracting for work; and
many other types of organization; run many simultaneous projects each of
which may or not contribute towards the corporate goals.
Typically the result of such a project is a deliverable which is eventually
delivered to a client for payment. After many delays the payment arrives and
Software Project Management (CS615)
gets paid into the company's bank account thereby increasing cash flow which
is achieving one of the company's objectives.
Sometimes the projects are much more directly aimed at corporate goals -
opening a new factory or launching a new product - spring to mind.
The common elements of the projects are that they run simultaneously or at
least overlap with each other, they share resources and are supposed to
generate some income. One project being cancelled does not necessarily
change the organization's general direction. These types of programs run for
ever and need have no end date. The projects are separate in that there need
not be logical links between projects. Whilst they share the same resources,
delays in one project need not cause delays in others.
­ The Mega Project
The management of a portfolio of projects towards one specific objective;
Program management can also mean one very large project.
The USA's Man on the Moon Project was such a program. In this sense the
term program indicates one very large project which is made up from a
number of components. Within the Apollo program there were many projects:
the Lunar Lander, the Orbiter, the Launcher and the Control Systems were all
projects which were large, complex and interesting. Polaris and the
Manhattan project (which resulted in the nuclear bomb) are other famous
projects large enough to be called programs. Therefore, particularly in USA,
the word program refers to a series of projects which make up one large
The program is usually reflected in the management structure as there will be
a program manager to whom the project managers will report. Said program
manager or sometimes program director will concern himself with recruiting
and maintaining his project management teams and on integrating the
deliverables of each project into one overall program. In this meaning of
program management there is likely to be one physical deliverable.
These sorts of programs end. There will be a time when the overall objective
has been achieved and the program and all of its constituent projects are over.
The projects within this type of program are often linked. Delays with one
project often cause knock on effects with others due to logical links between
tasks in both projects.
For example if the moon rocket launch pad project was delayed, it would
delay the testing of the moon rocket itself. The Beirut Shopping Mall will be
of little use without the water treatment plant and the new sewer scheme. Such
Software Project Management (CS615)
projects may not share the same resources but there are almost certain to be
linked through their logic.
Project Success
Project success is correlated with thorough analyses of the need for project
deliverables. Our research has shown that when a project results in deliverables
that are designed to meet a thoroughly documented need, then there is a greater
likelihood of project success. So managers should insist that there is a
documented business need for the project before they agree to consume
organizational resources in completing it.
We conduct planned and controlled software projects for one primary reason - it
is the only known way to manage complexity. And yet, we still struggle. In 1998,
industry data indicated that 26 percent of software projects failed outright and 46
percent experienced cost and schedule overruns [REE99].
Although the success rate for software projects has improved somewhat, our
project failure rate remains higher than it should be.
In order to avoid project failure, a software project manager and the software
engineers who build the product must avoid a set of common warning signs,
understand the critical success factors that lead to good project management, and
develop a common sense approach for planning, monitoring and controlling the
In order to manage a successful software project, we must understand what can go
wrong (so that problems can be avoided) and how to do it right. In an excellent
paper on software projects, John Reel [REE99] defines ten signs that indicate that
an information systems project is in jeopardy:
1. Software people don't understand their customer's needs.
2. The product scope is poorly defined.
3. Changes are managed poorly.
4. The chosen technology changes.
5. Business needs change (or are ill-defined)
6. Deadlines are unrealistic.
7. Users are resistant.
8. Sponsorship is lost [or was never properly obtained).
9. The project team lacks people with appropriate skills.
10. Managers [and practitioners) avoid best practices and lessons learned.
Jaded industry professionals often refer to the 90-90 rule when discussing
particularly difficult software projects: The first 90 percent of a system absorbs 90
percent of the allotted effort and time. The last 10 percent takes the other 90
Software Project Management (CS615)
percent of the allotted effort and time [ZAH94]. The seeds that lead to the 90-90
rule are contained in the signs noted in the preceding list.
But enough negativity! How does a manager act to avoid the problems just noted?
Reel [REE99] suggests a five-part commonsense approach to software projects:
1. Start on the right foot. This is accomplished by working hard (very hard)
to understand the problem that is to be solved and then setting realistic
objects and expectations for everyone who will be involved in the project.
It is reinforced by building the right team (Section 3.2.3) and giving the
team the autonomy, authority, and technology needed to do the job.
2. Maintain momentum. Many projects get off to a good start and then
slowly disintegrate. To maintain momentum, the project manager must
provide incentives to keep turnover of personnel to an absolute minimum,
the team should emphasize quality in every task it performs, and senior
management should do everything possible to stay out of (the team's way.
3. Track progress. For a software project, progress is tracked as work
products (e.g., specifications, source code, sets of test cases) are produced
and approved (using formal technical reviews) as part of a quality
assurance activation, software process and project measures can be
collected and used to assess progress against averages developed for the
software development organization.
4. Make smart decisions. In essence, the decisions of the project manager
and the software team should be to "keep it simple." Whenever possible,
decide to use commercial off-the-shelf software or existing software
components, decide to avoid custom interfaces when standard approaches
are available, decide to identify and then avoid obvious risks, and decide
to allocate more time than you think is needed to complex or risky tasks
(you'll need every minute).
5. Conduct a postmortem analysis. Establish a consistent mechanism for
extracting lessons learned for each project. Evaluate the planned and
actual schedules, collect and analyze software project metrics, get
feedback from team members and customers, and record findings in
written form.
­ Projects and Strategy
Projects are a means of organizing activities that cannot be addressed
within the organization's normal operational limits.
Projects are therefore often utilized as a means of achieving an
organization's strategic plan, whether the project team is employed by the
organization or is a contracted service provider.
Projects are typically authorized as a result of one or more of the
following strategic considerations:
Software Project Management (CS615)
A market demand (e.g., an oil company authorizes a project to build a
new refinery in response to chronic gasoline shortages)
A business need (e.g., a training company authorizes a project to create a
new course in order to increase its revenues)
A customer request (e.g., an electric utility authorizes a project to build a
new substation to serve a new industrial park)
A technological advance (e.g., an electronics firm authorizes a new
project to develop a new generation of video game player after the
introduction of the corresponding new game format)
A legal requirement (e.g., a paint manufacturer authorizes a project to
establish guidelines for the handling of a new toxic material).
No project ever goes 100% as planned, so project managers must learn to adapt to
change. There are many things that can go wrong with project management.
These are commonly called barriers. Here are some possible barriers:
1. Poor Communication
­ Many times a project may fail because the project team does not
know exactly what to get done or what's already been done.
2. Disagreement
­ Project must meet all elements in a contract.
­ Customer and project manager must agree on numerous
­ Failure to comply with standards and regulations.
­ Inclement weather.
­ Union strikes.
­ Personality conflicts.
­ Poor management
3. Poorly defined project goals
Trade-Off Triangle
Good project management deals with three factors: time, cost and
Projects are successful if they are completed on time, within budget, and to
performance requirements. In order to bring the many components of a large
project into control there is a large toolkit of techniques, methodologies, and
Software Project Management (CS615)
These techniques provide the tools for managing different components
involved in a project: planning and scheduling, developing a product;
managing financial and capital resources, and monitoring progress. However
the success of a project will always rest on the abilities of a project manager
and the team members.
In managing competing project requirements Project managers often talk of a
triple constraint:
­ Project scope
­ Time and
­ Cost
Project quality is affected by balancing these three factors.
High quality projects deliver the required product or service within scope, on
time and within budget.
The relationship among these factors is such that if any one of the three
factors changes, at least one other factor must change.
Simply put: project success means completing all project deliverables on time,
within budget, and to a level of quality that is acceptable to sponsors and
The project manager must keep the team's attention focused on achieving
these broad goals. Most people still want their projects to be on time, meet
quality objectives, and not cost more than the budget. These form the classic
time, quality, cost triangle.
In fact if you have an unlimited budget and unlimited time, project
management becomes rather easy. For most people, however, time and money
are critical and that is what makes project management so important today.
Project management is often summarized in a triangle. The three most
important factors are time, cost and scope. These form the vertices with
quality as a central theme.
Software Project Management (CS615)
Projects must be delivered on time.
Projects must be within cost
Projects must be within scope
Projects must meet customer quality requirements
More recently, this has given way to a project management diamond, with
time, cost, scope and quality the four vertices and customer expectations as a
central theme. No two customers' expectations are the same so you must ask
what their expectations are.
A project goes through four phases during its life:
1. Project Definition: Defining the goals, objectives and critical success
factors for the project
2. Project Initiation: Everything that is needed to set-up the project before
work can start
3. Project Control: Ensuring that a project stays on track and taking
appropriate action to ensure it does
4. Project Closure: Disbanding of all the elements that were required to run
the project
Software Project Management (CS615)
Project Management Skills
The role of the Leader in project management is one of great responsibility.
It's the project manager's job to direct and supervise the project from
beginning to end. Here are some other roles:
Problem Solving
Influencing the Organization
Process and technical expertise
(a) Leadership
Leadership is a complex phenomenon involving the leader, the followers,
and the situation. Perhaps the best way for you to begin to understand the
complexities of leadership is to see some of the ways leadership has been
defined. Leadership researchers have defined leadership in the following
different ways:
The creative and directive force of morale. (Munson, 1921)
The process by which an agent induces a subordinate to behave in a
desired manner. (Bennis, 1959)
The presence of a particular influence relationship between two or
more persons. (Hollander & Julian, 1969)
Directing and coordinating the work of group members. (Fiedler,
1967) An interpersonal relation in which others comply because they
want to, not because they have to. (Merton, 1969; Hogan, Curphy, &
Hogan, 1994)
Transforming followers, creating visions of the goals that may be
attained, and articulating for the followers the ways to attain those
goals. (Bass, 1985; Fichy & Devanna, 1986)
The process of influencing an organized group toward accomplishing
its goals. (Roach & Behling, 1984)
Actions that focus resources to create desirable opportunities.
(Campbell, 1991)
Software Project Management (CS615)
The leader's job is to create conditions for the team to be effective.
(Ginnett, 1996)
Leading and managing are both essential management skills: one
without the other is likely to produce poor results. Managing is primarily
concerned with "consistently producing key results expected by
stakeholders," while leading involves:
Establishing direction--developing both a vision of the future and
strategies for producing the changes needed to achieve that vision.
Aligning people--communicating the vision by words and deeds to
all those, whose cooperation may be needed to achieve the vision.
Motivating and inspiring--helping people energize themselves to
overcome political, bureaucratic, and resource barriers to change.
On a project, particularly a larger project, the project manager is generally
expected to be the project's leader as well.
Leadership is not, however, limited to the project manager: it may be
demonstrated by many different individuals at many different times during
the project.
Leadership must be demonstrated at all levels of the project (project
leadership, technical leadership, and team leadership).
(b) Communicating
Communicating involves the exchange of information and the ability to
transmit and receive information with a high probability that the intended
message is passed from sender to receiver.
The sender is responsible for making the information clear, unambiguous,
and complete so that the receiver can receive it correctly. The receiver is
responsible for making sure that the information is received in its entirety
and understood correctly.
Few skills are more vital to leadership. Studies show that good leaders
communicate feelings and ideas, actively solicit new ideas from others,
and effectively articulate arguments, advocate positions, and persuade
The quality of a Leader's communication is positively correlated with
subordinate satisfaction as well as with productivity and quality of
services rendered.
Software Project Management (CS615)
Effective communication skills are also important because they provide
leaders and followers with greater access to information relevant to
important organizational decisions.
Communicating has many dimensions:
­ Written and oral, listening and speaking
­ Internal (within the project) and external (to the customer, the
media, the public, etc.).
­ Formal (reports, briefings, etc.) and informal (memos, ad hoc
conversations, etc.)
­ Vertical (up and down the organization) and horizontal (with peers
and partner organization)
The general management skill of communicating is related to, but not the
same as, Project Communications Management.
Communicating is the broader subject and involves a substantial body of
knowledge that is not unique to the project context, for example:
­ Sender-receiver models--feedback loops, barriers to
communications, etc.
­ Choice of media--when to communicate in writing, when to
communicate orally, when to write an informal memo, when to
write a formal report, etc.
­ Writing style--active versus passive voice, sentence structure,
word choice, etc.
­ Presentation techniques--body language, design of visual aids,
­ Meeting management techniques--preparing an agenda, dealing
with conflict, etc.
Project Communications Management is the application of these broad
concepts to the specific needs of a project--for example, deciding how;
when; in what form; and to whom to report project performance.
(c) Negotiating
Negotiating involves conferring with others to come to terms with them or
reach an agreement.
Agreements may be negotiated directly or with assistance; mediation and
arbitration are two types of assisted negotiation.
Negotiation is an approach that may help resolve some conflicts. Some
important tips on negotiation include; preparing for a negotiation session;
Software Project Management (CS615)
keeping people and problems separate; focusing on issues, not positions
and seeking win-win outcomes.
Negotiations occur around many issues, at many times, and at many levels
of the project.
During the course of a typical project, project staff is likely to negotiate
for any or all of the following:
Scope, cost, and schedule objectives.
Changes to scope, cost, or schedule.
Contract terms and conditions.
(d) Problem Solving
There are three steps involved in this important leadership role; identifying
problem; analyzing its cause; and solving the problem.
Problem solving involves a combination of problem definition and
Problem definition requires distinguishing between causes and symptoms.
Problems may be:
­ Internal (a key employee is reassigned to another project)
­ External (a permit required to begin work is delayed).
­ Technical (differences of opinion about the best way to design a
­ Managerial (a functional group is not producing according to
plan) or
­ Interpersonal (personality or style clashes).
(e) Decision-making
Decision-making includes analyzing the problem to identify viable
solutions, and then making a choice from among them.
Decisions can be made or obtained (from the customer, from the team, or
from a functional manager).
Once made, decisions must be implemented.
Decisions also have a time element to them--the "right" decision may not
be the "best" decision if it is made too early or too late.
Software Project Management (CS615)
(f) Influencing the Organization
Influencing the organization involves the ability to "get things done."
It requires an understanding of both the formal and informal structures of
all the organizations involved--the performing organization, customer,
partners, contractors, and numerous others, as appropriate.
Influencing the organization also requires an understanding of the
mechanics of power and politics.
Both power and politics are used here in their positive senses.
Power is "the potential ability to influence behavior, to change the course
of events, to overcome resistance, and to get people to do things that they
would not otherwise do."
In similar fashion, "politics is about getting collective action from a group
of people who may have quite different interests. It is about being willing
to use conflict and disorder creatively.
The negative sense, of course, derives from the fact that attempts to
reconcile these interests result in power struggles and organizational
games that can sometimes take on a thoroughly unproductive life of their
Influence can be exercised in a: variety of ways. It may be the 'bridge to
engine room' approach, where the leader commands and controls. Or the
influence can be exercised by guiding and facilitating the group's behavior
so that the goal is accomplished.
Finally, leadership implies that a leader motivates the group to spend
energy in attaining the goals of the group.
Influence without change or movement isn't influence. Leaders make
change happen, a difficult but vitally important task.
(g) Mentoring
Mentoring or being a Transformational leadership is more concerned with
engagement between leaders and followers.
Leaders attempt to engage the full person of the subordinate and enthuse
them. They arouse in their subordinates a heightened awareness of the key
issues for the group or the organization. They seek to concern subordinates
with achievement, growth and development.
Software Project Management (CS615)
Creating a new vision is something that almost all writers on
transformational leadership emphasize.
The vision points the way to a new state of affairs. It is an appealing
picture of a more desirable future. It inspires people to believe that the
future is worth the upheaval of undoing the present.
A vision needs to be a source of self-esteem and a common purpose for
members of the organization.
(h) Technical Skills:
A project manager must have technical skills. This relates to financial
planning, contract management, and managing creative thinking and
problem solving techniques are promoted.
Table of Contents:
  1. Introduction & Fundamentals
  2. Goals of Project management
  3. Project Dimensions, Software Development Lifecycle
  4. Cost Management, Project vs. Program Management, Project Success
  5. Project Management’s nine Knowledge Areas
  6. Team leader, Project Organization, Organizational structure
  7. Project Execution Fundamentals Tracking
  8. Organizational Issues and Project Management
  9. Managing Processes: Project Plan, Managing Quality, Project Execution, Project Initiation
  10. Project Execution: Product Implementation, Project Closedown
  11. Problems in Software Projects, Process- related Problems
  12. Product-related Problems, Technology-related problems
  13. Requirements Management, Requirements analysis
  14. Requirements Elicitation for Software
  15. The Software Requirements Specification
  16. Attributes of Software Design, Key Features of Design
  17. Software Configuration Management Vs Software Maintenance
  18. Quality Assurance Management, Quality Factors
  19. Software Quality Assurance Activities
  20. Software Process, PM Process Groups, Links, PM Phase interactions
  21. Initiating Process: Inputs, Outputs, Tools and Techniques
  22. Planning Process Tasks, Executing Process Tasks, Controlling Process Tasks
  23. Project Planning Objectives, Primary Planning Steps
  24. Tools and Techniques for SDP, Outputs from SDP, SDP Execution
  25. PLANNING: Elements of SDP
  26. Life cycle Models: Spiral Model, Statement of Requirement, Data Item Descriptions
  27. Organizational Systems
  28. ORGANIZATIONAL PLANNING, Organizational Management Tools
  29. Estimation - Concepts
  30. Decomposition Techniques, Estimation – Tools
  31. Estimation – Tools
  32. Work Breakdown Structure
  33. WBS- A Mandatory Management Tool
  34. Characteristics of a High-Quality WBS
  35. Work Breakdown Structure (WBS)
  36. WBS- Major Steps, WBS Implementation, high level WBS tasks
  37. Schedule: Scheduling Fundamentals
  38. Scheduling Tools: GANTT CHARTS, PERT, CPM
  39. Risk and Change Management: Risk Management Concepts
  40. Risk & Change Management Concepts
  41. Risk Management Process
  42. Quality Concept, Producing quality software, Quality Control
  43. Managing Tasks in Microsoft Project 2000
  44. Commissioning & Migration