Title: Team Management in Software Engineering
1Team Management in Software Engineering
2Overview of Presentation
- Team Selection
- Team Structure
- Team Motivation
3(No Transcript)
4 Team Selection Overview
- Importance of member selection
- Characteristics of potential members
- Measuring member characteristics
5Importance of Member Selection Case Study Xerox
CP6
- Data gathered over 12 years
- Same training, tools, and methodology for all
- Productivity measured by bugs fixed in software
- Top 27 of programmers did 78 of the work
From Not all Programmers are Created Equal by
G. Edward Bryan
6What are the Important Characteristics of
Selecting an Employee?
7Factors Governing Member Selection
- Application Domain Knowledge
- Platform Experience
- Programming Language Experience
- Education
- Communication
- Adaptability
- Attitude
- Personality
From Software Engineering by Ian Somerville
8Measuring Staff Characteristics
- Resources Available to Project Managers
- Interviews
- Resume
- Recommendation
- Programming aptitude tests
- Psychological Tests
9Importance
10Picture from www.bongonews.com
11Why Interviews Not Effective
- Interviewees will say what you want to hear
-
- Interviewees prepare for questions
- Interviewers dont get good feed back on
decisions
12Interviews and bias
- Different interviewers different results
- Good impression interviewer talks more /better
- Previous Candidates affect outcome
- bad first impression less credit
- Bad is noticed more than good
- First impressions are important decided in
first 4 minutes
How to Pick Eagles by Robert Zawacki
13Ways to improve Interview Objectivity
- Use multiple interviewers
- Ask each candidate the same questions
- Try to relax candidates
- No desk between
- Start with interviewees interests
14Problems with Resumes
- Entries may be misleading
- Fail to capture intangibles
- Must be used along with other methods
15Problems With Recommendations
- People say things to be nice
- People may be politically motivated
- Checking recommendations takes a lot of time
- Only use recommendations for few candidates
- Take recommendations with a grain of salt
16Problems with Testing
- Test questions often answered in a time limited
manner - Problem solving with large time segments does not
map directly to this type of testing
17Team Structure
- Why team structure is important
- Types of team structures
- Advantages and disadvantages of team structures
18How much of programming is teamwork?
19Why Team Structure is Important
Figure 28.7 from Software Engineering 5th Edition
by Ian Sommerville
20General Team Structure
- Hierarchal Functional Organization
- Vertical Organization
- Matrix Organization
Organizational alternatives to project managers
by Robert Youker
21Hierarchal Functional Organization
- Standard pyramid with management at the top
- Strength lumps similar recourses together
- Weakness
- there can be conflicts for time between projects
for resources - Resources do not see big picture
22Vertical Organization
- Each Project its own organization
- Strengths-
- Ability to see the big picture and focus on
projects - Weaknesses-
- Organization is temporary and causes turmoil
- Facilities are duplicated
23Matrix Organization
- Combines the two structures so there is a
functional boss and a project coordinator - Strengths-
- Can see big picture and employees have security
- Weaknesses-
- Each employee has two bosses
24When to Choose What
- Choose functional structure when there are many
small short term projects - Choose project structure for large long-term
projects - For a mix of projects of unknown length use the
Matrix Structure
25Programming Team Structure
- Egoless Programming
- Chief Programming
26Egoless Programming
- All programmers on one level
- Decisions are made by consensus
- Advantages
- Free flow of information between all programmers
- Generally better solutions to hard problems
- Disadvantages
- Communication takes more time
- Personality conflicts a major issue
- Groupthink
27Chief Programming
- The chief guides the project and makes all
decisions but consults with specialists - Advantages
- Fewer personality conflict
- Faster decisions
- Disadvantages-
- Chief can get overloaded with information and
make incorrect decisions
28When to Choose What?
- Choose Chief programmer when the project is
- Large
- Has a tight schedule
- Not many new technical challenges
- Choose egoless programming
- When the schedule is loose
- Groups are small
- Many technical challenges
29(No Transcript)
30Motivation Overview
- Basics of Motivation
- Personality and Motivation
- A shared vision
31Basics of Motivation
- Most often bottom two needs are satisfied
- So people motivated mostly by social and self
esteem needs - Only takes into account individual motivation
Maslows model of needs (1954)
32Personality and Motivation
- Social needs Allow time to meet co-workers
- Self esteem needs Recognize value to the
organization - Self Realization needs allow people direction in
choosing their own work, and make the work
interesting
33Three Types of Professionals
- Task-Oriented
- Motivated by the intellectual challenge of the
work - Self-Oriented
- Motivated by personnel success and recognition
- Interaction-Oriented
- Motivated by coworkers
34A Shared Vision
- Mckinsey Company Survey of 43 top performing
fortune 500 companies found a shared vision
common to all of them - Must know goal
- Team understand this goal
- Team must buy in team verbally or otherwise
commits to goal
35Case Study The Soul of a New Machine
- During the interview told the interviewee about
the project to build a completely new computer
system from the ground up - Warned the recruit that the project is difficult
and get them to say that they want in - Raise the interviewees self esteem
- Said they only let the best in then let them in
- Communicated the Goal/ Reason for goal
- Got Buy in
- Added to motivation by invoking self esteem
36Example Vision Phrases and Goals
- Phrase The best coverage of local sports on
CABL - Goal most coverage of sports games
- Phrase Sports are Better on CABL
- Goal technical excellence in broadcasting
37Personal Experience with Shared Vision
38Overview
- Team selection
- Aspects used to pick team members
- Measuring these aspects
- Team Structure
- Why team structure is important
- Advantages and disadvantages of different team
structures - Team Motivation
- Why team structure is important
- Advantages and disadvantages of different team
structures
39Sources
- Bryan, G.E. Not all Programmers are Created
Equal UCirv-95-PROC-CSS-06 - Zawacki, Robert, How to Pick Eagles DATAMATION
Magzin, Sept 15, 1985 pp 115-116 - Yoker, Robert, Organizational alternatives for
project managers Project Management Quartery,
Vol VIII, No. 1 March 1977 - Sommerville, Ian Software Engineering 5th Edition
- Thayer, Richard Software Engineering Project
Management - Curtis, Bill Human Factors in Software
Development