Logo: University of Southern California

CS577 Kicks Off Its 16th Year of Solving Real-World Problems

NAE Member Barry Boehm's long-running class is a classic
Newly Paul
September 24, 2008 —

Boehm: real world clients for budding software designers
Sixteen clients, about 150 enthusiastic students and a professor with a vision. That sums up CS577—a graduate level course in software engineering now in its 16th year, which seeks to provide practical solutions to real-life software problems.

This year’s class began on September 12th with students and their clients coming together for the customary team building session. Facilitated by Ann Majchrzak from the USC Marshall School of Business with explanatory PowerPoint slides and vigorous team discussions,  the meeting was a great ice-breaker.

In 1993, when this course was first started by Professor Barry Boehm, the director of the Center for System and Software Engineering, Boehm himself would design problems for students to solve. Two years later, he began looking around for realistic exercises that would have live clients, and came up with a project involving an information dissemination system for libraries on campus.

The libraries soon realized the practical worth of the software being designed by the students.  In 1996, Boehm got a request from 15 libraries, including those from the medical, dental, science and business school libraries, to design software tailor-made to their needs.

“The project turned out well; students were motivated with the reality of the problem they were working on and after a few years, we started getting off-campus clients,” says Boehm, an internationally known authority of software creation who is a member of the
teambuilder: Ann Majchrzak
National Academy of Engineering.

This year the 16 projects include seven with non-profit organizations outside USC, four on-campus clients, and five for-profit organizations. As in past years, some of these will carry on for the spring semester, if they require more work. Some could also fall by the wayside, due to lack of progress. 

Each team is typically made up of eight students—two of them distance education students holding full-time jobs. “The mix is great. Since most graduate students have no experience in working real-time, the part time students bring valuable inputs through their experience,” says Supannika Koolmanojwong, a TA for the class.

The first two weeks of the class are spent in information sessions and team building initiatives. That’s where Majchrzak’s expertise and enthusiasm prove helpful. Her emphasis on involving the client in the project helps resolve a lot of communication issues, while her infectious energy and efficient air helps set a positive tone for the rest of the semester.

IntensemeetingOne of this year's clients is the Woody Wilson Collection, a garment company. The company wants to support its global sales by updating its ordering system. The old system uses manual paper forms, is too time-consuming and requires manual copying of crucial data from form to form, which is error-prone. The requested system will be online, accessible, easy to use and efficient for sales representatives, clothiers, merchants, vendors and other users.

Another project, the UNO WebTool, was designed by CSCI 577 class in 2006, but only one of the three components was implemented. This year, students will enhance the current application and resolve the issues related to the reporting component.

Similarly, the Hunter Gatherer Interactive Research Database for the Jane Goodall Research Center, at the USC Department of Anthropology, was designed by a CS577 team last year. That team designed the architecture for the database and produced a working model that was able to handle textual materials.

This year, students will work on the next phase of the project, to adapt the system so it can handle pictures and videos, and devise an automated means for inserting all materials. Students will also add pre-coded textual data to the system for testing and debugging it as a search engine, and develop, test, and use an automated system for adding large quantities of coded data to the system. The center also wants to modify the search engine and make it more user-friendly and efficient.

Nelson Shirota, student services manager with USC’s Academic Records & Registrar department who was a client last year, was very pleased Client Studentswith the outcome of his project, which dealt with the Los Angeles County Generation Web Initiative.

Shirota thinks the software development process was very thorough and was designed to confront important issues like economic sustainability, maintenance and future expansion. “We eventually received a complete solution to our problem with little cost to our department,” he said.

He felt the students did an excellent job of listening and trying to understand his goals. They worked diligently to implement the suggestions made by him and made helpful suggestions for improvement.

“Given the right circumstances, I would be happy to participate again in the project. I feel the project was a good fit for the class—it was neither too small nor too large. What worked best for us was that the timing of the implementation was not critical.  It took one year for our project to get into production, but the bottomline was that it worked well,” he said.

Boehm says the program has undergone several changes since it first started. It used to be all about writing a computer program successfully. Now students spend time revaluating open source and commercial applications to build tailor-made programs that are more powerful and efficient. “The course helps students learn new tools, evaluate off-the-shelf packages and do much more than just programming,” he says.

Like all ambitious projects, some CS577 efforts run into problems. Expectations for a 24-week project sometimes surpass the amount of time available. Then there are problems arising from the lack of experience in students and miscommunication between them and the client.
But it’s a class definitely worth taking, says student Pongtip Aroonvatanaporn, who worked on a project two years back and said he would strongly encourage new students to sign up for the class. “This is the first class where we had real clients and that gave our work a different perspective. It taught us to work in the real world and handle issues related to software as well as communication—part of the grade was based on the client’s evaluation of the team,” he said.

Read about last year's CS577 kickoff here.