+ All Categories
Home > Documents > Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf ·...

Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf ·...

Date post: 15-Mar-2019
Category:
Upload: dinhbao
View: 216 times
Download: 0 times
Share this document with a friend
42
©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 1 Managing people Managing people working as individuals and in groups
Transcript
Page 1: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 1

Managing people

◆ Managing people working asindividuals and in groups

Page 2: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 2

Objectives

◆ To emphasize the importance of people in thesoftware engineering process.

◆ To describe fundamental cognitive factors whichmanagers should be aware of.

◆ To discuss group working and grouporganization.

◆ To explain why the working environment forsoftware engineers is important.

Page 3: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 3

Topics covered

◆ Cognitive fundamentals

◆ Management implications

◆ Project staffing

◆ Group working

◆ Working environments

Page 4: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 4

People in the process

◆ People are an organization’s most importantassets.

◆ The tasks of a manager are essentially peopleoriented. Unless there is some understandingof people, management will be unsuccessful.

◆ Software engineering is primarily a cognitiveactivity.

Page 5: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 5

Management activities

◆ 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)

Page 6: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 6

Cognitive fundamentals

◆ People don’t all think the same way but everyoneis subject to some basic constraints on theirthinking due to:

• Memory organization

• Knowledge representation

• Motivation influences

◆ If we understand these constraints, we canunderstand how they affect people participatingin the software process.

Page 7: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 7

Memory organization

Working memory

Long-term memory(Large capacity, slow access)

Short-termmemory

Fromsenses

Page 8: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 8

Short-term memory

◆ Fast access, limited capacity

◆ 5-7 locations

◆ Holds “chunks” of information where the size ofa chunk may vary depending on its familiarity.

◆ Fast decay time

Page 9: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 9

Working memory

◆ Larger capacity, longer access time.

◆ Memory area used to integrate information fromshort-term memory and long-term memory.

◆ Relatively fast decay time.

Page 10: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 10

Long-term memory

◆ Slow access, very large capacity.

◆ Unreliable retrieval mechanism.

◆ Slow but finite decay time - information needsreinforcing.

◆ Relatively high threshold - work has to be doneto get information into long-term memory.

Page 11: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 11

Information transfer

◆ Problem solving usually requires transferbetween short-term memory and workingmemory.

◆ Information may be lost or corrupted during thistransfer.

◆ Information processing occurs in the transferfrom short-term to long-term memory.

Page 12: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 12

Cognitive chunking

Swap if necessary so that smaller comes first

Compare adjacent elements

Loop (process unsorted part of array)

Loop (process entire array)

Page 13: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 13

Knowledge modelling

◆ Semantic knowledge: knowledge of conceptssuch as the operation of assignment, conceptof parameter passing etc.

◆ Syntactic knowledge: knowledge of details ofa representation e.g., a Java while loop.

Page 14: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 14

Knowledge acquisition

◆ Semantic knowledge is acquired throughexperience and active learning - the “ah” factor

◆ Syntactic knowledge is acquired bymemorization.

◆ New syntactic knowledge can interfere withexisting syntactic knowledge.

• E.g., problems in mixing up syntax of different programminglanguages

Page 15: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 15

Semantic knowledge

◆ E.g., Computing concepts:• notion of a writable store

• iteration

• concept of an object

• ...

Page 16: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 16

Motivation

◆ An important role of a manager is to motivate thepeople working on a project.

◆ Motivation is a complex issue but it appears thattheir are different types of motivation based on:

• Basic needs (e.g., food, sleep)

• Personal needs (e.g., respect, self-esteem)

• Social needs (e.g., to be accepted as part of a group)

Page 17: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 17

Human needs hierarchy

Physiological needs

Safety needs

Social needs

Esteem needs

Self-realization needs

Page 18: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 18

Personality types

◆ Needs hierarchy is an over-simplification.

◆ Must also take into account different personalitytypes:

• Task-oriented

• Self-oriented

• Interaction-oriented

Page 19: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 19

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 towork.

Page 20: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 20

Motivation balance

◆ Individual motivations are made up of elementsof each class.

◆ Balance can change depending on personalcircumstances and external events.

Page 21: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 21

Problem solving

◆ Structured programming: Limited controlstructures place a lesser load on short-termand working memory.

◆ Software development ability: is the ability tointegrate new knowledge with existing computerand task knowledge and hence derive creativeproblem solutions.

◆ Thus, problem solving is language independent.

Page 22: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 22

Problem solving

New knowledge

Existing knowledge

Long-term memory

Partialsolutions

SolutionProblem

Workingmemory

Page 23: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 23

Training

◆ Language concepts should match semanticstructures formed - more errors are likely to bemade by low-level language programmers.

◆ Easy for programmers to learn a new languageof the same type.

◆ May be more difficult for experiencedprogrammers to learn a new language of adifferent type than for novices.

Page 24: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 24

Motivation

◆ Motivations depend on satisfying needs.

