Title: CS 425625 Software Engineering Managing People
1CS 425/625 Software Engineering Managing People
- Based on Chapter 22 of the textbook Somm00 Ian
Sommerville, - Software Engineering, 6th Ed., Addison-Wesley,
2000 and on the - Ch22 PowerPoint presentation available at the
books web-site - www.comp.lancs.ac.uk/computing/resources/IanS/SE6/
Slides/index.html - November 24, 2003
2Outline
- People in the Software Process
- Limits to Thinking
- Group Working
- Choosing and Keeping People
3People in the Software Process.
- People are an organizations most important
assets - The managers tasks are essentially people
oriented - Software engineering is a cognitive and social
activity - Cognitive limitations should be taken into
consideration in the software process
4.People in the Software Process
- Management activities include
- Problem solving using available people
- Motivating people who work on a project
- Planning what people are going to do
- Estimating how fast people will work
- Controlling people's activities
- Organizing the way in which people work
5Limits to Thinking
- People are very diverse, and do not all think in
the same way - However, all people are subject to the same
constraints on their thinking due to - Memory organization
- Knowledge representation
- Motivation influences
- Awareness of the limits to the way people think
is important in software process management
6Limits to Thinking Memory Organization.
- Memory organization Fig. 22.1 Somm00
7Limits to Thinking .Memory Organization
- Short term memory
- Fast access time
- Limited capacity
- Holds 5-7 chunks of information
- Fast decay time
- Working memory
- Larger capacity
- Longer access time
- Used for information processing
- Can retain information longer than the short term
memory - Relatively fast decay time
- Long term memory
- Slow access time
- Very large capacity
- Somewhat unreliable retrieval mechanism (we
forget things) - Relatively high threshold (work/time/repetition
needed to retain things in long term memory) - Slow decay time
8Limits to Thinking Cognitive Chunking
- Cognitive chunking Fig. 22.2, Somm00
9Limits to Thinking Semantic and Syntactic
Knowledge.
- Knowledge types
- Semantic knowledge, knowledge of concepts such
as the operation of assignment statement, the
notion of an object class, etc. - Organized, structured, acquired through
experience and active learning, deeper and less
volatile than the syntactic knowledge - Syntactic knowledge, knowledge of details such as
how to write a class description in UML, etc. - Disorganized, arbitrary, acquired through
memorization, easier to forget than the semantic
knowledge
10Limits to Thinking .Semantic and Syntactic
Knowledge
- Syntactic and semantic knowledge Fig. 22.3
Somm00
11Limits to Thinking Problem Solving.
- Problem solving requires integration of different
types of knowledge, e.g., computer, task, domain,
and organization knowledge - A semantic model of the problem as well as a
corresponding model of the solution are built - The process of program design involves
- 1 Integration of computer and task knowledge to
create new knowledge and understand the problem - 2 Development of a semantic model of the solution
and testing of this model against the problem - 3 Representation of this model in an appropriate
notation or programming language
12Limits to Thinking .Problem Solving
- Problem solving Fig. 22.4, Somm00
13Limits to Thinking Motivation.
- A manager must know how to motivate the people
working on a project - Different types of motivation are related to
- 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) - Motivation should also take into account
different personality types - Task-oriented
- Self-oriented
- Interaction-oriented
14Limits to Thinking .Motivation
- Human needs hierarchy Fig. 22.5, Somm00
15Group Working Introduction
- Software engineering typically requires 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 factor of group
performance - But flexibility in group composition is often
limited and managers must do the best they can
with available people
16Group Working Main Factors
- Factors that influence group working
- Group composition
- Group leadership
- Group cohesiveness
- Group communications
- Group organization
17Group Working 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
- However, this can be difficult to achieve because
most engineers are task-oriented - Also, there is a need for all members to be
involved in decisions which affect the group
18Group Working Leadership
- Leadership depends on respect, not on titular
status - In a team, there may be both a technical and an
administrative leader - Democratic leadership is more effective than
autocratic leadership - A career path based on technical competence
should be supported
19Group Working Cohesiveness
- In a cohesive group, members consider the group
more important than the individuals - Advantages of cohesive groups
- Group quality standards can be developed
- Group members work closely together
- Team members learn from each other
- Egoless programming can be practised
- Cohesiveness can be build through
- Social events
- Developing a group identity and territory
- Explicit team-building activities
- Open access to information
- Strong, cohesive groups can lead however to
irrational resistance to leadership change and to
groupthink
20Group Working Communications
- Good communications are vital for group working
- Information must be exchanged on the status of
work, design decisions and changes to previous
decisions - Good communications also strengthens group
cohesion and promotes understanding - Factors that influence the effectiveness of group
communications - Group size
- Group structure
- Group composition
- Physical work environment of the group
21Group Working Organization
- Software engineering group sizes should be
relatively small (at most 8 members) - Small teams can follow a democratic team
organization - On the other hand, chief programmer teams try to
make the most effective use of skills and
experience - Extreme programming involves democratic team
organization
22Group Working .Organization..
- In democratic team organization
- The group acts as a whole and comes to a
consensus on decisions affecting the group - The group leader serves as the external interface
of the group but does not allocate specific work
items - The work is discussed by the group and tasks are
allocated according to ability and experience - This approach is successful for groups where all
members are experienced and competent
23Group Working ..Organization.
- Chief programmer teams consist of a kernel of
specialists helped by others added to the project
as needed - This group organization allow very capable
programmers to be responsible for most of the
software development
24Group Working Organization
- Issues with chief programmer teams
- Talented designers and programmers are difficult
to find - Group members may resent the chief programmer
taking the credit for the groups success - Projects will fail if both the chief and deputy
programmer become unavailable - Organizational structures may not be able to
accommodate this type of group
25Choosing and Keeping People
- Hiring people for a project is a major managerial
responsibility - Appointment decisions are based on
- Information provided by the candidates in their
resumés - Information obtained at an interview
- Recommendations from people who know the
candidates - Some companies use psychological or aptitude
tests
26.Choosing and Keeping People..
- Staff selection factors Fig. 22.7 Somm00
-
27..Choosing and Keeping People.
- Working environments
- The physical workplace has an important effect on
individual productivity and satisfaction
(comfort, facilities, privacy) - Health and safety aspects must also be taken into
consideration (e.g., lighting, heating,
furniture) - Important environmental factors
- Privacy each engineer should have his or her
work area - Outside awareness people prefer natural light
- Personalization different people organize their
work environment in different ways - Spaces for group meeting teams working together
need spaces for holding formal and informal
meetings
28Choosing and Keeping People
- Office layout Fig 22.8, Somm00