Team Management in Software Engineering Jennifer Weingarten Overview

  • Slides: 39
Download presentation
Team Management in Software Engineering Jennifer Weingarten

Team Management in Software Engineering Jennifer Weingarten

Overview of Presentation n Team Selection n Team Structure n Team Motivation

Overview of Presentation n Team Selection n Team Structure n Team Motivation

Team Selection Overview n Importance of member selection n Characteristics of potential members n

Team Selection Overview n Importance of member selection n Characteristics of potential members n Measuring member characteristics

Importance of Member Selection: Case Study Xerox CP 6 n Data gathered over 12

Importance of Member Selection: Case Study Xerox CP 6 n Data gathered over 12 years n Same training, tools, and methodology for all n n 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

What are the Important Characteristics of Selecting an Employee?

What are the Important Characteristics of Selecting an Employee?

Factors Governing Member Selection n n n n Application Domain Knowledge Platform Experience Programming

Factors Governing Member Selection n n n n Application Domain Knowledge Platform Experience Programming Language Experience Education Communication Adaptability Attitude Personality From Software Engineering by Ian Somerville

Measuring Staff Characteristics Resources Available to Project Managers n n n Interviews Resume Recommendation

Measuring Staff Characteristics Resources Available to Project Managers n n n Interviews Resume Recommendation Programming aptitude tests Psychological Tests

Importance Criteria When Important Where indicated How Easy to Tell Application Domain Knowledge Always

Importance Criteria When Important Where indicated How Easy to Tell Application Domain Knowledge Always (I disagree High Requirements Input) Resume Easy Platform Experience Project is Low-level Resume Easy Programming Language Experience Small Project Length Resume /Tests/ Interview Easy Education Low Experience Resume Easy Communication Always Important Interview/ Recommendations Medium Adaptability Always Important Interview/ Resume Hard Attitude Always Important Interview/ Recommendations Hard Personality Always Important Hard

Picture from www. bongonews. com

Picture from www. bongonews. com

Why Interviews Not Effective n Interviewees will say what you want to hear n

Why Interviews Not Effective n Interviewees will say what you want to hear n Interviewees prepare for questions n Interviewers don’t get good feed back on decisions

Interviews and bias n n n Different interviewers = different results Good impression =

Interviews and bias n n n 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

Ways to improve Interview Objectivity n n n Use multiple interviewers Ask each candidate

Ways to improve Interview Objectivity n n n Use multiple interviewers Ask each candidate the same questions Try to relax candidates n n No desk between Start with interviewees interests

Problems with Resumes n n Entries may be misleading Fail to capture intangibles Must

Problems with Resumes n n Entries may be misleading Fail to capture intangibles Must be used along with other methods

Problems With Recommendations n n n People say things to be nice People may

Problems With Recommendations n n n 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

Problems with Testing n n Test questions often answered in a time limited manner

Problems with Testing n n Test questions often answered in a time limited manner Problem solving with large time segments does not map directly to this type of testing

Team Structure n n n Why team structure is important Types of team structures

Team Structure n n n Why team structure is important Types of team structures Advantages and disadvantages of team structures

How much of programming is teamwork?

How much of programming is teamwork?

Why Team Structure is Important Figure 28. 7 from Software Engineering 5 th Edition

Why Team Structure is Important Figure 28. 7 from Software Engineering 5 th Edition by Ian Sommerville

General Team Structure n n n Hierarchal Functional Organization Vertical Organization Matrix Organization “Organizational

General Team Structure n n n Hierarchal Functional Organization Vertical Organization Matrix Organization “Organizational alternatives to project managers” by Robert Youker

Hierarchal Functional Organization n Standard pyramid with management at the top Strength – lumps

Hierarchal Functional Organization n Standard pyramid with management at the top Strength – lumps similar recourses together Weakness – n n there can be conflicts for time between projects for resources Resources do not see big picture

Vertical Organization Each Project its own organization Strengthsn Ability to see the big picture

Vertical Organization Each Project its own organization Strengthsn Ability to see the big picture and focus on projects Weaknessesn Organization is temporary and causes turmoil n Facilities are duplicated

Matrix Organization Combines the two structures so there is a functional boss and a

Matrix Organization Combines the two structures so there is a functional boss and a project coordinator Strengths. Can see big picture and employees have security n Weaknesses. Each employee has two bosses

When to Choose What n n n Choose functional structure when there are many

When to Choose What n n n 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

Programming Team Structure n n Egoless Programming Chief Programming

Programming Team Structure n n Egoless Programming Chief Programming

Egoless Programming All programmers on one level Decisions are made by consensus Advantages n

Egoless Programming All programmers on one level Decisions are made by consensus Advantages n Free flow of information between all programmers n Generally better solutions to hard problems Disadvantages n Communication takes more time n Personality conflicts a major issue n Groupthink

Chief Programming n The chief guides the project and makes all decisions but consults

Chief Programming n The chief guides the project and makes all decisions but consults with specialists Advantages – n Fewer personality conflict n Faster decisions Disadvantagesn Chief can get overloaded with information and make incorrect decisions

When to Choose What? n Choose Chief programmer when the project is n n

When to Choose What? n Choose Chief programmer when the project is n n Large Has a tight schedule Not many new technical challenges Choose egoless programming n n n When the schedule is loose Groups are small Many technical challenges

Motivation Overview n Basics of Motivation n Personality and Motivation n A shared vision

Motivation Overview n Basics of Motivation n Personality and Motivation n A shared vision

Basics of Motivation n Most often bottom two needs are satisfied So people motivated

Basics of Motivation n Most often bottom two needs are satisfied So people motivated mostly by social and self esteem needs Only takes into account individual motivation Maslow’s model of needs (1954)

Personality and Motivation n Social needs: Allow time to meet co-workers Self esteem needs:

Personality and Motivation n 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

Three Types of Professionals n Task-Oriented Motivated by the intellectual challenge of the work

Three Types of Professionals n Task-Oriented Motivated by the intellectual challenge of the work n n Self-Oriented Motivated by personnel success and recognition Interaction-Oriented Motivated by coworkers

A Shared Vision n n Mckinsey & Company Survey of 43 top performing fortune

A Shared Vision n n 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

Case Study: The Soul of a New Machine n During the interview told the

Case Study: The Soul of a New Machine n During the interview told the Communicated the Goal/ interviewee about the Reason for goal: 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 n Said they only let the best in – then let them in n Got Buy in Added to motivation by invoking self esteem

Example Vision Phrases and Goals Phrase: “The best coverage of local sports on CABL”

Example 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

Personal Experience with Shared Vision

Personal Experience with Shared Vision

Overview n Team selection n Team Structure n n n Aspects used to pick

Overview n Team selection n Team Structure n n n Aspects used to pick team members Measuring these aspects Why team structure is important Advantages and disadvantages of different team structures Team Motivation n n Why team structure is important Advantages and disadvantages of different team structures

Sources Bryan, G. E. “Not all Programmers are Created Equal” UCirv-95 -PROC-CSS-06 Zawacki, Robert,

Sources 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 5 th Edition Thayer, Richard Software Engineering Project Management Curtis, Bill Human Factors in Software Development