Professional Documents
Culture Documents
l4 Sep Project Management
l4 Sep Project Management
l4 Sep Project Management
4.1 Introduction
In this lecture we shall learn the basic concepts in software project management.
4.5.1 People
The “people factor” is so important that the Software engineering Institute has developed a
people management capability maturity model in order to enhance the readiness of software
organizations to undertake increasingly complex applications to develop talent needed to
improve their software development capability.
The people management maturity model defines the following key practice areas for software
people career development, selection performance management, training, compensation, career
development, organization and work design and team culture development. Organization that
achieve high levels of maturity in the people management area have a higher likelihood of
implement effective software engineering practices.
The PM-CMM is a companion to the software capability maturity model which guides
organizations in the creation of a mature software process. Issues associated with people
management and structure for software projects are considered later in this lecture.
Before a project can be planned, its objectives and scope should be established, alternative
solutions should be considered, technical and management constraints be identified. Without this
information, it is impossible to define accurate estimates of the cost, effective risk assessment,
realistic project task breakdown or a manageable project schedule that provides a meaningful
indication of process.
The software developer and customer must meet to define project objectives and scope. In many
cases, this activity begins as part of the system engineering process and continues as the first step
in software requirements analysis. Objectives identify the overall goals of the project without
considering how these goals will be achieved. Scope identifies the primary data, functions, and
behaviors that characterize the problem.
Once the project objectives and scope are understood, alternative solutions are considered.
Although very little details is discussed, the alternatives enables managers and practitioners to
select a “best” approach, given the project constraints imposed by delivery deadlines, budgetary
restrictions personnel availability, technical interfaces, and myriad other factors.
Senior managers: define the business issues that often have significant influence on the
project.
Project (technical) managers: plan, motivate, organize, and control the practitioners who
do software work.
Practitioners: deliver the technical skills that, are necessary to engineer a product or
application.
Customers: specify the requirements for the software to be engineered.
End users: interact with the software once it is released for productions use.
To be effective, the project team must be organized in a way that maximizes each person’s skills
and abilities. That’s the job of the team leader.
In software development groups, basic physiological and safety needs are not an issue.
Social needs (e.g. Provide communal facilities; Allow informal communications e.g.
via social networking)
Esteem needs (e.g. Recognition of achievements; Appropriate rewards.)
Self-actualization (e.g.Training - people want to learn more; Responsibility)
Individual motivations are made up of elements of each class. The balance between the classes
can change depending on personal circumstances and external events. However, people are not
just motivated by personal factors but also by being part of a group and culture. People go to
work because they are motivated by the people that they work with.
4.6.4 Teamwork
Most software engineering is a group activity. The development schedule for most non-trivial
software projects is such that they cannot be completed by one person working alone. A good
group is cohesive and has a team spirit. The people involved are motivated by the success of the
group as well as by their own personal goals. Group interaction is a key determinant of group
performance.
Regardless of the team organization, the objective for every project manager is to help create a team that
exhibits cohesiveness. In their book, peopleware, DeMarco and Lister discuss a “ jelled team” - as a
group of people so strongly knit that the whole is greater than the sum of the parts. Once a team begins to
jell, the probability of success goes way up. They don’t need to be managed in the traditional way, and
they certainly don’t need to be motivated because they have momentum. They share a common goal and a
common culture.
In a cohesive group, members consider the group to be more important than any individual in it.The
advantages of a cohesive group include:
Group quality standards can be developed by the group members.
Team members learn from each other and get to know each other’s work; Inhibitions caused
by ignorance are reduced.
Knowledge is shared. Continuity can be maintained if a group member leaves.
The group members work collectively to deliver high quality results and fix problems,
irrespective of the individuals who originally created the design or program
Organization The ability to mold existing processes that will enable the initial concept to
be translated into a final product.
Ideas or innovation The ability to encourage people to create and feel creative even
when they must work within bounds established for a particular software product or
application.
Problem solving An effective software project manager can diagnose technical and
organizational issues to develop a solution and remain flexible enough to change
direction if initial attempts at problem solution are fruitless.
Managerial identity A good project manager must take charge of the project. He must
have the
confidence to assume control when necessary and the assurance to allow good technical
people to follow their instincts.
Achievement To optimize the productivity of a project team, a manager must reward
initiative and accomplishment, and demonstrate through his own actions that controlled
risk taking will not be punished.
Influence and Team Building An effective project manager must be able to read people;
she must be able to understand verbal and nonverbal signals and react to the needs of the
people sending these signals.
Control The manager must remain under control in high stress situations.
Risk analysis
After risks have been identified the next step is risk analysis. Through risk analysis, we transform the
risks that were identified into decision-making information. Each risk is considered and a judgment made
about the likelihood and consequences of these risks. The probability may be very low, low, moderate,
high or very high. Risk consequences might be catastrophic, serious, tolerable or insignificant.
Determining the probability and the magnitude of the risk can be difficult and can seem to be arbitrarily
chosen. One means of determining the risk probability is for each team member to estimate each of these
values individually. Then, the input of individual team members is collected in a round robin fashion and
reported to the group. The team then sorts the risk list so that the high probability, high impact risks
percolate to the top of the table and the low-probability, low impact risks drop to the bottom.
Risk planning
During planning each risk is considered and a strategy developed to manage that risk. The strategies
include
Avoidance strategies: The probability that the risk will arise is reduced;
Minimisation strategies: The impact of the risk on the project or product will be reduced;
Contingency plans: If the risk arises, contingency plans are plans to deal with that risk;
Risk monitoring
During monitoring we assess each identified risks regularly to decide whether or not it is becoming less or
more probable. Also assess whether the effects of the risk have changed. Each key risk should be
discussed at management progress meetings. It is essential that the team regularly monitor the progress of
the product and the resolution of the risk items, taking corrective action when necessary. This monitoring
can be done as part of the team project management activities or through explicit risk management
activities.
4. 8 Activities
1) Read on capability maturity models
2) Read Maslow’s Hierarchy of need
3) Identify examples
communication ofmost
have the risk in eachfor
value of practitioners.
the following categories
a) Technology risks.
b) People risks.
c) Organisational risks.
d) Requirements risks.
e) Estimation risks.
4. 10 Summary
Software project management is concerned with activities involved in ensuring
that software is delivered on time and on schedule and in line with the
requirements of the organisations developing and procuring the software
There P’s have a substantial influence on software project management people, problem
and process.
People must be organized into effective teams, motivated to do high quality software
work, and coordinated to achieve effective communication.
The problem must be communicated from customer to developer, partitioned into its
constituent arts, and positioned for work by the software team.
The process must be adapted to the people and the problem. A common process
framework is selected, an appropriate software engineering paradigm is applied, and a
set of work tasks is chosen to get the job done.
Risk management involves identifying and assessing project risks to establish the
probability that they will occur and the consequences for the project if that risk does
arise. You should make plans to avoid, manage or deal with likely risks if or when they
arise.
4. References
Extracted from
Ian Sommerville (2011) Software Engineering (11th Edition) Addison Wesley
Kharagpur Software Engineering Online Notes