Ch22

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ch22 as PDF for free.

More details

  • Words: 3,504
  • Pages: 51
Managing people ●

Managing people working as  individuals and in groups

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 1

Objectives ●







To describe simple models of human cognition  and their relevance for software managers To explain the key issues that determine the  success or otherwise of team working To discuss the problems of selecting and retaining  technical staff To introduce the people capability maturity model  (P­CMM)

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 2

Topics covered ● ● ● ●

Limits to thinking Group working Choosing and keeping people The people capability maturity model

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 3

People in the process ●





People are an organisation’s most important  assets The tasks of a manager are essentially people  oriented. Unless there is some understanding  of people, management will be unsuccessful Software engineering is primarily a cognitive  activity. Cognitive limitations effectively limit the  software process

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 4

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) Organising (the way in which people work)

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 5

Limits to thinking ●

People don’t all think the same way but everyone  is subject to some basic constraints on their  thinking due to • • •



Memory organisation Knowledge representation Motivation influences

If we understand these constraints, we can  understand how they affect people participating in  the software process

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 6

rsenom F sS h o r t ­ e r m m e o y W o r k i n g   m e o r y L o n g ­ t e r m   e m o r y (L arge capciy,slw  aces)

Memory organisation

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 7

Short­term memory ● ● ●



Fast access, limited capacity 5­7 locations Holds 'chunks' of information where the size of  a chunk may vary depending on its familiarity Fast decay time

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 8

Working memory ● ●



Larger capacity, longer access time Memory area used to integrate information from  short­term memory and long­term memory. Relatively fast decay time.

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 9

Long­term memory ● ● ●



Slow access, very large capacity Unreliable retrieval mechanism Slow but finite decay time ­ information needs  reinforced Relatively high threshold ­ work has to be done  to get information into long­term memory.

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 10

Information transfer ●





Problem solving usually requires transfer  between short­term memory and working  memory Information may be lost or corrupted during this  transfer Information processing occurs in the transfer  from short­term to long­term memory 

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 11

L opC  (om ropceasre  aeudntjsiorcee nadrt eplya)rm t   o f a r y ) e n t s S w ap ifnecsary sotha sm aler com es first

Cognitive chunking

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 12

Knowledge modelling ●





Semantic knowledge  knowledge of concepts  such as the operation of assignment, concept  of parameter passing etc. Syntactic knowledge   knowledge of details of  a representation e.g. an Ada while loop. Semantic knowledge seems to be stored in a  structured, representation independent way.

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 13

Syntactic/semantic knowledge

C o m p u t e r   k n o w l e d g e T ask now ledgeSm yntaci know ledge antic knw ldg S

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 14

Knowledge acquisition ●

● ●

Semantic knowledge through experience and  active learning ­ the 'ah' factor Syntactic knowledge acquired by memorisation. New syntactic knowledge can interfere with  existing syntactic knowledge.  •

©Ian Sommerville 2000 

Problems arise for experienced programmers in mixing up  syntax of different programming languages

Software Engineering, 6th edition. Chapter 22

Slide 15

Semantic knowledge ●







Computing concepts ­ notion of a writable  store, iteration, concept of an object, etc. Task concepts ­ principally algorithmic ­ how to  tackle a particular task Software development ability is the ability to  integrate new knowledge with existing computer  and task knowledge and hence derive creative  problem solutions Thus, problem solving is language independent

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 16

Problem solving ●





Requires the integration of different types of  knowledge (computer, task, domain,  organisation) Development of a semantic model of the solution  and testing of this model against the problem Representation of this model in an appropriate  notation or programming language

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 17

resw to lkunioow P a lnlsedgeS P roblemN lW o torkiionng u m e y iL E songt­tegrm x  em ory

Problem solving

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 18

Motivation ●



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 • • •

©Ian Sommerville 2000 

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)

Software Engineering, 6th edition. Chapter 22

Slide 19

