- For 20 years, the Master of Software Engineering Program has produced professionals who make an impact in their companies and the world
But for the past two decades, that's exactly what Carnegie Mellon's groundbreaking Master of Software Engineering program has been doing--cultivating future leaders in the discipline of software engineering by preparing them to be agents of change in their industry.
"We often use the phrase 'agents of change' because we want people to come here and then return to their organizations and change the way software engineering is done," says David Garlan, professor of computer science and director of MSE professional programs. "The intent has always been to positively impact software engineering practice, and our students view their experience while in the program as a transformational one."
Founded as a joint effort between SCS and the Software Engineering Institute, the MSE program celebrates its 20th anniversary March 12 and 13. More than 200 graduates of the program will return to Pittsburgh for a two-day celebration. "This is a wonderful opportunity to celebrate the evolution of our program in the past 20 years, and to celebrate all of the graduates whom we've put into important places and who have gone on to be successful in their own right," says longtime MSE faculty member Mary Shaw, the Alan J. Perlis Professor of Computer Science.
The reunions will follow the 23rd International Conference on Software Engineering Education and Training--the premier annual conference in software engineering education--being held one week earlier on the Carnegie Mellon campus. "We had an alumni reunion workshop five years ago where people came back to give talks about their work and share their experiences," Garlan says. "We want to do that again, but make the event even bigger this time around."
. . .
Thinking big has always been integral to the mission of the MSE program, an intensive 16-month curriculum for early-to mid-career software development professionals. Incoming class size generally numbers about 30 students, who average five years' industry experience and have strong potential for leadership in the opinions of their employers. These are students already on the front lines of software development, dissatisfied with the status quo and eager to learn better ways of doing their jobs.
Bob Lindman (CS'00) and three co-workers from Michigan-based auto parts maker Delphi Corp. were enrolled with the company's sponsorship after working in software development for several years. "They sent us to Pittsburgh because they were looking to train people who could really engineer a solution, rather than just write code," he says.
The program was created in 1989 by SEI founder Angel Jordan--now emeritus university professor of electrical and computer engineering and robotics--and the late Nico Habermann and Norman Gibbs. At the time, Garlan says, there weren't any similar academic degree tracks for software engineering professionals anywhere in the country.
From those early days, the small but high-impact MSE program has helped set the standard for software engineering education. A panel of some of Garlan says most software engineering curricula are patterned after the software lifecycle model, with instruction in requirements specification, specific design methods, testing and verification.
But does that paradigm give students broad-based problem-solving skills? Garlan says no. It's not enough just to be taught the latest techniques and tools for software development, he argues. Students also need to learn the underlying models and analysis skills necessary to evaluate these technologies and then quickly adapt the appropriate ones to improve their organization's products and processes.
Lindman says the MSE program gave him the know-how to choose metrics for a project, record and interpret data, and use those data for continuous process improvement, he says. "Now I can actually predict what we are going to be able to do," he says. "Before that, I was just taking a wild guess."
. . .
A key message of the MSE program is "plan before you build," adds Manu Kumar (E'95, CS'97), a graduate and a successful Internet entrepreneur best known for founding SneakerLabs Inc., which developed software and services for Web-based customer interaction.
"In the MSE program we didn't look at code as something that gets thrown together," says Kumar, whose latest project is K9 Ventures, a venture capital fund that invests in early-stage technology startups in the San Francisco Bay area. "That is a lesson that has been immensely valuable to me in my career. Since I went on to do startups--which operate at a very different pace--I had to adapt the lessons from the program to fit. But the fundamental principles remained the same."
The MSE curriculum instills these principles through five semester-long core courses that cut across the development process, including analysis of software artifacts, an investigation into the various methods followed, the modeling and months off a project schedule can save a company thousands of dollars--or where using the right verification methods to test safety-critical embedded systems might save lives.
For instance, Lindman, who now serves as the Delphi technical manager overseeing radios produced for auto giants such as Toyota and Honda, says a client recently expressed displeasure with Delphi's speed in developing a new in-car entertainment system. "We never seemed to meet our deadlines," he says. "But by tracking our metrics, we were able to show them that it was the changes they were constantly requesting that caused us to be late."
The latest advances in software engineering research inform coursework in the MSE program, and are brought into the classroom by faculty who are leaders in their fields. Garlan, for example, is world-renowned for his work in the design of complex software systems at the architectural level. "I'm excited when I can find ways to blend my research interests in software architecture with what is going on in the MSE program," he says.
The program's technical emphasis also sets it apart from software engineering professional training at other universities, Shaw says. "We believe that the technical aspects are the primary substance of software engineering, and that management and process activities exist to support them," she says. "This approach positions our graduates to become senior technical leaders in their companies."
. . .
At the heart of the MSE program is the "Studio project," a hands-on development laboratory that allows students to apply software engineering practices learned in the core curriculum to real-world situations. Working under the supervision of a faculty mentor, students plan and implement innovative software projects for external clients such as NASA, Westinghouse Electric, Bosch and PPG Industries throughout the duration of the program.
Past MSE students have worked on navigation software and system specification for APEX and semiautonomous robots used to explore the moon and Mars; and helped produce software for the U.S. Air Force's B-2 Spirit, or "stealth bomber," test program.
Beloved MSE program director James Tomayko, who died in 2006, ran The Studio for years, earning the nickname "Coach" from students. He guided them through projects that became their personal laboratories for learning how to put into practice ideas and theories they studied in the classroom. "Jim just really understood how to get students to challenge themselves and start taking responsibility for their own actions and their own engineering decisions," Garlan says.
The Studio was the most influential part of his experience in the MSE program, says So Norimatsu (CS/IA'96), even if it meant sacrificing sleep and other luxuries during his time in Pittsburgh. "At the time, no other school offered this kind of realistic team-project environment to apply what you learned in the academic classes," he says. After working for several years as a software developer for a major research institute in Tokyo, Norimatsu came to Carnegie Mellon from his native Japan in 1994 to earn a dual degree in software engineering and industrial administration.
He still applies his Studio training in his current role as an independent consultant advising major multinational corporations based in Japan on how to implement Capability Maturity Model Integration--a software process improvement framework developed at SEI--for better business performance. MSE "taught me a disciplined way to work, where in this case, discipline might mean rigorous engineering, or following an effective management style," Norimatsu says.
In recent years, the professional programs in software engineering at Carnegie Mellon have undergone significant growth, forming new degree programs through collaborations within the university and with leading academic institutions worldwide.
A partnership with the Korea Advanced Institute of Science and Technology in Daejeon, South Korea, allows students there to fully participate in either the MSE or MSIT-SE program, through a combination of a one-semester residency at Carnegie Mellon, scheduled visits by CMU faculty to KAIST and distance-learning. Another partnership, with the University of Coimbra, led to the 2007 launch of a joint MSE and MSIT-SE dual-degree program in Portugal.
Students also can earn a Master of Science in Information Technology-Software Engineering in Pittsburgh, or in India through a partnership with SSN School of Advanced Software Engineering. A 30-month dual MSE/MBA program is available in conjunction with CMU's Tepper School of Business, along with a joint certificate program with Cornell University in systems and software engineering.
"All of that leads to a fairly interesting mix of things--it's a busy and complex organization," Garlan says. "But we like it that way. It's a good measure of our success, and it lets us evolve fairly dynamically to changing situations."
. . .
In the future, Shaw hopes to see the MSE program staying nimble enough to respond to the ever-changing needs of the software engineering field. "With the success of the Internet in the past 10 years, the world of software and computing has changed dramatically," she says. "Our MSE program is well-positioned to respond to new kinds of software demands like this, while hopefully remaining the best in the world."
Garlan would like the MSE program to widen its sphere of influence even further by fostering more global partnerships--but he also understands the need for the program to maintain its intense focus on training the most motivated and qualified software engineering professionals.
"We have tremendous students," he says. "They work their tails off, and in the end, they come back and tell us how appreciative they are for the wonderful experience. That's the ultimate (reward) for any teacher."
Jennifer Bails is a science and technology writer based in Pittsburgh. She wrote about Edmund Clarke in the Summer 2009 issue of The Link.