Managing People: Managing People Working As Individuals and in Groups
Managing People: Managing People Working As Individuals and in Groups
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide1
Objectives
To explain some of the issues involved in selecting
and retaining staff
To describe factors that influence individual
motivation
To discuss key issues of team working including
composition, cohesiveness and communications
To introduce the people capability maturity model (P-
CMM) - a framework for enhancing the capabilities
of people in an organisation
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide2
Topics covered
Selecting staff
Motivating people
Managing groups
The people capability maturity model
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide3
People in the process
People are an organisations most important
assets.
The tasks of a manager are essentially
people-oriented. Unless there is some
understanding of people, management will
be unsuccessful.
Poor people management is an important
contributor to project failure.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide4
People management factors
Consistency
Team members should all be treated in a comparable way
without favourites or discrimination.
Respect
Different team members have different skills and these
differences should be respected.
Inclusion
Involve all team members and make sure that peoples
views are considered.
Honesty
You should always be honest about what is going well and
what is going badly in a project.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide5
Selecting staff
An important project management task is
team selection.
Information on selection comes from:
Information provided by the candidates.
Information gained by interviewing and talking
with candidates.
Recommendations and comments from other
people who know or who have worked with the
candidates.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide6
Staff selection case study 1
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide7
Staff selection case study 2
The next stage is to try and find people from within the company with
the necessary skills. However, the company has expanded significantly
and has few staff available. The best that Alice can negotiate is to have
help from an alarm expert (Fred) for 2 days/week. She therefore
decides to advertise for new project staff, listing the attributes that
shed like:
1. Programming experiencein C. She hasdecided to develop all the
assistive technology control software in C.
2. Experience in user interfacedesign. A UI designer is essential but
there may not be a need fo r a full -time appointment.
3. Experience in hardware interfacing with C and using remote
development systems. All the devices used have co mplex hardware
interfaces.
4. Experience of working with hardware engineers. At times, it will be
necessary to buil d completely new hardware.
A sympathetic personalit y so that they can relate to andwork with elderly people who are
providing requirements for andare testing the system.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide8
Lessons
Managers in a company may not wish to lose
people to a new project. Part-time
involvement may be inevitable.
Skills such as UI design and hardware
interfacing are in short supply.
Recent graduates may not have specific skills
but may be a way of introducing new skills.
Technical proficiency may be less important
than social skills.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide9
Staff selection factors 1
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide10
Staff selection factors 2
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide11
Motivating people
An important role of a manager is to motivate
the people working on a project.
Motivation is a complex issue but it appears
that their are different types of motivation
based on:
Basic needs (e.g. food, sleep, etc.);
Personal needs (e.g. respect, self-esteem);
Social needs (e.g. to be accepted as part of a
group).
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide12
Self
retion
alis
Est
Soc
Human needs hierarchy
Saf
Ph
ysi
g
ica
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide13
Need satisfaction
Social
Provide communal facilities;
Allow informal communications.
Esteem
Recognition of achievements;
Appropriate rewards.
Self-realization
Training - people want to learn more;
Responsibility.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide14
Individual motivation
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide15
Personality types
The needs hierarchy is almost certainly an
over-simplification of motivation in practice.
Motivation should also take into account
different personality types:
Task-oriented;
Self-oriented;
Interaction-oriented.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide16
Personality types
Task-oriented.
The motivation for doing the work is the work itself;
Self-oriented.
The work is a means to an end which is the achievement
of individual goals - e.g. to get rich, to play tennis, to
travel etc.;
Interaction-oriented
The principal motivation is the presence and actions of
co-workers. People go to work because they like to go to
work.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide17
Motivation balance
Individual motivations are made up of elements
of each class.
The balance 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.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide18
Managing groups
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.
Group interaction is a key determinant of
group performance.
Flexibility in group composition is limited
Managers must do the best they can with
available people.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide19
Factors influencing group working
Group composition.
Group cohesiveness.
Group communications.
Group organisation.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide20
Group composition
Group composed of members who share the
same motivation can be problematic
Task-oriented - everyone wants to do their own thing;
Self-oriented - everyone wants to be the boss;
Interaction-oriented - too much chatting, not enough work.
An effective group has a balance of all types.
This can be difficult to achieve software engineers
are often task-oriented.
Interaction-oriented people are very important as
they can detect and defuse tensions that arise.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide21
Group composition
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide22
Group leadership
Leadership depends on respect not titular
status.
There may be both a technical and an
administrative leader.
Democratic leadership is more effective that
autocratic leadership.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide23
Group cohesiveness
In a cohesive group, members consider the
group to be more important than any individual
in it.
The advantages of a cohesive group are:
Group quality standards can be developed;
Group members work closely together so inhibitions
caused by ignorance are reduced;
Team members learn from each other and get to
know each others work;
Egoless programming where members strive to
improve each others programs can be practised.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide24
Team spirit
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide25
Developing cohesiveness
Cohesiveness is influenced by factors such as the
organisational culture and the personalities in the
group.
Cohesiveness can be encouraged through
Social events;
Developing a group identity and territory;
Explicit team-building activities.
Openness with information is a simple way of
ensuring all group members feel part of the group.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide26
Group loyalties
Group members tend to be loyal to cohesive
groups.
'Groupthink' is preservation of group
irrespective of technical or organizational
considerations.
Management should act positively to avoid
groupthink by forcing external involvement
with each group.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide27
Group communications
Good communications are essential for
effective group working.
Information must be exchanged on the
status of work, design decisions and
changes to previous decisions.
Good communications also strengthens
group cohesion as it promotes
understanding.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide28
Group communications
Group size
The larger the group, the harder it is for people to
communicate with other group members.
Group structure
Communication is better in informally structured groups than in
hierarchically structured groups.
Group composition
Communication is better when there are different personality
types in a group and when groups are mixed rather than single
sex.
The physical work environment
Good workplace organisation can help encourage
communications.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide29
Group organisation
Small software engineering groups are
usually organised informally without a rigid
structure.
For large projects, there may be a
hierarchical structure where different groups
are responsible for different sub-projects.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide30
Informal groups
The group acts as a whole and comes to a
consensus on decisions affecting the system.
The group leader serves as the external interface of
the group but does not allocate specific work items.
Rather, work is discussed by the group as a whole
and tasks are allocated according to ability and
experience.
This approach is successful for groups where all
members are experienced and competent.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide31
Extreme programming groups
Extreme programming groups are variants of
an informal, democratic organisation.
In extreme programming groups, some
management decisions are devolved to
group members.
Programmers work in pairs and take a
collective responsibility for code that is
developed.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide32
Chief programmer teams
Consist of a kernel of specialists helped by others
added to the project as required.
The motivation behind their development is the wide
difference in ability in different programmers.
Chief programmer teams provide a supporting
environment for very able programmers to be
responsible for most of the system development.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide33
Problems
This chief programmer approach, in different forms,
has been successful in some settings.
However, it suffers from a number of problems
Talented designers and programmers are hard to find.
Without exceptional people in these roles, the approach
will fail;
Other group members may resent the chief programmer
taking the credit for success so may deliberately
undermine his/her role;
There is a high project risk as the project will fail if both the
chief and deputy programmer are unavailable.
The organisational structures and grades in a company
may be unable to accommodate this type of group.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide34
Working environments
The physical workplace provision has an important
effect on individual productivity and satisfaction
Comfort;
Privacy;
Facilities.
Health and safety considerations must be taken
into account
Lighting;
Heating;
Furniture.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide35
Environmental factors
Privacy - each engineer requires an area for
uninterrupted work.
Outside awareness - people prefer to work in
natural light.
Personalization - individuals adopt different
working practices and like to organize their
environment in different ways.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide36
Workspace organisation
Workspaces should provide private spaces
where people can work without interruption
Providing individual offices for staff has been
shown to increase productivity.
However, teams working together also
require spaces where formal and informal
meetings can be held.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide37
OfMee
r
o
ficeom
W
i
w
Of
fic
Com
una
ar
ea n
Office layout
Of
fice
Of
Of Of
fic
fice
Of
fice
Sh
fice
Ofed
do
ti
fice
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide38
The People Capability Maturity Model
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide39
P-CMM Objectives
To improve organisational capability by
improving workforce capability.
To ensure that software development
capability is not reliant on a small number of
individuals.
To align the motivation of individuals with
that of the organisation.
To help retain people with critical knowledge
and skills.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide40
P-CMM levels
Five stage model
Initial. Ad-hoc people management
Repeatable. Policies developed for capability
improvement
Defined. Standardised people management across the
organisation
Managed. Quantitative goals for people management in
place
Optimizing. Continuous focus on improving individual
competence and workforce motivation
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide41
Optim
Conti
Continu
The people capability model
for deve
Coach
organisa
P
e
Mana
gedrson
Quantita
row
th
teamsOrgan
T
e forma
organisa
workforcin
am-b
establish
am
Mento b
Define
Identify
compete
P
a
ticipato
align r
Compe
activities
Career
W
o wo
rkforcp
R
elKnowle
ta
b e
pea
Instill
Compen
discipline
workforce
T
rStaffing
eaining
activities
Pformanc
r bas
Commu
Wo rk
Initial envi
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide42
Key points
Staff selection factors include education,
domain experience, adaptability and
personality.
People are motivated by interaction,
recognition and personal development.
Software development groups should be
small and cohesive. Leaders should be
competent and should have administrative
and technical support.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide43
Key points
Group communications are affected by
status, group size, group organisation and
the gender and personality composition of
the group
Working environments should include spaces
for interaction and spaces for private working.
The People Capability Maturity Model is a
framework for improving the capabilities of
staff in an organisation.
IanSommerville2004 SoftwareEngineering,7thedition.Chapter25Slide44