Managing people
managing people working as indiviuals and in groups
people are an organizations most important assets
like herding cats
problem solving
Requires the integration of differnt types of knowledge
development of a model of the solution and testing of this model against the problem
representation of this model in an appropriate notation or programming language
Management activities
Problem solving
motivating
planning
estimating
controlling
organizing
Motivation
- Motivation is compleex issue but it appears that there 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. need to be accepted by group)
Human needs hierarchy
- esteem needs (What i do is what i like to do)
- social needs (being accepted within a company, and recognizing people)
- safety needs (have to have job security e.g. will i have this job in 1 year?)
- physiological needs ($ amounts)
(humans are run by 2 emotions, greed and fear)
x-axis part
Personality type
- the needs hiearchy is almost certainly an over simplifcation
3 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
(good team is not a lot of good players
Group working
most software engineering is a group activity
- the development schedule for most nontrival software projects is such that they cannot be completed by one person working alone
group interaction is a key determinate of group performance
Flexibility in group composition is limited
- managers must do the best they can with available people
(anytime you get upset with someone, just dont say anything for 5 minutes)
Group leadership
leadership depends on respect not title or status
there should be both a technical and a managerial leader
a career path based on technical competence should be supported
( in SWE its looked down uppon when you go from manager to developer )
Group comunication
- Essential to have good communication
- Information must be exchanged on the status of work, design decions and changes to previous decisions
- good communications also strengthens group cohesion as it promotes understanding
group organization
software engineering group size should be < 8 memebers
break big projects down into multiple smaller projects
small teams are more democratic
Chief programmer teams try to make the most effective use of skills and experiences
choosing & keeping people
appointment decisions are usually based on
- information provided by the candidate (their resume)
- information gained at an interview
- recommendations from other people who know the candidate
Some comapnies use psychological or aptitude test
- no agreement on whether or not these tests are actually useful
working enviornments
physical workplace provsions has an important effect on people
comfort
privacy
facilities
lighting heating
furnature
CML Capability Maturity model
- five stage model
- inital: ad-hoc people management
- repeatable: policies devleoped for cability improvement
- defined: standaridized people management across org.
- managed: quantitative goals for people
- optimized: contiuous focus on improving individual competence and workforce motivation