Introduction


Teaching computer science and software engineering students is greatly enhanced if they can be introduced to the real issues relating to software design through the mechanism of projects for real business clients. For more than ten years, we have required students in their second year to take part in team projects in which the teams compete with each other to produce a solution for a businessperson's current problem. Each student is required to work on this project for 100 hours during the 12-week semester, which equates to nine to ten hours per week. Typically, 80 students are in the class, and there are three business clients, each with a specific problem relating to their business. Each student team is allocated to one of these clients. The teams comprise five students, and each client deals with five or six teams. At the end of the semester, the clients evaluate all the software solutions produced and select the best one for use in their organization. The winning students receive a prize.

This framework transforms the students' learning because it emphasizes two of the most problematic issues when teaching software design: how to communicate with a client and capture the real requirements, and how to deliver a high-quality, bug-free system.

It is hard to introduce either of these dimensions into the curriculum using projects specified by academics. Students know that once the software has been marked, it is usually thrown away. With our approach, which we call the "Software Hut," students are much more motivated because they know that someone wants their work and will use it. They also learn a lot about the way businesses work. It is always the most popular course and the one that they say teaches them the most. (More details can be found in [Stratton+1998 ; Holcombe+1998; Holcombe+1999].)

A recent extension of this approach occurs in the fourth year, when the students run their own software company and spend approximately one-third of their time working in it. The company, which they call Genesys Solutions (formerly called VICI), has a wide variety of clients requiring database systems and e-commerce applications.[2] About 25 students work in the company. The students run the company, make all major decisions, operate their own premises and network, and carry out R&D as well as specific industrial projects. As part of this, the students negotiate the details of a contract with a client: cost, delivery, and the detailed requirements specification.

[2] See the Genesys Solutions Web site at http://www.genesys.shef.ac.uk.

As you might expect, estimation and planning is a major issue in running the company, and one of things we are trying to do is to collect suitable data on projects that would help us do this better. The estimation of resources for XP-driven projects needs to be considered in a different way from traditional projects, so we are starting from a position where we need to think about things rather differently. We believe that this student-run company is a unique innovation but one that the students are incredibly enthusiastic about. (As an aside, a number of former members of this company have successfully set up their own real software houses.)



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net