Developing Communities of Practice to Prepare Software Engineers with Effective Team Skills
Ann Q. Gates, Elsa Y. Villa, Salamah Salamah
Abstract
Ann Q. Gates, Elsa Y. Villa, Salamah Salamah
Abstract
A major challenge to teaching software engineering is achieving functioning teams that enforce individual accountability while integrating software engineering principles, approaches, and techniques. The two-semester software engineering course at the University of Texas at El Paso, referred to as the Team-Oriented Software Engineering (TOSE) course, establishes communities of practice that are cultivated through cooperative group practices and an improvement process model that enables learning from past experiences. The experience of working with incomplete, ambiguous, and changing software requirements motivates the need for applying disciplined software engineering practices and approaches throughout project development. Over the course of the two-semester sequence, the nature of students’ participation in project teams changes: they begin to influence others in software engineering practice, and their identities as software engineers begins to develop. The purpose of the chapter is to describe how to structure a software engineering course that results in establishing communities of practice in which learners become increasingly more knowledgeable team members who embody the skills needed to work effectively in a team- and project-based environment.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
A major challenge to teaching software engineering is achieving functioning teams that enforce individual accountability while integrating software engineering principles, approaches, and techniques. The two-semester software engineering course at the University of Texas at El Paso, referred to as the Team-Oriented Software Engineering (TOSE) course, establishes communities of practice that are cultivated through cooperative group practices and an improvement process model that enables learning from past experiences. The experience of working with incomplete, ambiguous, and changing software requirements motivates the need for applying disciplined software engineering practices and approaches throughout project development. Over the course of the two-semester sequence, the nature of students’ participation in project teams changes: they begin to influence others in software engineering practice, and their identities as software engineers begins to develop. The purpose of the chapter is to describe how to structure a software engineering course that results in establishing communities of practice in which learners become increasingly more knowledgeable team members who embody the skills needed to work effectively in a team- and project-based environment.
Key concepts: Software Engineering Process Group, Team software process, Personal software process, Social software engineering, Software engineering, Software development, Engineering management, Software requirements