Upload
samuel90
View
995
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
Team Management in Team Management in Software EngineeringSoftware Engineering
Jennifer WeingartenJennifer Weingarten
Overview of PresentationOverview of Presentation
Team SelectionTeam Selection
Team StructureTeam Structure
Team MotivationTeam Motivation
Team Selection OverviewTeam Selection Overview
Importance of member selectionImportance of member selection
Characteristics of potential membersCharacteristics of potential members
Measuring member characteristicsMeasuring member characteristics
Importance of Member Selection: Importance of Member Selection: Case Study Xerox CP6Case Study Xerox CP6
Data gathered over 12 yearsData gathered over 12 years
Same training, tools, and methodology for allSame training, tools, and methodology for all
Productivity measured by bugs fixed in Productivity measured by bugs fixed in softwaresoftware
Top 27% of programmers did 78% of the workTop 27% of programmers did 78% of the work
From “Not all Programmers are Created Equal” by G. Edward Bryan
What are the Important What are the Important Characteristics of Selecting an Characteristics of Selecting an
Employee?Employee?
Factors Governing Member Factors Governing Member SelectionSelection
Application Domain KnowledgeApplication Domain Knowledge Platform ExperiencePlatform Experience Programming Language ExperienceProgramming Language Experience EducationEducation CommunicationCommunication AdaptabilityAdaptability AttitudeAttitude PersonalityPersonality
From Software Engineering by Ian Somerville
Measuring Staff CharacteristicsMeasuring Staff Characteristics
Resources Available to Project ManagersResources Available to Project Managers
InterviewsInterviews ResumeResume RecommendationRecommendation Programming aptitude testsProgramming aptitude tests Psychological TestsPsychological Tests
ImportanceImportanceCriteriaCriteria When ImportantWhen Important Where indicatedWhere indicated How Easy to How Easy to
TellTell
Application Domain Application Domain KnowledgeKnowledge
Always Always
(I disagree High (I disagree High Requirements Input)Requirements Input)
Resume Resume EasyEasy
Platform ExperiencePlatform Experience Project is Low-levelProject is Low-level Resume Resume EasyEasy
Programming Programming Language ExperienceLanguage Experience
Small Project Length Small Project Length Resume /Tests/ Resume /Tests/ InterviewInterview
EasyEasy
EducationEducation Low Experience Low Experience Resume Resume EasyEasy
CommunicationCommunication Always Important Always Important Interview/ Interview/ Recommendations Recommendations
MediumMedium
AdaptabilityAdaptability Always ImportantAlways Important Interview/ ResumeInterview/ Resume Hard Hard
AttitudeAttitude Always ImportantAlways Important Interview/ Interview/ RecommendationsRecommendations
Hard Hard
PersonalityPersonality Always ImportantAlways Important HardHard
Picture from www.bongonews.com
Why Interviews Not EffectiveWhy Interviews Not Effective
Interviewees will say what you want to hearInterviewees will say what you want to hear
Interviewees prepare for questionsInterviewees prepare for questions
Interviewers don’t get good feed back on Interviewers don’t get good feed back on decisionsdecisions
Interviews and biasInterviews and bias
Different interviewers = different resultsDifferent interviewers = different results Good impression = interviewer talks more /betterGood impression = interviewer talks more /better Previous Candidates affect outcomePrevious Candidates affect outcome bad first impression = less creditbad first impression = less credit Bad is noticed more than goodBad is noticed more than good First impressions are important – decided in first 4 First impressions are important – decided in first 4
minutesminutes
“How to Pick Eagles” by Robert Zawacki
Ways to improve Interview Ways to improve Interview ObjectivityObjectivity
Use multiple interviewersUse multiple interviewers Ask each candidate the same questionsAsk each candidate the same questions Try to relax candidatesTry to relax candidates
No desk betweenNo desk between Start with interviewees interestsStart with interviewees interests
Problems with ResumesProblems with Resumes
Entries may be misleadingEntries may be misleading Fail to capture intangiblesFail to capture intangibles
Must be used along with other methodsMust be used along with other methods
Problems With RecommendationsProblems With Recommendations
People say things to be nicePeople say things to be nice People may be politically motivatedPeople may be politically motivated Checking recommendations takes a lot of timeChecking recommendations takes a lot of time
Only use recommendations for few candidatesOnly use recommendations for few candidates Take recommendations with a grain of saltTake recommendations with a grain of salt
Problems with TestingProblems with Testing
Test questions often answered in a time Test questions often answered in a time limited mannerlimited manner
Problem solving with large time segments Problem solving with large time segments does not map directly to this type of testingdoes not map directly to this type of testing
Team StructureTeam Structure
Why team structure is importantWhy team structure is important Types of team structuresTypes of team structures Advantages and disadvantages of team Advantages and disadvantages of team
structuresstructures
How much of programming How much of programming is teamwork?is teamwork?
Why Team Structure is ImportantWhy Team Structure is Important
Figure 28.7 from Software Engineering 5th Edition by Ian Sommerville
General Team StructureGeneral Team Structure
Hierarchal Functional OrganizationHierarchal Functional Organization Vertical OrganizationVertical Organization Matrix OrganizationMatrix Organization
“Organizational alternatives to project managers” by Robert Youker
Hierarchal Functional OrganizationHierarchal Functional Organization
Standard pyramid with management at the topStandard pyramid with management at the top Strength – lumps similar recourses togetherStrength – lumps similar recourses together Weakness – Weakness –
there can be conflicts for time between projects for there can be conflicts for time between projects for resources resources
Resources do not see big picture Resources do not see big picture
Vertical OrganizationVertical Organization
Each Project its own organizationEach Project its own organization
Strengths-Strengths- Ability to see the big picture and focus on Ability to see the big picture and focus on
projectsprojects
Weaknesses-Weaknesses- Organization is temporary and causes turmoilOrganization is temporary and causes turmoil Facilities are duplicated Facilities are duplicated
Matrix OrganizationMatrix Organization
Combines the two structures so there is a Combines the two structures so there is a functional boss and a project coordinatorfunctional boss and a project coordinator
Strengths-Strengths-
Can see big picture and employees have securityCan see big picture and employees have security
Weaknesses-Weaknesses-
Each employee has two bossesEach employee has two bosses
When to Choose WhatWhen to Choose What
Choose functional structure when there are Choose functional structure when there are many small short term projectsmany small short term projects
Choose project structure for large long-term Choose project structure for large long-term projectsprojects
For a mix of projects of unknown length use For a mix of projects of unknown length use the Matrix Structurethe Matrix Structure
Programming Team StructureProgramming Team Structure
Egoless ProgrammingEgoless Programming Chief ProgrammingChief Programming
Egoless ProgrammingEgoless Programming
All programmers on one levelAll programmers on one levelDecisions are made by consensusDecisions are made by consensus
AdvantagesAdvantages Free flow of information between all programmersFree flow of information between all programmers Generally better solutions to hard problemsGenerally better solutions to hard problems
DisadvantagesDisadvantages Communication takes more timeCommunication takes more time Personality conflicts a major issuePersonality conflicts a major issue GroupthinkGroupthink
Chief ProgrammingChief Programming
The chief guides the project and makes all decisions The chief guides the project and makes all decisions but consults with specialistsbut consults with specialists
Advantages –Advantages – Fewer personality conflictFewer personality conflict Faster decisionsFaster decisions
Disadvantages-Disadvantages- Chief can get overloaded with information and make Chief can get overloaded with information and make
incorrect decisionsincorrect decisions
When to Choose What?When to Choose What?
Choose Chief programmer when the project isChoose Chief programmer when the project is LargeLarge Has a tight scheduleHas a tight schedule Not many new technical challengesNot many new technical challenges
Choose egoless programmingChoose egoless programming When the schedule is loose When the schedule is loose Groups are smallGroups are small Many technical challengesMany technical challenges
Motivation OverviewMotivation Overview
Basics of MotivationBasics of Motivation
Personality and MotivationPersonality and Motivation
A shared visionA shared vision
Basics of MotivationBasics of Motivation
Most often bottom two Most often bottom two needs are satisfied needs are satisfied
So people motivated So people motivated mostly by social and mostly by social and self esteem needsself esteem needs
Only takes into account Only takes into account individual motivationindividual motivation
Maslow’s model of needs (1954)
Personality and MotivationPersonality and Motivation
Social needs: Allow time to meet co-workersSocial needs: Allow time to meet co-workers Self esteem needs: Recognize value to the Self esteem needs: Recognize value to the
organizationorganization Self Realization needs: allow people direction Self Realization needs: allow people direction
in choosing their own work, and make the in choosing their own work, and make the work interestingwork interesting
Three Types of ProfessionalsThree Types of Professionals
Task-OrientedTask-OrientedMotivated by the intellectual challenge of the workMotivated by the intellectual challenge of the work
Self-OrientedSelf-Oriented
Motivated by personnel success and Motivated by personnel success and recognitionrecognition
Interaction-OrientedInteraction-OrientedMotivated by coworkersMotivated by coworkers
A Shared VisionA Shared Vision
Mckinsey & Company Survey of 43 top Mckinsey & Company Survey of 43 top performing fortune 500 companies found a performing fortune 500 companies found a shared vision common to all of them shared vision common to all of them
Must know goalMust know goal Team understand this goalTeam understand this goal Team must buy in –team verbally or otherwise Team must buy in –team verbally or otherwise
commits to goalcommits to goal
Case Study: The Soul of a New Case Study: The Soul of a New MachineMachine
During the interview told During the interview told the interviewee about the the interviewee about the project to build a completely project to build a completely new computer system from new computer system from the ground upthe ground up
Warned the recruit that the Warned the recruit that the project is difficult and get project is difficult and get them to say that they want them to say that they want inin
Raise the interviewees self Raise the interviewees self esteemesteem
Said they only let the best in Said they only let the best in – then let them in– then let them in
Communicated the Goal/ Communicated the Goal/ Reason for goal:Reason for goal:
Got Buy inGot Buy in
Added to motivation by Added to motivation by invoking self esteeminvoking self esteem
Example Vision Phrases and GoalsExample Vision Phrases and Goals
Phrase: “The best coverage of local sports on Phrase: “The best coverage of local sports on CABL”CABL”
Goal: most coverage of sports gamesGoal: most coverage of sports games
Phrase: “Sports are Better on CABL”Phrase: “Sports are Better on CABL”
Goal: technical excellence in broadcastingGoal: technical excellence in broadcasting
Personal Experience with Shared Personal Experience with Shared VisionVision
OverviewOverview
Team selectionTeam selection Aspects used to pick team membersAspects used to pick team members Measuring these aspectsMeasuring these aspects
Team StructureTeam Structure Why team structure is importantWhy team structure is important Advantages and disadvantages of different team structuresAdvantages and disadvantages of different team structures
Team MotivationTeam Motivation Why team structure is importantWhy team structure is important Advantages and disadvantages of different team structuresAdvantages and disadvantages of different team structures
SourcesSources
Bryan, G.E. “Not all Programmers are Created Equal” Bryan, G.E. “Not all Programmers are Created Equal” UCirv-95-PROC-CSS-06UCirv-95-PROC-CSS-06
Zawacki, Robert, “How to Pick Eagles” Zawacki, Robert, “How to Pick Eagles” DATAMATION Magzin, Sept 15, 1985 pp 115-116DATAMATION Magzin, Sept 15, 1985 pp 115-116
Yoker, Robert, “Organizational alternatives for project Yoker, Robert, “Organizational alternatives for project managers” Project Management Quartery, Vol VIII, managers” Project Management Quartery, Vol VIII, No. 1 March 1977No. 1 March 1977
Sommerville, Ian Sommerville, Ian Software Engineering 5Software Engineering 5thth Edition Edition Thayer, Richard Thayer, Richard Software Engineering Project Software Engineering Project
ManagementManagement Curtis, Bill Curtis, Bill Human Factors in Software Development Human Factors in Software Development