Working in Teams January 12, 2011 CSE 403, Winter 2011, Brun.

Slides:



Advertisements
Similar presentations
The Wisdom Of Teams. Definition: * A team is a small number of people with complementary skills who are committed to a common purpose, performance goals,
Advertisements

Twelve Cs for Team Building
Robert Youker Wisdom of Teams Katzenbach & Smith Key Points Book Review by Robert Youker Key Points Book Review by Robert Youker For details of this book.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION VERSION CONTROL UW Autumn 2011.
Chapter 13 Teams and Teamwork
The Human Side of Project Management
Introduction to Team Building Presented by Margo Elliott Momentum Performance Solutions 6 September 2001.
Lecture 2b: Software Project Management CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
TOGETHER EVERYONE ACHIEVES MORE
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Coaching for Superior Employee Performance Techniques for Supervisors.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
By: Taylor Helsper.  Introduction  Bug Tracking  Progress Tracking  Version Control  Conclusion  Questions.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Develop your Leadership skills
EICCD Logistics & Supply Chain Management Program
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Introduction to Version Control
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Working in Groups Decision-making processes. Why work in a group? Working in groups is a vital part of every job Groups are more productive than individuals.
Leading Change. THE ROLE OF POLICY IN CHANGE Leading Change – The Role of Policy Drift to Quantitative Compliance- Behavior will focus on whatever is.
Object-Oriented Software Engineering Using UNIX groups and Subversion Estimated Time: minutes “Unix is user-friendly. It's just very selective about.
Pragmatic Programmer Ch. 8.41
Week 2 MondayTuesdayWednesdayThursdayFriday Requirements … Group meetings – let your group TA know where you meet Team work and structure SRS information.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
How to Supervise People Discussion Session # 39. PEOPLE AND RELATIONSHIPS 1.They develop high morale and enthusiasm among their employees. 2.They know.
Welcome to AB140 Effective Teams Michael B. McKenna.
Version Control.
Teams Dale W. Bomberger D.ED. ACSW Community Services Group
KarcUlrYm nig karpþl;GMNacdl;nieyaCit Employee Involvement and Empowerment emero nTI5.
© Mujtaba, 2007 Workforce Diversity Management Dr. Bahaudin G. Mujtaba.
CSE 403, Spring 2007, Alverson Software Development Teams Talent wins games, but teamwork and intelligence wins championships. Michael Jordan With some.
Team dynamics CSE Team pros and cons Benefits – Attack bigger problems in a short period of time – Utilize the collective experience of everyone.
Teamwork Goal 4.01: Demonstrate characteristics of effective leadership.
CSE 403 Lecture 9 Project teams. Why teams? Team size Bigger is better Smaller is better.
 Management ◦ The activities and tasks undertaken by one or more persons for the purpose of planning and controlling the activities of other in order.
UNIT A LEADERSHIP AND SUPERVISION 2.01 Recognize the four functions of management.
CSE 403 Lecture 5 Working in Teams Reading: Rapid Development Ch. 13, Pragmatic Programmer Ch slides created by Marty Stepp
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
05 Jul 2006CSE403, Summer'06, Lecture07 Administrivia Informal feedback meetings with LCO groups FantasySportsLeague: still to come today Individual assignment.
Southwest Airlines believes that satisfied, happy employees are essential for successful businesses. Bell Ringer What are the advantages of a company having.
Delegation Skills. Objective Explain What is Delegation Explain Why People Do Not Delegate Describe the Benefits of Delegating List What Tasks Should.
1 MSTE Visual SourceSafe For more information, see:
Version Control System Lisa Palathingal 03/04/2015.
© BLR ® —Business & Legal Resources 1408 Motivating Employees Tips and Tactics for Supervisors.
Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student Connect->Classroom 1.
A Leader’s Attitude Elisabeth thinks highly of her organization and team members. She is so enthusiastic, and solutions-oriented, that everyone enjoys.
Version Control System
Learning Objectives Consider a common attribute of organizations that achieve their Vision and Strategy Discuss the development and use of a Physician.
21 st Century Principals Institute Copy March 2009.
1 CSE 403 Team Dynamics Reading: Rapid Development Ch. 13, Pragmatic Programmer Ch These lecture slides are copyright (C) Marty Stepp, 2007, with.
Organizational Behavior: An Experiential Approach 7/E Joyce S. Osland, David A. Kolb, and Irwin M. Rubin 1 ©20 01 by Prentice Hall, Inc. Chapter 9.
Project Management Why do projects fail? Technical Reasons
CLASS OUTLINE MONDAY 16 MARCH 09 COLLECT CASE STUDY -  DO CASE STUDY - TEAMWORK CASE STUDY HOME WORK.
Chapter Thirteen Groups & Teams: From Conflict to Cooperation.
Chapter 11 Management Skills1 Section 11.1 Management Structures.
The Leadership Development Series Sponsored by Student Activities.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
The Denison Organizational Culture Model & Link to Performance
Nicole Cummings Human Resources Manager Cakebread Cellars
CSE 403 Lecture 7 Motivation.
Source Code Management
Lecture 06: Team Environment Issues
CSE 403 Lecture 3 Teams and Software.
CSE 331 Working in Teams slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia
Study Question 1: How do teams contribute to organizations?
Principles of Business, Marketing, and Finance
Lecture 07: Team Environment Issues (Part I)
Presentation transcript:

Working in Teams January 12, 2011 CSE 403, Winter 2011, Brun

Lecture outline Why is teamwork hard? Not getting into each other’s way Positive teamwork

Team pros and cons Benefits – Attack bigger problems in a short period of time – Utilize the collective experience of everyone Risks – Communication and coordination issues – Groupthink: diffusion of responsibility; going along – Working by inertia; not planning ahead – Conflict or mistrust between team members

