Impact and Contributions of MBASE
on Software Engineering Graduate Courses
Ricardo Valerdi
Massachusetts Institute of Technology
[email protected]
Ray Madachy
University of Southern California
[email protected]
Abstract
As the founding Director of the Center for Software Engineering, Professor Barry Boehm developed courses that have greatly impacted the education of software engineering students. Through the use of the MBASE framework and complementary tools, students have been able to obtain real-life software development experience without leaving campus. Project team clients and the universities have also benefited. This paper provides evidence on the impact of Dr. Boehm’s frameworks on courses at two universities, and identifies major contributions to software engineering education and practice.
1.
Introduction
Dr. Barry W. Boehm has made significant contributions to software engineering including the Constructive Cost Model (COCOMO) (Boehm et al, 2000), Spiral Model ( Boehm, 1988; Boehm et al, 1998; Boehm and Port 2001;), Theory W (Win-Win) (Boehm et al, 1998), risk management principles (Boehm, 1989), various software engineering environments and MBASE which integrates the previous contributions. He has achieved numerous honors and awards for his work and is a Fellow of the ACM, AIAA, IEEE, INCOSE, and a member of the National Academy of Engineering. For example he was elected as a Fellow of the ACM for “significant contributions to the technology and discipline of software engineering, including implementation of advanced computer and software systems, environments, architectures, process models, quality models, and risk models.”
The impact of his work can clearly be seen in industry, government, and especially at his home institution, the University of Southern California. For decades, Dr. Boehm has worked to develop an environment of advanced learning and research that has influenced software engineers around the world. The culmination of much of this knowledge is being enhanced at the University of Southern California Center for Software Engineering (USC-CSE), which is an industry-sponsored academic organization whose mission is to “Evolve and unify theories and practices of Software Engineering” (USC-CSE, 2006). These theories and practices have rippled through the software engineering community and have influenced several universities. To date, there are five known reported institutions that are actively or have previously used the MBASE framework for teaching software engineering and more are coming. For example, USC-CSE has just joined with the Institute of Software of the Chinese Academy of Science (ISCAS) in a research agreement will also include cooperation in software engineering education (USC Newsroom, 2006).
Contributions of the MBASE framework to student education are highlighted in this paper. It provides students with a full range of software engineering skills and advanced software
technology experience. It gives them real-world experience dealing with clients and requirements negotiation. The framework forces technologically-oriented students to address the management and planning of the system before they begin to design it. It also equips students with “non-outsourceable” skills that they can take with them to their jobs in industry (defense and commercial), government or other organizations. Specific examples are highlighted from the University of Southern California and Columbia University. Even though data was not available, other institutions using the framework are: Stevens Institute of Technology, Texas A&M University, and the University of Texas at Dallas.
2.
Software Engineering and the MBASE Framework
Dr. Boehm has long held a broad and interdisciplinary view of software engineering compared to tradition. He teaches that software engineering covers the disciplines which distinguish the coding of a computer program from the development of a software system product. Table 1 shows the breadth of software engineering concerns contrasted with the traditional focus in computer science curriculums.
Table 1. Software Engineering Breadth
The goal is to prepare students for software leadership careers. This involves learning about topics such as agility, discipline, COTS, the scalable spiral model, and service-based systems. All these considerations are integrated via value-based, model-driven software engineering project experience and research.
The Model-Based System Architecting and Software Engineering (MBASE) concepts have been evolving over time at USC. Earlier we were using the WinWin Spiral Model to develop library projects at USC (Boehm et al, 1998) in our software engineering courses. MBASE has become more elaborated as the result of many process improvements over the years.
The MBASE framework is an approach to the development of software systems that integrates the system’s process, product, property, and success models to enable successful development of software-intensive systems. These models are brought to fruition through the following seven artifacts that touch on different aspects of the software development process:
• Requirements, Architecture Design, Code Implement, Maintain
Computer Science CS Focus
User Applications Economics People Requirements, Architecture Design, Code Implement, Maintain
Computer Science CS Focus
User Applications Economics
People
Stages Issues
The essence of the MBASE approach is to develop the system definition elements concurrently, through iterative refinement, using the risk-driven, three-anchor point, Win–Win Spiral approach. The three anchor points are milestones within a software system’s development life cycle at which it is logical for all critical stakeholders to decide whether continuation of the project will produce a win situation or whether the project should be stopped or radically altered. The three anchor points, or milestones, used in MBASE are:
1. Life Cycle Objectives 2. Life Cycle Architecture 3. Initial Operating Capability
Each anchor point has to satisfy the specific completion criteria described in Table 2.
Table 2. MBASE criteria for each phase (Boehm, 2005)
MBASE Phase Criteria
Life Cycle Objectives • Less structured, with information moving around
• Focus on the strategy or "vision" (e.g., for the Operational Concept Description and Life Cycle Plan), as opposed to the details • Could have some unresolved issues or items
Life Cycle Architecture • More formal, with solid tracing upward and downward • No major unresolved issues or items, and closure mechanisms
identified for any unresolved issues or items
• Basic elements from the Life Cycle Plan are indicated within the Construction, Transition, and Support plans
Initial Operating Capability • Complete tracings within and between models, delivered software • Core system capability requirements have been implemented/tested • At least one construction interaction
• Complete set of plans consistent with the development completed • The system definition elements are strongly integrated and a strong
traceability thread ties the various sections
Once the criteria for each phase are satisfied, the team can proceed to the next phase. The seven aforementioned artifacts are further developed in each MBASE phases. Along the way, numerous models are available to help identify potential risks in the project and the priorities of success-critical stakeholders. The overall MBASE model integration framework is shown in Figure 1.
The most popular property model (and most widely used cost estimation model) is the Constructive Cost Model (COCOMO) (Boehm, 1981; Boehm et al, 2000). In MBASE it is used for business case analysis in conjunction with estimation of financial benefits. In the framework, its output needs to be coordinated with other types of models to avoid model clashes. Frequently, model clashes take place between product models that describe a sophisticated software system which is in conflict with cost estimate provided by COCOMO II. In this case, the system stakeholders need to make a decision to either reduce the scope, and thereby the cost, of the system features or increase the budget so that their expectations outlined in the product and property models are adequately represented.
Figure 1. MBASE model integration framework
3.
MBASE Usage in Software Engineering Programs
To date, there are five reported institutions that have actively used the MBASE framework to teach software engineering. At USC, where the framework was first developed and enhanced, the framework is taught in three different graduate level software engineering classes. These courses involving MBASE are described in Table 3.
Table 3. USC software engineering graduate course descriptions (USC CSE, 2006)
Course Description
CSCI 510 Software Management & Economics
Theories of management and their application to software projects. Economic analysis of software products and processes. Software cost and schedule estimation, planning and control.
CSCI 577a Software Engineering I
Software life cycle processes; planning considerations for product definition, development, test, implementation, maintenance. Software requirements elicitation and architecture synthesis. Team project. CSCI 577b Software Engineering II
Software development, test, implementation, and maintenance methods. CASE tools and software environments. Software product engineering, configuration management, quality engineering, documentation. Application via projects.
In the two-semester series, students in CSCI 577a and CSCI 577b work on a Web-based electronic services project for a real USC client. Frequently this is a digital library
Process models
Life cycle anchor points Risk management Key practices Success models Business case IKIWISI Stakeholder win-win Property models Cost Schedule Performance Reliability Product models Domain model Requirements Architecture Code Documentation Planning and control
Milestone content Evaluation and analysis Process entry/exit criteria Product evaluation criteria
extensive set of usage guidelines and have led to the revision of the framework as the leanMBASE (Boehm, 2005).
Remote students enrolled in the course via USC’s Distance Education Network are involved in the project team as an independent verification and validation team. At the beginning of the fall semester each student picks their own teams based on their interests on the menu of projects available each semester. Not all CSCI 577a projects survive to the next semester. They are interrupted for various reasons including (1) lost interest by the client, (2) decreased enrollment in the Spring, or (3) project failure. Typically, only one third of the projects continue on for a second semester.
At Columbia University, the MBASE framework has been used in a similar hands-on approach (Port and Boehm, 2001). The course centers around the disciplined life cycle milestones and associated reviews, which has strengthened the link between research and curriculum development which have been directly influenced by customers and industrial affiliates (Boehm et al, 2000; Port and Boehm, 2002).
3.1. Stakeholder Roles in MBASE Implementation
Before the semester begins, the course instructor must identify potential clients for the upcoming school year. The project must be feasible for completion over a 2-semester graduate course. Once the customers are identified and the students are assigned to a team, each student works with users to determine their needs and reconcile these needs with a feasible implementation architecture and plan. The teams will accomplish this reconciliation by using the USC WinWin groupware support system for requirements negotiation, which provides facilities for stakeholders to express their Win Conditions for the system.
The three formal stakeholder roles are:
• Developer: The Architecture and Prototype team members represent developer concerns, such as use of familiar packages, stability of requirements, availability of support tools, and technically challenging approaches.
• Customer: The Plan and Rationale team members represent customer concerns, such as the need to develop an Initial Operational Configuration in one semester, presence of limited budgets for support tools, and use of low-risk technical approaches.
• User: The Operational Concept and Requirements team members work with their designated user-community representative to represent user concerns, such as particular multimedia access features, fast response time, user friendly interface, high reliability, and flexibility of requirements.
3.2. Impact of MBASE in software engineering courses
The use of MBASE to simulate real-world software development environment was motivated by Boehm’s experience as the Chief Scientist at TRW in the 1980s. While at TRW, he developed COCOMO (Boehm, 1981), Theory W and the Spiral Model (Boehm, 1988) as well as other models that are integral to MBASE. He carried this experience to USC for the benefit of software engineering graduate students using MBASE as the teaching tool.
Real products developed in the courses and currently in use that have been meaningful contributions include:
• creating an online collaborative work engine for USC computer system users;
• laying the groundwork for a Web-based encyclopedia of Los Angeles;
• archiving and disseminating geotechnical data for civil engineering classes;
• building a customer relations management tool to help small businesses manage customer names, preferences and other information;
• engineering a library notification system to let faculty know about significant new books acquired by one of the libraries in the USC system; and
• creating a database system that indexed and analyzed a remarkable collection of Chinese literary texts given to the East Asian Library.
3.3. MBASE Empirical Trends
Empirical data indicates positive trends with regard to MBASE student enrollment rates, client satisfaction and university returns. Figure 2 shows the USC student enrollments in the MBASE-related courses for the last 10 years, demonstrating a clear growth trend. It is evident that these courses have become quite popular with the students.
At the same time, the client evaluations and percentage of adopted projects have also increased indicating client satisfaction (currently over 90% satisfied clients as previously described). Analysis of student projects at USC and Columbia identified two measures of success: (1) increased enrollment over a three year period and (2) improvement in the client evaluation over the same period (Port and Boehm, 2002). Three other institutions – Stevens, Texas A&M, and UT Dallas – have also implemented MBASE into their curriculum but have not reported any data from their experience.
The universities that host the courses are also winners with increased enrollments. In 2005, the tuition revenue for the USC Computer Science department from the MBASE courses was over $1.5M.
2 0 4 0 6 0 8 0 1 0 0 1 2 0 1 4 0 1 6 0 1 8 0 2 0 0
# S
tu
d
e
n
ts
5 7 7 a 5 7 7 b 5 1 04.
Additional contributions to software engineering
MBASE has also contributed in other ways to software engineering research, industry training and practice. By observing the performance of student teams over the years, student researchers have had the opportunity to improve the tools and frameworks in MBASE. Recent examples are Al-Said’s study on Model Clashes (Al-Said, 2003) and Chen’s study on sizing metrics (Chen et al, 2004). Dissertations at other universities such as Georgia Tech (Chonlameth, 2004) and the University of Maryland (Arindam, 2004) have also leveraged off MBASE models. Naturally, this teaching tool has also had an effect in industry by influencing standards (Boehm et al, 2002) and software development techniques (Boehm and Port, 2001).
Another seminal paper (Boehm, 1996) identified the critical milestones of LCO, LCA and IOC. It helped to popularize modern terminology and definitions for software phases and milestones that have been adopted across the software industry. Notably, some aspects of the highly popular Rational Unified Process (RUP) (Kruchten, 1998) were developed in conjunction with Dr. Boehm with MBASE principles. RUP and its derivatives are used widely across industry.
Dr. Boehm has also influenced important standards such as the CMM-I (Software Engineering Institute, 2003), in terms of incorporating risk management and integrating the systems engineering and software engineering disciplines. These are both critical aspects of MBASE.
5.
Conclusions
Thousands of students from many countries have benefited so far at USC alone, plus those at four other known institutions. There are plans for more and the impact is likely to keep growing. There are also unreported universities and training institutions using MBASE elements since it is open and in the public domain. The process assets are frequently downloaded across the globe and used without tacit acknowledgement to USC.
There will be a multiplicative effect of former students propagating the MBASE principles throughout their careers. They will take their lessons with them and some will teach others. In the spirit of process improvement, the techniques will be constantly tailored and future process frameworks will take on different names besides MBASE.
Measurements indicate that the MBASE curriculum is increasingly popular with students and clients. The number of students in the courses keeps growing. Over 100 client applications have been successfully developed at USC and many are used daily by satisfied clients. Even more impressive is that they achieved their rapid capabilities in only 24 weeks.
MBASE reflects characteristics of its creator. One important reason for the success of MBASE and Barry Boehm’s overall influence is the focus on people issues. The Win-Win principles are personified in Barry Boehm in his dealings with all community stakeholders and embodied in MBASE. Continuous process improvement and adaptation to change is also embraced by Dr. Boehm and MBASE.
As former students of Dr. Boehm, we have benefited greatly from the tutelage of one of the most influential people in software engineering. The reach of Dr. Boehm’s influence and
his breadth is evidenced by the fact that both of us obtained Ph.D.’s in fields outside of Computer Science. Since Dr. Boehm’s research is influential in software and systems engineering, we were able to perform our dissertation research in systems engineering cost estimation and software process simulation under the Industrial & Systems Engineering department.
The MBASE track record makes a strong case for the interdisciplinary nature of software engineering and Boehm’s impact continues to be felt in related disciplines. USC has just announced plans to create a joint Center for Systems and Software Engineering to convene this fall, with Dr. Boehm as the founding Director. This is yet another indication that he is making traction establishing the interdisciplinary nature of software engineering education.
Just as his influence reached beyond the borders of his department, his teachings reached beyond the borders of his university to other institutions. He has also had significant impact in industry training and practice. We have shown how the MBASE framework, developed at USC, has influenced software engineering curricula and practice by providing a way for students to experience real-world challenges to software engineering.
References
Ainsworth, D., 2004. A Room of His Own. USC News Article. http://www.usc.edu/uscnews/stories/10741.html.
Al-Said, M., 2003. Detecting Model Clashes During Software Systems Development. PhD Dissertation, University of Southern California.
Arindam, G., 2004. Impact of hardware obsolescence on system software for sustainment-dominated electronic systems. MS Thesis. University of Maryland.
Boehm, B., 1981. Software Engineering Economics. Englewood Cliffs, NJ. Prentice-Hall. Boehm, B., 1988. A spiral model of software development and enhancement. IEEE Software. Boehm, B., 1989. Software Risk Management. Washington, D. C. IEEE-CS Press.
Boehm, B., 1996. Anchoring the Software Process. IEEE Software 73-82.
Boehm, B., 2005. Guidelines for Lean Model-Based (System) Architecting and Software Engineering – Version 1.5,
http://greenbay.usc.edu/csci577/spring2006/site/guidelines/index.html.
Boehm, B., Abts, C., Brown, A.W., Chulani, S., Clark, B., Horowitz, E., Madachy, R., Reifer, D. and Steece, B., 2000. Software Cost Estimation with COCOMO II.
Boehm, B., Egyed, A., Kwan, J., Port, D., Shah, A. and Madachy, R., 1998. Using the WinWin Spiral Model: A Case Study. IEEE Computer: 33-44.
Boehm, B., Port, D., 2001. Balancing Discipline and Flexibility With the Spiral Model and MBASE. CrossTalk.
Boehm, B. W., Port, D., Jain, A., Basili, V., 2002. Achieving CMMI Level 5 Improvements with MBASE and the CeBASE Method. CrossTalk.
Boehm, B., Port, D., Kaiser, G., 2000. A Combined Curriculum Research and Curriculum Development Approach to Software Engineering Education, Thirteenth Conference on Software Engineering Education & Training, Austin, TX.
Kruchten, P., 1998. The Rational Unified Process, Addison-Wesley.
Port, D., Boehm, B., 2001. Using a model framework in developing and delivering a family of software engineering project courses. Fourteenth Conference on Software Engineering Education and Training, Charlotte, NC.
Port, D., Boehm, B., 2002. Tutorial 1: Introducing Software Economics within SWE Project Courses. Fifteenth Conference on Software Engineering Education and Training, Covington, KY.
Software Engineering Institute, 2003. CMMI (Capability Maturity Model Integration), http://www.sei.cmu.edu/cmmi/.
USC CSE, 2006. CSCI 577a Course Website, http://greenbay.usc.edu/csci577/fall2005/site/. USC CSE, 2006. USC Center for Software Engineering Homepage. http://cse.usc.edu. USC Newsroom, 2004. Have Problem, Will Solve.
http://www.usc.edu/uscnews/stories/10285.html.
USC Newsroom, 2006. Viterbi School Will Partner with Chinese Academy in Software Research. http://viterbi.usc.edu/news/news/2006/news_20060426.htm.
Ricardo Valerdi is a Research Associate at the Lean Aerospace Initiative at MIT and a Visiting Associate at the Center for Software Engineering at USC. He earned his BS in Electrical Engineering from the University of San Diego, MS and PhD Systems Architecture & Engineering from USC. Formerly he was a Member of the Technical Staff at the
Aerospace Corporation in the Economic & Market Analysis Center and a Systems Engineer at Motorola and at General Instrument Corporation.
Ray Madachy is an Adjunct Assistant Professor in the Computer Science Department affiliated as a Research Associate with the USC Center for Software Engineering, and a Visiting Scientist with the Software Engineering Institute. Previously he was Chief Scientist at C-bridge Institute, where he led consulting and training in software methodologies and economic analysis. Before that he was manager of the Software Engineering Process Group at Litton Guidance and Control Systems achieving SEI CMM Level 4 after being the lead for software metrics, cost estimation and risk management at Litton Data Systems. He is a co-author of the book Software Cost Estimation with COCOMO II and is currently writing the book Software Process Dynamics with Dr. Barry Boehm. He earned his MS in Systems Science from the University of California, San Diego and a BS in Mechanical Engineering from the University of Dayton.