Bowling Green Students Build Agile Software for Non-Profit Clients

In the first program of its kind, students in Bowling Green State University's Agile Software Factory program learn about agile development by building real software for local community service organizations. Over the course of a 16 week semester, students go from initial client meeting to delivery of a working system. The program is supported through a partnership with the Agile Alliance.

"Students learn software development practices best by working on real-world projects with real customers," said Dr. Joseph Chao, associate professor in the Department of Computer Science and director of the Agile Software Factory at Bowling Green State University. In its first semester, the program undertook 6 community service projects:

Victim Case Tracking System for Behavioral Connections of Wood County

Employee Database System for Neighborhood Property, Inc.

Service Reporting System for Wood County The Cocoon Shelter

Service-Learning Information System for the Office of Service-Learning at BGSU

Student Activity Matching System for Eastwood Middle School

E-Voting System for Ohio High School Speech League

The Standish Group's CHAOS 2004 survey indicated that less than 1 in 3 software projects is considered successful. The students managed to do much better; five of the six clients rated their projects successful. In addition, students involved reported that experience was more valuable than a typical programming course. Comments included in an anonymous survey of students included:

"I wasn't sure what to expect, but the experience that came with having an actual client was invaluable."

"I think this class would not be nearly as effective without being a service learning project. Going through the motions in a real life situation is something that I think all CS majors should be a part of. "

Dr. Chao said that the use of agile methods was an important component in the formula that allowed groups of students to successfully complete real-world software projects during a single semester. In the words of one student, "I wasn’t certain how we were going to complete such a large task, But somehow we got it done."

The partnership between the Agile Alliance and Bowling Green University began when Dr. Chao met Phil Brock, managing director of the Agile Alliance, while attending Agile2008 in Toronto. The Agile Alliance decided to back the program in the hope that it would provide a model that other universities would follow. Additionally, the Agile Alliance is excited that the program supplies Agile adopters and companies with individuals trained in the principles and methods of Agile from the onset. According to Phil, it typically takes a new hire a year or two to get up-to-speed in an agile environment. Participating in the program gives students a head start that will make them more desirable to companies using agile methods.

In an industry hungry for new talent, the biggest win may be that students come out of this program more interested in pursuing software development careers. One student said, "Prior to this class I was not sold on the idea of software development as a potential career. But after seeing all of the aspects of the process, I would love to go into development."

Is this an example that more universities should follow? Leave a comment and share your view.

I don't think it is a 'first of it's kind'. Dr. David West and Pamela Rostal did the same thing at New Mexico Highlands University a number of years ago. They made a presentation on it at OOPSLA 2005: www.oopsla.org/2005/ShowEvent.do?id=255

At the University of Arnhem and Nijmegen since 2006 we also let students develop (primarily) open source projects in an Agile setting. During 9 weeks appr. 55 students work in teams of 5 developers on real projects for all kinds of software development companies. We train the students to use Scrum and XP best practices like pair programming, unittesting and continuous integration. More information on DDOA