S e l f ­ realization edsE tP  hyS s e m n e d s csifoeilatylg niceald o s neds

Human needs hierarchy

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 20

Motivating people ● ●



Motivations depend on satisfying needs It can be assumed that physiological and safety  needs are satisfied Social, esteem and self­realization needs are  most significant from a managerial viewpoint

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 21

Need satisfaction ●

Social • •



Esteem • •



Provide communal facilities Allow informal communications Recognition of achievements Appropriate rewards

Self­realization • •

©Ian Sommerville 2000 

Training ­ people want to learn more Responsibility

Software Engineering, 6th edition. Chapter 22

Slide 22

Personality types ●



The needs hierarchy is almost certainly an over­ simplification Motivation should also take into account different  personality types: • • •

©Ian Sommerville 2000 

Task­oriented Self­oriented Interaction­oriented

Software Engineering, 6th edition. Chapter 22

Slide 23

Personality types ●

Task­oriented.   •



Self­oriented.  •



The motivation for doing the work is the work itself 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 •

©Ian Sommerville 2000 

The principal motivation is the presence and actions of  co­workers. People go to work because they like to go to  work

Software Engineering, 6th edition. Chapter 22

Slide 24

Motivation balance ●







Individual motivations are made up of elements  of each class 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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 25

Group working ●

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 •

©Ian Sommerville 2000 

Managers must do the best they can with available people

Software Engineering, 6th edition. Chapter 22

Slide 26

2 0 % N o n ­a r3 p o d u c t i v e c t i v t i e s 5 0 % I n t e r a c t i o n   w i t h o h   p e p l e 0 % W o rk in g  alo n e

Time distribution

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 27

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 Can be difficult to achieve because most  engineers are task­oriented Need for all members to be involved in decisions  which affect the group

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 28

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 A career path based on technical competence  should be supported

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 29

Group cohesiveness ●



In a cohesive group, members consider the group  to be more important than any individual in it Advantages of a cohesive group are: • • • •

©Ian Sommerville 2000 

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  other’s work Egoless programming where members strive to improve each  other’s programs can be practised

Software Engineering, 6th edition. Chapter 22

Slide 30

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 31

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 32

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 33

Group communications ●

Status of group members •



Personalities in groups •



Too many people of the same personality type can be a problem

Sexual composition of group •



Higher status members tend to dominate conversations

Mixed­sex groups tend to communicate better

Communication channels •

©Ian Sommerville 2000 

Communications channelled though a central coordinator tend  to be ineffective

Software Engineering, 6th edition. Chapter 22

Slide 34

Group organisation ●







Software engineering group sizes should be  relatively small (< 8 members) Break big projects down into multiple smaller  projects Small teams may be organised in an informal,  democratic way Chief programmer teams try to make the most  effective use of skills and experience

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 35

Democratic team organisation ●







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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 36

Extreme programming groups ●





Extreme programming groups are variants of  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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 37

S iA p tT ld e  om c a s p o l N u c l e u s   o f c h i e f   p r o g a m e r   t a m iO tS n s r a o r haim efrL B a c k u p lT iec shp.ecuathlhosrt progC m p r o g m e r i b r a i n O u t s i d e C o m n c a t i o n st pecialst

Chief programmer teams

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 38

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 39

Problems  ●



This chief programmer approach, in different  forms, has undoubtedly been successful However, it suffers from a number of problems • • • •

©Ian Sommerville 2000 

Talented designers and programmers are hard to find. Without  exception 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 High project risk as the project will fail if both the chief and  deputy programmer are unavailable Organisational structures and grades may be unable to  accommodate this type of group

Software Engineering, 6th edition. Chapter 22

Slide 40

Choosing and keeping people ●



Choosing people to work on a project is a major  managerial responsibility Appointment decisions are usually based on • • •



information provided by the candidate (their resumé or CV) information gained at an interview recommendations from other people who know the candidate

Some companies use psychological or aptitude  tests •

