Session F4C CROSS-FUNCTIONAL TEAMS USED IN COMPUTER SCIENCE SENIOR DESIGN CAPSTONE COURSES Robert J. Fornaro1 , Margaret R. Heil2 and Vicki E. Jones3 Abstract – Traditionally, computer science curricula focus on teaching technical content, either ignoring the importance of interpersonal communication or relegating it to separate courses with no integration of communication and technical skills. Thus, students get little practice with communication of technical information and even less appreciation for its importance. For the past several years one of the computer science senior design courses at NC State University has emphasized teaming, process, and professional communication skills in the context of industrially sponsored technical projects. Even though the instructors repeatedly emphasize the importance of communication and process, students are resistant to focus on the more social aspects of problem solving, desiring instead to dive in and solve the technical problems. In this paper we describe the advantages and disadvantages of cross-functional teams in an educational setting, identifying communication issues related to coordinating projects and exploring novel opportunities for non-traditional undergraduate education. Index Terms – Capstone Courses, Cross-functional Teams, Undergraduate Computer Science Education, Senior Design Experience. INTRODUCTION One of the challenges for an undergraduate educator in computer science is to balance the need to teach necessary technical skills with the need to teach interaction skills that are essential for students to become effective members of an organization. Unlike technical content traditionally taught in computer science curricula, interpersonal communication is usually ignored or given perfunctory attention. Thus, students get little practice in technical communication and gain even less appreciation for its importance. Recently, however, the need to explicitly teach communication skills has been recognized [1, 2, 3]. Many supporters of engineering educators recognize the need to more fully integrate teamwork into an undergraduate education. The Academic Programs and Strategy Executive of IBM’s Global Education Group, for example, recently argued that problem solving, teamwork, project management, and a systems perspective are what are required of the 21st Century employee [4]. Evidence has 1 2 3 shown that effective teamwork contributes to increased productivity and improved quality of project results [5]. Many companies worldwide have adopted a team-based approach to project management. However, undergraduate institutions are challenged to provide experiences that prepare students for teamwork, not only within small teams, but also within larger cross-functional and multidisciplinary teams. Other work in progress will report on multidisciplinary teams (a relatively large group of students committed to solving a single application problem that spans traditional disciplines, e.g., Computer Science and Chemical Engineering). This paper outlines results of cross-functional teams formed within the single discipline of Computer Science. Over the past several years, computer science senior design courses at NC State University have emphasized teaming, process, and professional communication skills in the context of technical projects. The focus of these capstone courses is to encourage students to use their already acquired technical expertise to solve a problem using the leverage the framework of teaming provides. Many of the projects have database, operating system, or network components that require expertise beyond that of the students in the course. In past semesters external assistance was sought among the faculty (similar to [6]). In the fall of 1999, two of these courses combined forces in an experiment to create crossfunctional teams within the computer science discipline. In this paper we report on this experience. We describe the courses involved, the experiment, and the approach to managing teams. We conclude with a summary of observations and a teaming model that identifies several important factors in facilitating cross-functional teams. BACKGROUND At NCSU, the Department of Computer Science has established a Senior Design Center with a mission of integrating technical projects, teaming, professional communication skills (writing and presenting), and a software development process for undergraduate computer science students. The model and approach described below have evolved from five years experience in offering a 15week capstone senior design project course (CSC 492) through this Center. The Senior Design Center was established in 1994 to facilitate interaction between the Robert J. Fornaro, North Carolina State University, Computer Science Department, 232 Withers Hall, Raleigh, NC 27695, fornaro@ncsu.edu Margaret R. Heil, North Carolina State University, Computer Science Department, 231 Withers Hall, Raleigh, NC 27695, heil@csc.ncsu.edu Vicki E. Jones, North Carolina State University, Computer Science Department, 456 EGRC, Raleigh, NC 27695, vej@eos.ncsu.edu 0-7803-6424-4/00/$10.00 © 2000 IEEE October 18 - 21, 2000 Kansas City, MO 30 th ASEE/IEEE Frontiers in Education Conference F4C-1 Session F4C Computer Science Department and North Carolina industry for the purpose of providing computer science seniors realistic project experiences. Businesses provide a project and a contact engineer and contribute financially to the support of Center activities (businesses make a gift contribution to the department on a non-contractual basis). The Center provides technical consulting to student projects (via faculty expertise), laboratory space and equipment, administrative support and, of primary importance, assistance to students in establishing and maintaining teams, developing project plans, making technical presentations, and writing technical documentation. CSC 492 is team taught by the Director of the Senior Design Center and a certified team specialist. The instructors of CSC 492 assume that students enter the course with a core knowledge of computer science. The intent of the course is to emphasize process and professional communication. It is with this understanding that CSC 492 students are taught the principles of teamwork. The four stages of teaming are discussed (forming, norming, storming, performing). Detailed instruction is given about team meeting format, including preparation of meeting agendas and minutes (a written summary of meeting events and assigned tasks). Team roles are also described (leader, facilitator, recorder, member); each team is expected to assign roles to members who must act accordingly. Information about ground rules (an agreed upon work approach) is given and each team is expected to establish these rules. Decision making tools (e.g., brainstorming, affinity diagrams, and prioritization matrices) are taught when needed by specific teams. Exercises and workshops designed to improve interpersonal communication skills are used with the class throughout the semester. Individual accountability to the team is expected of every team member. Each student is required to maintain an individual log summarizing all work and number of hours spent related to CSC 492. This record contains information about work done individually and with other team members. The instructors meet with each student during the semester for an interview; students are expected to explain and/or demonstrate his or her individual contribution to the team. The instructors monitor all student teams. The Center’s Director and Team Coordinator attend initial team meetings with the project sponsor and students. Throughout the semester, if needed, the instructors attend and/or facilitate team meetings. Teams provide the Coordinator with copies of all meeting agendas and minutes, which are read, acted upon if required, and filed. When a conflict can not be resolved within a team, the Coordinator will mediate, if requested by the team. In addition to phase documents and presentations, project schedules are frequently examined by the Coordinator and Director to ensure that teams are on task. Problem solving sessions and code reviews with the instructors are scheduled, as needed, when initiated by the team. The primary goal of the database management course, CSC 432, is to teach theoretical and practical aspects of database management systems. Students work on teams. The software process followed is an abbreviated waterfall model which focuses on the data management issues and minimizes the role of the process. CROSS-FUNCTIONAL TEAM EXPERIMENT In this context, a cross-functional team refers to a relatively large group of students (6 to 9 individuals) committed to solving a single application problem from within a discipline specific boundary (e.g., Computer Science). The learning goals of this experiment were, in the context of a crossfunctional team, to: 1. Develop an application with a database component, 2. Function as a team, and 3. Develop communication channels. In this section, we provide details about the structure of the two courses involved, team formation, calendar organization, and a sample project. Course Structures The two courses that were the focus of this experiment were CSC 492, Senior Design Projects, and CSC 432, Database Management Projects. CSC 492 – Senior Design Projects. As described in the Background section of this paper, students enrolled in CSC 492 were expected to follow a well-defined software engineering methodology or process. These students were also expected to come to the class with technical skills that would allow them to participate in any number of senior design projects. This assumption allowed time in the semester to provide students with formal training on the principles of teamwork. Teams were formed based on individual student project and team member preferences, skill sets, and scheduling considerations. All student teams were monitored throughout the semester by the CSC 492 Team Coordinator. CSC 432 – Database Management Projects. The focus of CSC 432 was to teach students the technical details of database management. The students were expected to follow a simplified software development process and were asked to look over refined project problem statements provided by the instructor. (These problem statements were received from the CSC 492 instructors – see Calendar Organization section below.) Based on their interests and skills, students were asked to list first, second and third choice of projects from the refined project problem statements. The CSC 432 instructor assigned teams based on this information. Teams were given a class syllabus that 0-7803-6424-4/00/$10.00 © 2000 IEEE October 18 - 21, 2000 Kansas City, MO 30 th ASEE/IEEE Frontiers in Education Conference F4C-2 Session F4C detailed assignments and expectations, and then met as teams on their own. • Cross-Functional Team Formation • At the beginning of the Fall 1999 semester, CSC 492 senior design projects with database components were identified. Student teams were formed, and it was determined that 5 of the project teams were in need of database management expertise. The instructors of CSC 492 planned to create cross-functional teams with their students and students enrolled in CSC 432. Teams from each course consisted of 2-4 students and were combined with their counterparts from the other course to create an application team charged with designing and implementing a prototype for a given problem. Five cross-functional teams were formed. Calendar Organization The instructors of the two courses developed their course calendars to include interaction milestone dates for the cross-functional student teams and the instructors, themselves. The milestones were defined as follows: • Week 1: CSC 492 student teams were formed. • Week 2: Refined problem statements from CSC 492 instructors were given to CSC 432 instructor/distributed to CSC 432 students. • Week 3: CSC 432 student teams were formed. • Week 4: CSC 432 students were given rough drafts of requirements documents written by CSC 492 teams. • Week 4: Instructors from both courses prepared meeting agendas with gross outline of topics to be detailed out by each cross-functional team. Agendas were distributed by CSC 492 students to other students in advance. Teams assigned recorders, facilitators and presenters. • Week 5: First meeting of cross-functional teams. Highlights of the agenda were as follows: ü Meet & Greet. ü Presentation of Functional Requirements (i.e., assumed classes of user/operations – with SQL code example) by CSC 432 students based on rough draft of requirements document supplied by CSC 492. ü Use cases presentation by CSC 492 students. ü Definition of API by CSC 432 students. • Weeks 5-8: CSC 432 students began preliminary database design while becoming database experts. Examples in class were drawn from specific projects. CSC 492 student teams continued to develop detailed requirements documents and preliminary system designs. • Week 8: CSC 492 students presented final system requirements to CSC 432 teams. • Weeks 8-10: CSC 432 students finalized database design. CSC 492 students designed application with stubs for database access. Week 10 – CSC 432 students gave program modules to CSC 492 students to create the database and perform database operations specified in functional requirements. Weeks 10-15: CSC 432 teams gained expertise by using the created database in a smaller application project of their own. CSC 492 students implemented complete system with occasional consultation from CSC 432 teams when needed. Sample Project One of the application teams was charged with designing and developing a system to facilitate tutoring of at-risk grade school children. Tutors and students arranged a rendezvous using telephone/modem communications and Microsoft NetMeeting technology. Tutoring material and the results of a tutoring session were monitored by teachers and parents and to this end, a graphical user interface and database were designed to allow the collection and categorization of information necessary to evaluate student progress. The CSC 492 students interacted with the project sponsor, developed detailed requirements, designed the graphical user interface and business logic associated with the project. The CSC 432 team was charged with designing the database component and providing program modules to create and access the database. OBSERVATIONS We observed that students from CSC 492 were better prepared for team meetings. The CSC 492 students identified a team leader and recorder, distributed detailed agendas in advance (with meeting task assignments), and posted meeting minutes. Since these skills were taught explicitly to the CSC 492 students and not to the CSC 432 students, we conclude that team training contributed to the preparedness of the CSC 492 teams. The monitoring of CSC 432 teams was less formal and less frequent than that of CSC 492 teams. The Team Coordinator for CSC 492 reviewed team minutes, agendas, and electronic communication and occasionally facilitated team meetings. As a result, concerns were noted sooner and resolved in a more timely fashion. The Coordinator also assisted teams with conflict resolutions before they became irresolvable. By the end of the semester, students observed the value of effective communication for success. Many students expressed an appreciation for the importance of interpersonal communication skills. When asked to identify needed improvements to the cross-functional team 0-7803-6424-4/00/$10.00 © 2000 IEEE October 18 - 21, 2000 Kansas City, MO 30 th ASEE/IEEE Frontiers in Education Conference F4C-3 Session F4C experience, they commented that communication barriers needed to be removed. The instructors have also observed that CSC 432 is focused primarily on learning technical material and less on teaming principles. This diverse course requirement, in fact, impeded effective project progress. CSC 432 students appeared more committed to technical material and less interested in committing to the goals of the application team. CONCLUSIONS & FUTURE DIRECTIONS Model The model described in Figure 1 integrates teaming, professional communication and process. Teaming acts as a framework that supports students as they work through the phases and associated tasks of a process. The model provides a cyclical view of these components, as process affects professional communication and professional communication in turn affects process. Teaming focuses this activity by improving progress of process tasks and strengthening professional communication of process activity. Student performance is measured by the quality of output obtained from this ‘frameworked’ cycle. The cross-functional application teams described in this paper were charged with the task of developing a prototype solution to a given domain problem. The problem required the following solution elements: • GUI and other business logic modules • Database modules Teaming Process Professional Communication Teaming Teaming Student Performance as Measured by Quality of Output Teaming FIGURE 1 MODEL DESCRIBING THE INTERACTION OF TEAMING , PROFESSIONAL C OMMUNICATION , PROCESS, AND S TUDENT PERFORMANCE The larger team was subdivided into two component teams, one responsible for the GUI and overall application functionality (CSC 492 team); the other was responsible for database design and implementation (CSC 432 team). Each component team had a similar general notion of software process, professional communication, and teamwork (see Figure 1). However due to size of the teams (each from 6 to 9 strong), these sub-teams operated relatively independently. Also, the technical content of each team’s area of responsibility required such de-coupling to get the time leverage needed to complete project goals within the span of one semester. (These are two separate courses and everybody can not know everything). The challenge, then, was how to coordinate these looselycoupled teams to guarantee a working prototype solution. The keys to success were in the common process, schedules & task plans as well as formal team training and monitoring. 0-7803-6424-4/00/$10.00 © 2000 IEEE October 18 - 21, 2000 Kansas City, MO 30 th ASEE/IEEE Frontiers in Education Conference F4C-4 Session F4C Future Directions Development of the professional communication, process, and teaming theme is continuing on several fronts. First, with regard to capstone courses, planning is underway to change the software engineering process used from a simple waterfall to a Humphrey style cyclic model [7] and to define a uniform format for all capstone courses. Als o, along with efforts to extend writing and speaking across the curriculum, consideration is being given to extending teaming instruction across the curriculum by including collaborative learning [8,9] in lower division courses. Future experiments that involve teaming will be evaluated using a formative process that relies heavily on qualitative data (e.g., observations of teaming cohesiveness, adherence to teaming elements, document reviews, and outcomes of code reviews). A preliminary qualitative evaluation of the effects of teaming on student performance has been conducted in a student teamwork environment [2]. Interpretation of these results suggested that equipping students with team tools and the close monitoring of teams provided the necessary structure for the completion of high quality products and successful communication of technical information. The plan is to continue the experiment described in this paper over the next several semesters and collect and evaluate data following these guidelines. REFERENCES [1] Bordogna, J., Chief Operating Officer/Acting Deputy Director, National Science Foundation. “Trajectories, Inflections, and Innovation in Science, Engineering, and Technology,” Southeastern University and College Coalition for Engineering Education Conference, Enhancing Teaching & Learning. Raleigh, NC, 1999. [2] Heil, M. R., “Preparing Technical Communications for Future Workplaces: A Model that Integrates Teaming, Professional Communication Skills, and a Software Development Process," In Proceedings of the 17 th Annual International Conference of Computer Documentation (ACM SIGDOC, 1999), New York, NY, pp. 110—119. [3] Seat, E. and Lord, S. M., “Enabling Effective Engineering Teams: A Program for Teaching Interaction Skills,” In Proceedings of the 28th ASEE/IEEE Frontiers in Education Conference, 1998. [4] Oblinger, D., “What Business Wants from Higher Education,” Shaping the Future Conference. Raleigh, NC, 1998. [5] Katzenbach, J. R. and Smith, D. K., The Wisdom of Teams, Creating the High-Performance Organization. Boston: Harvard Business School Press, 1993. [6] Joseph, J., “Coordinating Diverse Set of Capstone Design Experiments,” In Proceedings of the 29th ASEE/IEEE Frontiers in Education Conference, November 1999, San Juan, Puerto Rico. [7] Humphrey, W. S., Lovelace, M, and Hoppes, R. Introduction to the Team Software Process, Addison-Wesley, 1999. [8] Felder, R. M., “A Longitudinal Study of Engineering Student Performance and Retention. IV. Instructional Methods,” Journal of Engineering Education, 84, 4, 1995. [9] Felder, R. M., Felder, G. N., and Dietz, E .J., “A Longitudinal Study of Engineering Student Performance and Retention. V. Comparisons with Traditionally -Taught Students” Journal of Engineering Education, October, 1998. 0-7803-6424-4/00/$10.00 © 2000 IEEE October 18 - 21, 2000 Kansas City, MO 30 th ASEE/IEEE Frontiers in Education Conference F4C-5