◆ It can be assumed that physiological and safetyneeds are satisfied.

◆ Social, esteem and self-realization needs aremost significant from a managerial viewpoint.

Page 25: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 25

Need satisfaction

◆ Social• Provide communal facilities

• Allow informal communications

◆ Esteem• Recognition of achievements

• Appropriate rewards

◆ Self-realization• Training - people want to learn more

• Responsibility

Page 26: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 26

Project staffing

◆ Choosing people to work on a project is a majormanagerial responsibility.

◆ Appointment decisions are usually based on:• information provided by the candidate (their CV)

• information gained at an interview

• recommendations from other people who know the candidate

◆ Some companies use aptitude tests• There is no agreement on whether or not these tests are actually

useful

Page 27: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 27

Group working

◆ Software engineering is a group activity• The development schedule for most non-trivial software

projects is such that they cannot be completed by one personworking 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

Page 28: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 28

Time distribution

5 0%Interaction w ith

o th er peo ple

2 0%No n-p ro du ct ive

activ it ies

3 0%Wo rk in g alon e

Page 29: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 29

Group composition

◆ Group composed of members who share thesame 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.

◆ Can be difficult to achieve because mostengineers are task-oriented.

Page 30: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 30

◆ Leadership depends on respect not title.

◆ There should be both a technical and anadministrative leader.

◆ Democratic leadership is more effective thatautocratic leadership.

◆ A career path based on technical competenceshould be supported.

Group leadership

Page 31: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 31

Group cohesiveness

◆ In a cohesive group, members consider the groupto be more important than any individual in it.

◆ Advantages of a cohesive group are:• Group quality standards can be developed.

• Team members learn from each other and get to know eachother’s work.

• Egoless programming where members strive to improve eachother’s programs can be practised.

Page 32: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 32

◆ Group members tend to be loyal to cohesivegroups.

◆ “Groupthink” is preservation of groupirrespective of technical or organizationalconsiderations.

◆ Management should act positively to avoidgroupthink by forcing external involvement witheach group.

Group loyalties

Page 33: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 33

◆ Status of group members• Higher status members tend to dominate conversations.

◆ Personalities in groups• Too many people of the same personality type can be a

problem.

◆ Communication channels• Communication channelled though a central coordinator tend to

be ineffective.

Group communications

Page 34: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 34

Team organization

◆ Software engineering group sizes should berelatively small (< 8 members).

◆ Break big projects down into multiple smallerprojects.

◆ Small teams may be organized in an informal,democratic way.

◆ Chief programmer teams try to make the mosteffective use of skills and experience.

Page 35: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 35

Chief programmer teams

Test specialist

Tech. author

OS specialist

Toolsmith

Administrator

Backupprogrammer

Chiefprogrammer

Librarian

Specialist poolNucleus of chief programmer team

OutsideCommunication

Page 36: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 36

Chief programmer teams

◆ Consist of a kernel of specialists helped by othersadded to the project as required.

◆ Reportedly successful but problems with thisapproach are:

• Finding talented chief programmers.

• Disruption to normal organizational structures.

• Demotivating effect on those who are not chief programmers.

Page 37: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 37

◆ Physical workplace provision has an importanteffect on individual productivity and satisfaction:

• Comfort

• Privacy

• Facilities

◆ Health and safety considerations must be takeninto account:

• Lighting

• Heating

• Furniture

Working environments

Page 38: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 38

◆ Privacy - each engineer requires an area foruninterrupted work.

◆ Outside awareness - people prefer to work innatural light.

◆ Personalization - individuals adopt differentworking practices and like to organize theirenvironment in different ways.

Environmental factors

Page 39: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 39

Office grouping

Office

Office

Office

Office

Of fice

Of fice

Office

OfficeCommunalarea

Meetingroom

Window

Shareddocumentation

Page 40: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 40

◆ Computers• Each engineer should have a personal workstation with access

to software which is needed for his/her job.

◆ Telecommunications• telephone, fax, e-mail, networking facilities.

• groupware - systems such as Lotus Notes facilitate informationsharing.

• Good telecommunications facilities can reduce travel costsdrastically.

Equipment provision

Page 41: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 41

Key points

◆ Managers must have some understanding ofpeople if they are to be effective.

◆ Human cognitive structures place fundamentallimits on the ways in which people work.

◆ The success of techniques such as structuredprogramming and OO development is partially aconsequence of cognitive structures.

◆ Staff selection factors include education, domainexperience, adaptability and personality.

Page 42: Managing people Managing people working as individuals and ...holt/cs/446/08/slides/Ch.28.pdf · ©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th

©Ian Sommerville 1995 Modified by Spiros Mancoridis 1998 Software Engineering, 5th edition. Chapter 28 Slide 42

Key points

◆ Software development groups should be smalland cohesive.

◆ Group communications are affected by status,size, and organization of the group.

◆ The working environment has a significant effecton productivity.


Recommended