cross-functional teams used in computer science senior design

advertisement
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
Download