550 likes | 1.06k Views
Team Management in Software Engineering. Jennifer Weingarten. Overview of Presentation. Team Selection Team Structure Team Motivation. Team Selection Overview. Importance of member selection Characteristics of potential members Measuring member characteristics.
E N D
Team Management in Software Engineering Jennifer Weingarten
Overview of Presentation • Team Selection • Team Structure • Team Motivation
Team Selection Overview • Importance of member selection • Characteristics of potential members • Measuring member characteristics
Importance 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
What are the Important Characteristics of Selecting an Employee?
Factors Governing Member Selection • 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 • Interviews • Resume • Recommendation • Programming aptitude tests • Psychological Tests
Why Interviews Not Effective • Interviewees will say what you want to hear • Interviewees prepare for questions • Interviewers don’t get good feed back on decisions
Interviews 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
Ways to improve Interview Objectivity • Use multiple interviewers • Ask each candidate the same questions • Try to relax candidates • No desk between • Start with interviewees interests
Problems with Resumes • Entries may be misleading • Fail to capture intangibles Must be used along with other methods
Problems 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
Problems 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
Team Structure • Why team structure is important • Types of team structures • Advantages and disadvantages of team structures
Why Team Structure is Important Figure 28.7 from Software Engineering 5th Edition by Ian Sommerville
General Team Structure • Hierarchal Functional Organization • Vertical Organization • Matrix Organization “Organizational alternatives to project managers” by Robert Youker
Hierarchal 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
Vertical 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
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 Weaknesses- Each employee has two bosses
When 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
Programming Team Structure • Egoless Programming • Chief Programming
Egoless 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
Chief 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
When 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
Motivation Overview • Basics of Motivation • Personality and Motivation • A shared vision
Basics 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 Maslow’s model of needs (1954)
Personality 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
Three 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
A 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
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 Case Study: The Soul of a New Machine
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
Overview • 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
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 5th Edition Thayer, Richard Software Engineering Project Management Curtis, Bill Human Factors in Software Development