The importance of team skills for software development

Software does not just happen - it must be engineered systematically through the collaboration of individuals with necessary software development skills and appropriate tools. Similarly, effective software teams do not just happen - they too are built over time through the collaboration of individuals with appropriate team skills, tools and resources. This thesis outlines the need for superior software teams, reviews the literature on team performance and argues that a practical way to begin improving the effectiveness of software teams is in training software engineers in the skills necessary for effective teamwork. A list of fundamental skills for software development is presented, including skills for team leaders interested in building effective software teams, and general-purpose team skills benefiting all software team members. The most important team skills for software development are described in detail, including: project management skills, meeting skills, asynchronous communication skills, interaction skills, conflict management skills, group problem-solving and decision-making skills, skills for understanding the user or customer, team-building skills, leadership, and process awareness. The thesis concludes with a case study of an undergraduate software engineering team project course, in which several initiatives were taken to observe the performance of software teams and to learn more about teaching team skills to software engineers. Some special skills needed for effectively teaching team skills are identified, and recommendations are offered to educators for modifying the undergraduate software engineering curriculum, as well as to software professionals in industry for engineering their own effective software teams.

[1]  William C. Miller,et al.  The Creative Edge: Fostering Innovation Where You Work , 1987 .

[2]  Jon R. Katzenbach Teams at the top : unleashing the potential of both teams and individual leaders , 1998 .

[3]  Peter R. Scholtes,et al.  The leaderʾs handbook : making things happen, getting things done , 1998 .

[4]  J. Cannon-Bowers,et al.  Aircrew coordination—Achieving teamwork in the cockpit. , 1992 .

[5]  B Lakhanpal,et al.  Understanding the factors influencing the performance of software development groups: An exploratory group-level analysis , 1993, Inf. Softw. Technol..

[6]  Marion Haynes Effective Meeting Skills , 1988 .

[7]  C. Gersick Time and Transition in Work Teams: Toward a New Model of Group Development , 1988 .

[8]  D. Hai,et al.  Organizational Behavior: Experiences and Cases , 1986 .

[9]  Watts S. Humphrey,et al.  Characterizing the software process: a maturity framework , 1988, IEEE Software.

[10]  A. Marty Getting to YES. Negotiating Agreement Without Giving In , 1983 .

[11]  J. Philip Craiger,et al.  The Weakest Link: The Performance of Individual Team Members , 1992 .

[12]  Steven Page Computer-mediated communication in a software engineering project course , 1997 .

[13]  Florence Berger,et al.  Making Meetings Work , 1988 .

[14]  S. Joy Mountford,et al.  Tools and techniques for creative design , 1995 .

[15]  John Keith Murnighan,et al.  The Dynamics of Bargaining Games , 1991 .

[16]  Barry W. Boehm,et al.  Theory-W Software Project Management: Principles and Examples , 1989, IEEE Trans. Software Eng..

[17]  Clayton Lewis,et al.  Getting to know users and their tasks , 1995 .

[18]  Katherine A. Karl Team Talk: The Power of Language in Team Dynamics , 1996 .

[19]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[20]  Marshall Sashkin,et al.  The new teamwork : developing and using cross-function teams , 1994 .

[21]  Judith L. Gersting,et al.  Content + experiences = curriculum , 1997, SIGCSE '97.

[22]  Ronald M. Baecker,et al.  Readings in human-computer interaction : toward the year 2000 , 1995 .

[23]  D Coghlan Making meetings work. , 1996, World of Irish nursing.

[24]  Jon R. Katzenbach,et al.  The Wisdom of Teams: Creating the High-Performance Organization , 1992 .

[25]  David Lorge Parnas,et al.  Education for computing professionals , 1990, Computer.

[26]  Ruth Milkman,et al.  Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People , 1995 .

[27]  Watts S. Humphrey,et al.  Managing Technical People: Innovation, Teamwork, and the Software Process , 1996 .

[28]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[29]  Chris F. Kemerer,et al.  Software Project Management: Readings and Cases , 1996 .

[30]  Mary Shaw,et al.  Models for Undergraduate Project Courses in Software Engineering , 1991, CSEE.

[31]  Douglas Schuler,et al.  Participatory Design: Principles and Practices , 1993 .

[32]  John H. Zenger Leading Teams: Mastering the New Role , 1993 .

[33]  Developing Management Skills , 1990 .

[34]  E. Salas,et al.  Guidelines for use in team-training development. , 1992 .

[35]  E. Salas,et al.  Toward an understanding of team performance and training. , 1992 .

[36]  Christopher Connolly,et al.  How Teamwork Works: The Dynamics of Effective Team Development , 1996 .

[37]  Robert B. Maddux,et al.  Team Building: An Exercise in Leadership , 1986 .

[38]  E. M. Bennatan On Time, Within Budget: Software Project Management Practices and Techniques , 1992 .

[39]  Cyril Charney The instant manager: Practical ideas on the 100 most important tasks facing managers today , 1995 .

[40]  David B. Wortman Software Projects in an Academic Environment , 1987, IEEE Transactions on Software Engineering.

[41]  Dennis C. Kinlaw,et al.  Developing Superior Work Teams: Building Quality and the Competitive Edge , 1990 .

[42]  Elizabeth D. Mynatt,et al.  Timewarp: techniques for autonomous collaboration , 1997, CHI.

[43]  Deborah Tannen,et al.  Talking from 9 to 5: How Women's and Men's Conversational Styles Affect Who Gets Heard, Who Gets Credit, and What Gets Done at Work. , 1996 .

[44]  Philip W. Moss,et al.  “Soft” Skills and Race: , 1996 .

[45]  Stewart L. Tubbs A Systems Approach to Small Group Interaction , 1978 .

[46]  B. Tuckman DEVELOPMENTAL SEQUENCE IN SMALL GROUPS. , 1965, Psychological bulletin.

[47]  J. Hackman,et al.  The design of work teams , 1987 .

[48]  E. A. Fleishman,et al.  Toward a taxonomy of team performance functions. , 1992 .

[49]  Allan Fisher,et al.  Undergraduate women in computer science: experience, motivation and culture , 1997, SIGCSE '97.

[50]  R. Bruce Williams More Than 50 Ways to Build Team Consensus , 1993 .

[51]  Mark C. Paulk,et al.  Capability Maturity Model , 1991 .

[52]  Michael Finley,et al.  Why teams don't work : what went wrong and how to make it right , 2000 .

[53]  Richard S. Wellins,et al.  Empowered Teams: Creating Self-Directed Work Groups That Improve Quality, Productivity, and Participation , 1991 .

[54]  Donald L. Lassiter,et al.  Team composition and staffing. , 1992 .

[55]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .