October 30, 2007 —
Jeramy Gray and Frank Cheng Client (left) from the LA County Web Initiative project meet software students from CS 577
USC Viterbi School computer programming students need problems to solve. University Park neighborhood organizations need customized software. The two find each other at Prof. Barry Boehm’s long-running graduate level course in Software Engineering, CS 577.
The process kicks off each fall in early September in a big auditorium packed with more than 150 attentive computer science students, sitting or standing in clusters of sixes and sevens, each cluster circling someone who is clearly not a student, with a fusillade of questions and answers.
This year, a compact fireball of energy named Prof. Ann Majchrzak is co-directing the 90-minute proceedings, orchestrating a quick set of four instant meetings between the client reps and their student teams, while enunciating the basics of Boehm's "Creative Tension" techniques for having developers listen to clients, and clients to developers.
Going from group to group, the community reps can be heard trying to explain their needs to note-taking students. The Thai Community Development Center needs help in creating tools that would enable everyone in the office to update the group’s website themselves, without having to go through their IT person.
The Los Angeles Urban League wants to develop a prototype for a web-based Virtual Mentoring Community that will be used to connect academically at-risk students with peer advisors and adult mentors, creating a controlled virtual "gated community” where these students can receive academic and social support.
Ann Majchrzak: Marshall School Information Systems Expert (inset) at the podium directng the proceedings.
Crystal Stairs, a non-profit corporation that brings together families and childcare services, is looking for a system that can help track its activity and measure the effectiveness of its service.
St. Francis Center discovered (to its surprise) that its old clunky website was bringing in a substantial number of volunteers to help serve the downtown homeless community. The class will make them a newer, better one.
In the alternating full-class sessions Majchrzak's insistent voice explains what the groups need to be doing, getting instant reports from grou leaders at the end of each mini meeting, and delivering instant judgments on their mini-reports. Usually the Marshall School Information System expert is supportive. Sometimes she bluntly tells the group "you need to do better."
It was a good kickoff. For the fall, 2007 semester, students in the program, also known as the "Value-Based Information Technology Applications" (VITA) lab, went to work on 20 problems, only four of which come from USC entities. Two of these are advanced projects from Boehm's Center for Software and Systems Engineering. Other clients, besides those already mentioned included the City (4 projects) and County (1) of Los Angeles; Urban Magazine
(published by the Turning Point Foundation) the Los Angeles Music and Art School, the Resources for Educational and Employment Opportunities organization (serving community college students), and even one private company, BTI Appraisal.
Boehm:"Much more effective in getting students to learn lessons in their heart and in their gut as well as in their head."
The program is a direct reflection of the professional philosophy of Boehm, an internationally known authority on software development who also heads the Viterbi School’s Center for Software and Systems Engineering.
In Boehm’s view, writing code is only part of the business of creating software. The human element, he believes, is absolutely fundamental. “Software is used by people, not machines,” he says. And, in decades of work he has created a unique, comprehensive approach to crafting information technology to solve people problems by focusing on people.
His “Win-Win Spiral Model” describes an interactive process in which engineers continuously draft partial solutions for clients, get their reaction, incorporate the feedback and come back again. Majchrzak's in-class presentation precisely follows this script.
This approach simply cannot be taught by pre-packaged problems, Boehm says. So for more than a decade, he has reached out to find clients to give the students in this extraordinarily popular class grist for their mills.
He began with the USC community. “We started doing real-client team projects in CS577 in 1996-97,” he recounts. “For the first couple of years we were doing multimedia projects for the USC Libraries, and then went campus-wide with the help of the Center for Scholarly Technology. In the early 2000's we started doing a few off-campus projects,” mostly, he said, with industry affiliates of his Center for Software and Systems Development, and with former students now working in industry.
From his point of view there is no doubt whatsoever of the effectiveness of the real-client method: "As compared to a non-project or a hypothetical-client project course, having students do a real-client project and have the experience complemented by software engineering principles and feedback has turned out to be much more effective in getting students to learn lessons in their heart and in their gut as well as in their head. Those lessons also tend to persist longer and remain relevant longer as software technology changes."
VITA expanded off campus only recently. “In early 2006, I got involved in an NSF proposal with [USC Director of Community
Client meets students
Outreach] Sharon Stewart, in which CS577 was the primary example we had of a service-learning approach to teaching and community outreach. Since then, Sharon has been great in connecting us with community-outreach software projects. They were about half of our projects in 2006-07, and are about 2/3 of our projects in 2007-08.”
Boehm thinks the outreach has had overwhelmingly positive results educationally: The community projects “are more diverse and challenging than our on-campus projects, but both we and the students feel more motivated and fortunate to be able to help people in this way. VITA Lab is widely recognized as a unique combination of large-scale experimental software engineering education, minority-neighborhood service-based learning, and empirical research in software engineering."
An early and highly successful client of the collaboration is in the External Relations Department itself. This year USC Neighborhood Outreach awarded almost $800,000 of funds
donated by university faculty and staff to support a wide range of activity in the neighborhoods around the USC campuses, including tutoring programs by USC students helping local K-12 pupils.
External Relations Director Carolina Castillo began working with Boehm students one year ago, with a clear aim. Each one of the USC Neighborhood Outreach programs is carefully monitored for effectiveness, with detailed records kept of participation.
But, said Castillo, these records were kept as printouts of forms filled in by participants. "We were getting a lot of useful information," she noted, but when the time came to access it, and compare programs, head to head, her office hit a paper wall. Unless someone went down all the forms by hand, totaling up the scores, the information was inaccessible. Preparing consolidated reports about each year's record was a battle and difficult task.
"What we needed was a way to have this information quickly available in consolidated form, so we could easily get overviews of what we were doing; who we were serving, precisely how much we were spending on what. And we needed this to be flexible, so we could easily ask questions of the data we had."
The solution, worked out in a year of back-and-forth with Boehm students is a version of the form that participants can fill out online. The answers go directly into a database. The database can quickly and automatically supply in minutes the consolidated data that used to take weeks to assemble.
Castillo works for USC Vice President for External Relations Carolyn Webb de Macías, “My office is responsible for ensuring the best use of every employee dollar donated to the Good Neighbor Campaign,” Webb de Macías noted. “This tool will make it easier for us to track and compare a program’s proposal to its mid-year and final performance reports.”
“Our goal of raising $1 million in this 2007-2008 campaign is in line with this history of employee giving to the GNC,” Webb de Macías said. “CS 577 students have provided a critical service by designing a tool that will help give employees even more confidence that their contributions are being used to support the communities in which they work, live and play.“
Sharon Stewart notes that the new product will directly fulfill a mandate given to Good Neighbors by USC President Steven B. Sample: "When the President created the initiative, he deliberately put [geographical] borders on the project so that we could measure its effect on the community. And this tool does just that: it will help us measure the impact we're having," said Stewart.
The process that brings together software customers and software students begins in summer, when Boehm notifies Stewart and other potential program users that the program is accepting proposals. The resulting proposals come back (this year) to Supannika "Sue" Koolmanojwong, a take-charge CS doctoral candidate from Thailand who works with Boehm in selecting which ones to accept.
The limiting factor in accepting the proposals is student-power. CS 577 is a very large class, with approximately 130 students per semester, and each proposal needs a 5-7 person team, including a leader, limiting the number of projects to about 20 per year.
Past community participants include the California Science Center, New Economics for Women, Manual Arts High School. USC participants range from the Engineering Writing Program (looking for an anonymous peer review system) to the USC football program, which needed help for its recruiting database.
The enterprise kicks off each semester in a pair of memorable hour-and-a-half meetings in which a representative from the client organization meets their student leader and teams under the eyes of Boehm and collaborators, including Mazcjrzak.
In the weeks following the Majchrzak supercharging, the client culture of public service and the student culture of software creation continue to interact and inform each other. Stewart, who represented USC Neighborhood Outreach during the development of that software, began by being intimidated - "I mean, for someone like me, who knows nothing about software, you wonder, how can you interact, speak these people's language."
But Stewart, like many other clients, was speedily won over by the students' energy and enthusiasm. "The students have a feeling that they're doing something that will be implemented, that will make a difference," she remembered.
"We have been consistently (and pleasantly!) surprised at the level of professionalism and consulting skills of the team that we have been working with," said Rick Capella, representing Crystal Stairs. "The student engineers have taught us that collaboration and clear understanding are essential in designing this project. It is a pleasure to work with them."
"Our USC students assigned to this project are very detail oriented, which amazes me on how much technology, specifically in software, has progressed since I first started using databases," said Cathy Teoh, working with the class on creating a way for the City of Los Angeles to effectively track discrimination complaints filed with state and federal authorities. "The students are very easy to work with, which helps tremendously since they understand what I'm trying to say since I am not an IT person."
"The students have taught me that computer geeks aren't geeks," said Jay McAdams of the 24th Street Theater. "These are smart and lovely folks."
One factor is universally appreciated: the price. The service is completely free to clients. "We could never have done this without the class" was a sentiment almost universally repeated.
Boehm's class takes two semesters. At the end of the first, some of the projects end, because of insufficient progress. Others make the cut, continuing for the second semester and (always the hope) a deliverable software product.
Not all of projects succeed. The California Science Center last year brought three ambitious projects to the Vita Class. " We
Webb de Macías: "A classic win-win
proposed some very ambitious projects, all of which were supposed to integrate together, but ultimately I think it proved to be too much for the class as it is currently structured, said Jeremy Stoller, a senior graphic artist for CSC. " We learned a great deal and I have not given up on future collaboration with USC in this area."
But others like the USC outreach software came successfully home.
“This is an absolutely perfect example of effective and appropriate outreach,” said Webb de Macías. “USC is using its academic excellence to support local organizations, not by telling organizations what to do or how to do it, but by listening to their needs and helping them to create tools individually crafted to those needs.
"At the same time,” continued Webb de Macías, “the program directly helps USC students. It is a classic win-win. We are delighted to be working with Barry and his classes."