Team Management in Software Engineering Jennifer Weingarten Overview







































- Slides: 39
Team Management in Software Engineering Jennifer Weingarten
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 Measuring member characteristics
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?
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 Programming aptitude tests Psychological Tests
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
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 = 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 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 be used along with other methods
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 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 Advantages and disadvantages of team structures
How much of programming is teamwork?
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 alternatives to project managers” by Robert Youker
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 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 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 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
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 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 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
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: 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 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 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 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” Goal: most coverage of sports games Phrase: “Sports are Better on CABL” Goal: technical excellence in broadcasting
Personal Experience with Shared Vision
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, “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