©Ian Sommerville 2000 

There is no agreement on whether or not these tests are actually  useful

Software Engineering, 6th edition. Chapter 22

Slide 41

Factor Application domain experience Platform experience Programming language experience Educational background

Communication ability Adaptability

Attitude

Personality

Explanation For  a project to develop a successful system, the developers must understand the application domain. May be significant if  low­level programming is involved. Otherwise, not usually a critical attribute. Normally only significant for short  duration projects where there is insufficient time to  learn a new language. May provide an indicator of the basic  fundamentals which the candidate should know and of  their ability to learn.  This factor becomes increasingly  irrelevant as engineers gain experience across a  range of projects. Very important because of the need for project staff to communicate  orally and in writing with other engineers, managers and customers.   Adaptability may be judged by looking at the different types of experience which candidates have had. This is an important attribute  as it indicates an ability to learn.   Project staff should  have a positive attitude to their work and should be willing to learn new skills. This is an important attribute but often very difficult  to assess. Again, an important attribute but  difficult to assess. Candidates must be reasonably compatible with other team  members. No particular type of personality is more or less suited to software engineering.

Staff selection  factors

Working environments ●

Physical workplace provision has an important  effect on individual productivity and satisfaction • • •



Comfort Privacy Facilities

Health and safety considerations must be taken  into account • • •

©Ian Sommerville 2000 

Lighting Heating Furniture

Software Engineering, 6th edition. Chapter 22

Slide 43

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 44

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 45

M e t i n g r o m W i n d o w fO O ificceeO O f i c e C o m u n a l a r e O f i c e fO ificceeO fO ificceedocuS rm h a entdion

Office layout

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 46

The People Capability Maturity Model ●



Intended as a framework for managing the  development of people involved in software  development Five stage model • • • • •

©Ian Sommerville 2000 

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 Software Engineering, 6th edition. Chapter 22

Slide 47

O p t i m z i n g C o n t u o s   w o r k f o r c e   i n o v a t i o n C o n t i u o s l y   i m p r o v e   m e t h o d s f r   d e v p n g e s n a l n a c h i n g g a s a t i a c t c P e r s a l C m p e t n y D e l p m e t M a n g e d iestam tw Q u a n a v e l y   m a n g e O r g a n i s t o n a l   P e r f o m a n c e   A l i g n m e n t o r g s o n a g r o w t h   i n a C p e t y M a k f o r c   p b i l s a d T e m ­ b e d r c t i s b l i h m e t n c y ­ b e a   B u i l n g s M n t o r n g D e f i n e d Icado elm ttgivpiew n fyo snp krcw ifm aeiotsh cry nd P a r t c p a t o r y   C u l t r e C o m e n c ­ b a s d   P a c t i e s e m   D v e l o p m n p t y   D e v l o p m n W o r k f o r c P a n i g K n w l e d g e d S k s   A a l y s i R e p a t b l e taoticrviklpf obn sw Id n arsesi cntoC o m n s i o n iC rS T a g P e f r a c e   M a n g e m n t t n o m u i t o W r k   e v r n m e n t In ital The People Capability Maturity Model

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

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 49

Key points ●





Managers must have some understanding of  human factors to avoid making unrealistic  demands on people Problem solving involves integrating information  from long­term memory with new information  from short­term memory Staff selection factors include education, domain  experience, adaptability and personality

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 50

Key points ●







Software development groups should be small  and cohesive Group communications are affected by status,  group size, group organisation and the sexual  composition of the group The working environment has a significant effect  on productivity The People Capability Maturity Model is a  framework for improving the capabilities of staff  in an organisation

©Ian Sommerville 2000 

Software Engineering, 6th edition. Chapter 22

Slide 51

Related Documents

Ch22
November 2019 7
Ch22
November 2019 5
Ch22
November 2019 2
Ch22
November 2019 2
Ch22
November 2019 2
Ch22-70-360
November 2019 5