Communication: powerful but costly! Communication requirements increase with increasing numbers of people Everybody to everybody: quadratic cost Every attempt to communicate is a chance to miscommunicate But not communicating will guarantee miscommunication

What about conflicts? Two people want to work on the same file – Google docs lets you do that But… What about same line? What about timing? What about design decisions? What can cause conflicts?

Version control Version control aims to allow multiple people to work in parallel.

Centralized version control (old model) Examples: Concurrent Versions System (CVS) Subversion (SVN) Master Repository Yuriy’s laptop checkout Yuriy’s desktop checkout Hao’s checkout Bilge’s checkout Gail’s checkout

Doing work I update my checkout (working copy) I edit I update my checkout again I merge changes if necessary I commit my changes to the Master Master Repository Yuriy’s laptop checkout Yuriy’s desktop checkout Hao’s checkout Bilge’s checkout Gail’s checkout

Problems with centralized VC What if I don’t have a network connection? What if I am implementing a big change? What if I want to explore project history later?

Distributed version control (new model) Examples: Mercurial (Hg), Git, Bazaar, Darcs, … Local operations are fast (and possible) History is more accurate Merging algorithms are far better

Distributed version control model Master Repository Yuriy’s laptop checkout Yuriy’s desktop checkout Hao’s checkout Bilge’s checkout Gail’s checkout Gail’s Repository Bilge’s Repository Hao’s Repository Yuriy’s Laptop Repository Yuriy’s Desktop Repository

Doing work I pull from the Master I update my checkout I edit I commit I pull from the Master I merge tips if necessary and commit again I push my changes to the Master Master Repository Yuriy’s desktop checkout Yuriy’s Desktop Repository

History view (log) Bill and Melinda work at the same time At the end, all repositories have the same, rich history

What VC does the cloud provide? code.google.com has SVN and Hg code.google.com bitbucket.org has Hg bitbucket.org github.com has git github.com sourceforge.net has SVN, CVS, git, Hg, Bazaar sourceforge.net You can run whatever you want of UW servers

Predicting conflicts Even with version control, there are still costly conflicts

Crystal conflict predictor Crystal is a research tool that predicts conflicts

What to do to use Crystal You must use Hg Crystal is under development I <3 feedback There will be a survey

Lecture outline Why is teamwork hard? Not getting into each other’s way  Positive teamwork

Team structures Tricky balance among – progress on the project/product – expertise and knowledge – communication needs “A team is a set of people with complementary skills who are committed to a common purpose, performance goals, and approach for which they hold themselves mutually accountable.” – Katzenbach and Smith

Common SW team responsibilities Project management Functional management Developers: programmers, testers, integrators Lead developer/architect (“tech lead”) These could be all different team members, or some members could span multiple roles. Key: Identify and stress roles and responsibilities

Issues affecting team success Presence of a shared mission and goals Motivation and commitment of team members Experience level – and presence of experienced members Team size – and the need for bounded yet sufficient communication Team organization – and results-driven structure Reward structure within the team – incentives, enjoyment, empowerment (ownership, autonomy)

Dominion model – Pros clear chain of responsibility people are used to it – Cons: single point of failure at the commander less or no sense of ownership by everyone Communion model – Pros a community of leaders, each in his/her own domain inherent sense of ownership – Cons people aren't used to it (and this scares them) Team structure models

Team leadership Who makes the important product-wide decisions in your team? – One person? – All, by unanimous consent? – Other options?... – Is this an unspoken or an explicit agreement among team members?

Surgical/Chief Programmer Team [Baker, Mills, Brooks] Chief: all key decisionsCopilot: chief’s assistant Administrator: manages people, hardware, resourcesEditor: edits chief’s documentationSecretaries (2): for administrator and for editorProgram clerk: keeps all project recordsToolsmith: builds programming tools for chiefTester: develops and runs unit and system testsLanguage lawyer: programming language expert, advises chief

Microsoft’s team structure [microsoft.com] Program Manager. Leads the technical side of a product development team, managing and defining the functional specifications and defining how the product will work. Software Design Engineer. Codes and designs new software, often collaborating as a member of a software development team to create and build products. Software Test Engineer. Tests and critiques software to assure quality and identify potential improvement opportunities and projects.

Toshiba Software Factory [Y. Matsumoto] Late 1970’s structure for 2,300 software developers producing real-time industrial application software systems (such as traffic control, factory automation, etc.) Unit Workload Order Sheets (UWOS) precisely define a software component to be built Assigned by project management to developers based on scope/size/skills needed Completed UWOS fed back into management system Highly measured to allow for process improvement

Common factors in good teams Clear roles and responsibilities – Each person knows and is accountable for their work Monitor individual performance – Who is doing what, are we getting the work done? Effective communication system – Available, credible, tracking of issues, decisions – Problems aren't allowed to fester ("boiled frogs") Fact based decisions – Focus on the facts, not the politics, personalities, …

What motivates you? – Achievement – Recognition – Advancement – Salary – Possibility for growth – Interpersonal relationships Subordinate Superior Peer – Status – Technical supervision opportunities Motivation Company policies Work itself Work conditions Personal life Job security Responsibility Competition Time pressure Tangible goals Social responsibility Other?

De-motivators What takes away your motivation? – Micro-management or no management – Lack of ownership – Lack of effective reward structure Including lack of simple appreciation for job well done – Excessive pressure and resulting "burnout" – Allowing "broken windows" to persist – Lack of focus in the overall direction – Productivity barriers Asking too much; not allowing sufficient learning time; using the wrong tools – Too little challenge – Work not aligned with personal interests and goals – Poor communication inside the team