most significant figure in the field of software ... methods and software engineering (Boehm &. Turner, 2004) to .... getting them to learn how to systems engineer.
Int’l Journal of Information Technologies and the Systems Approach, 1(2), 99-103, July-December 2008 99
Software Engineering and the Systems Approach: A Conversation with Barry Boehm Jo Ann Lane, University of Southern California Center for Systems and Software Engineering, USA Doncho Petkov, Eastern Connecticut State University, USA Manuel Mora, Autonomous University of Aguascalientes, Mexico
INTRODUCTION
IJITSA is honored by the fact that this issue presents an interview with probably the most significant figure in the field of software engineering since its inception and one of its founders, Professor Barry W. Boehm. He has published many seminal books and papers that have shaped the foundations of software engineering. We have included in the references just a small sample of his numerous publications addressing some of the fundamental issues in this field in recent years. They cover diverse topics ranging from a comparison of agile development methods and software engineering (Boehm & Turner, 2004) to reflections on enhancing software engineering education (Boehm, 2006c). A thought-provoking review of the evolution of software engineering and its current challenges is presented in Boehm (2006b), while his thoughts on the need to integrate more closely software and systems engineering are reflected in Boehm (2006a) and Boehm and Lane (2006). The questions we asked Professor Boehm relate to his significant contributions to software engineering and enhancing its links to the systems approach.
Dr. Barry Boehm is the TRW Professor of Software Engineering and Director, Center for Software Engineering, University of Southern California. He received his B.A. degree from Harvard in 1957 and his M.S. and Ph.D. degrees from UCLA in 1961 and 1964, all in mathematics. He also received an honorary Sc.D. in computer science from the University of Massachusetts in 2000. He served within the U.S. Department of Defense (DoD) as Director of the DARPA Information Science and Technology Office, and as Director of the DDR&E Software and Computer Technology Office. He worked at TRW from 1973 to 1989, culminating as Chief Scientist of the Defense Systems Group, and at the Rand Corporation from 1959 to 1973, culminating as Head of the Information Sciences Department. He was a Programmer-Analyst at General Dynamics between 1955 and 1959. Professor Boehm’s current research interests focus on value-based software engineering, including a method for integrating a software system’s process models, product models, property models, and success models called Model-Based (System) Architecting and Soft-
Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
100 Int’l Journal of Information Technologies and the Systems Approach, 1(2), 99-103, July-December 2008
ware Engineering (MBASE). His contributions to the field include the Constructive Cost Model (COCOMO), the Spiral Model of the software process, the Theory W (win-win) approach to software management and requirements determination, the foundations for the areas of software risk management and software quality factor analysis, and two advanced software engineering environments: the TRW Software Productivity System and Quantum Leap Environment. He has served on the boards of several scientific journals, including the IEEE Transactions on Software Engineering, IEEE Computer, IEEE Software, ACM Computing Reviews, Automated Software Engineering, Software Process, and Information and Software Technology. He has served as Chair of the AIAA Technical Committee on Computer Systems, Chair of the IEEE Technical Committee on Software Engineering, and as a member of the Governing Board of the IEEE Computer Society. He has also served as Chair of the Air Force Scientific Advisory Board’s Information Technology Panel, Chair of the NASA Research and Technology Advisory Committee for Guidance, Control, and Information Processing, and Chair of the Board of Visitors for the CMU Software Engineering Institute. Professor Boehm was the recipient of numerous honors and awards, which include among others the ACM Distinguished Research Award in Software Engineering (1997) and the IEEE Harlan D. Mills Award (2000). He is a Fellow of the primary professional societies in computing (ACM), aerospace (AIAA), electronics (IEEE), and systems engineering (INCOSE), and a member of the National Academy of Engineering.
THE CONVERSATION IJITSA: Professor Boehm, thank you for agreeing to this interview for IJITSA. You have noted in your previous writings the need for integration of systems engineering and software engineering. Please could you provide your opinion on why the systems approach is useful to software engineering?
Professor Boehm: I think the most convincing reason for that is most of the analyses of the root causes of failed software projects. They tend not to be whether you got your algorithms and data structures correct. They tend to be failures in doing the systems engineering. Getting the wrong requirements, or getting incomplete requirements, or getting the wrong stakeholders to give you requirements, or not understanding the feasibility of the requests, or being able to estimate cost or schedule, or tradeoffs in performance and reliability. So, most of the projects that fail seem to be failing because of failures in doing a good job of systems engineering. As we’ve tried to teach software engineers here at USC, we find that what we end up doing in the whole first semester of a two-semester course is getting them to learn how to systems engineer the operational concepts, the prototypes, the requirements, the architecture, the plans and get those right before they start doing a lot of detailed programming. IJITSA: How would you assess the current level of information technology professionals practicing a systems approach? Would you say that the IT community faces a challenge to include more systems thinking in the state of the practice and state of theory in software engineering, information systems or systems engineering? Professor Boehm: I think there is a bit of a gap in that there are some information technology professionals who are good at business workflows and things like that, but do not have a really deep computer science background as far as knowing whether the COTS products that they rely on are scalable or able to be tailored in ways that are necessary for the application. And on the other hand, there is a bunch of people who major in computer science who know all of that stuff, but don’t know much about the business workflows. I think what’s really valuable is when you get information technology professionals who have enough depth to do both of those things. And so, with the business-intensive people that do IT in the business school, we have just set up a joint Master’s Program where
Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Int’l Journal of Information Technologies and the Systems Approach, 1(2), 99-103, July-December 2008 101
you can get a master’s in the management of software engineering that says that you need to know what the Business School people know about management and business applications, but you will also need to know what software engineers do about the algorithms, data structures, object-oriented methods, architectures, and those kinds of things. IJITSA: What would be your recommendations for a better introduction of systems ideas in the software engineering and information systems curriculum at undergraduate and postgraduate levels? Professor Boehm: This is easier to do for the post-graduate level. At the undergraduate level, it is hard to get people up to speed in both these things that are needed to understand information systems and computer science. So at USC, we find you can teach them a principles course in the junior year and they sort of get it and a small project course in the senior year and they get it a bit more. But where it all seems to come together best is really at the master’s degree level. If they are well-enough grounded in one or the other, they can learn what they need to learn about the counterpart things: systems engineering if they are more in software engineering, software engineering if they are more systems oriented. Actually, this is the direction that the current software engineering body of knowledge group is going. The previous body of knowledge was fairly heavy on computer science aspects. The more recent one is more appreciative and reflective of systems analysis, economics, business cases analyses, and things like that. Also, there is a similar activity to define a body of knowledge that is not just driven by academics, but really driven by a balance of academic and industry people that I think will have even more emphasis on the systems engineering and the management aspects. IJITSA: You have pioneered and inspired significant research in software cost and effort estimation over many years. How would you characterize the role of the systems approach
for the more recent evolution of the body of knowledge in that area? Professor Boehm: Well again, as we saw with software engineering, it really needed to adapt more to the practices that are involved in systems engineering and software engineers needed to know more about the aspects of the rest of the system like the hardware, the facilities, and things like that. So what that means is that where our previous cost models really focused on defining and designing and developing the software, we’ve gone more into looking at models that estimate the cost of doing systems engineering, integrating systems of systems, integrating commercial-off-the-shelf (COTS) products, or things like that. A lot of the systems approach has been valuable in providing things like system engineering standards such as ISO 15288 and EIA 632 that give you representative work breakdown structures that you can relate to in doing these estimation models. IJITSA: You indicate in some 2006 papers (Boehm, 2006a; Boehm & Lane, 2006d) that there is a need for considering alternative soft approaches such as those embodied in the ideas of Peter Checkland. Why do you think that a variety of systems approaches from different paradigms would improve our understanding of important software engineering activities? Professor Boehm: Let me turn the question around a little bit. I think the software people really had to understand the role of people in systems more rapidly than some of the traditional system engineers who were engineering bridges and buildings and various kinds of physical artifacts. So, a lot of the soft systems engineering was necessary for software engineers to adapt as far as what they did with the front end of the life cycle. As I got more involved in doing this, I started seeing a lot of this really good work that John Warfield, Peter Checkland, and Eberhart Rechtin were doing in trying to take a more holistic approach to “what is a system?” There are still definitions of systems in the systems engineering field that say they do not include the people. But it’s hard these days to exclude the people from being
Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
102 Int’l Journal of Information Technologies and the Systems Approach, 1(2), 99-103, July-December 2008
part of the problem and part of the solution when you are trying to engineer a system that has software in it. IJITSA: What do you think of the potential of the systems approach to address some unresolved research challenges in the disciplines of information systems, software engineering or systems engineering? Professor Boehm: I think that it’s really been extremely valuable. As we have tried to do this in what we do in teaching computer science people how to do a systems approach, it has been very valuable. I was recently on a National Research Council study that was trying to come up with better ways in integrating human factors into the system development process, and again, the system approach had an appropriate framework for doing this, particularly if you included people as part of the system. I think it has been good to see that the “systems approach” has broadened enough to so that it does account for all of those kinds of things. There are still a lot of devils in the details about how do you come up with systems approaches that fit all of the different possible configurations of systems that need to be built these days. But I think the framework is going to be strong enough to help address those. IJITSA: Could you give us, please, a final message related to the systems approach movement in IT in general and in software engineering more specifically? Professor Boehm: Well, I think we were approaching that in the previous question which is that the systems that we are trying to engineer these days are getting a lot more complicated than the ones that were done before in that they are trying to pull together existing systems that have different owners and are operating on different timescales, different objectives, and
different management chains. And somehow we need to make these things come together and operate as some kind of unified whole. At the same time these things are becoming more software intensive, so the software needs to be brought more up front. The pace of change in the system means that you have to do the systems engineering very rapidly or the system will be obsolete by the time you build it. And these things need to be much more resilient than they used to be because they are now driving the whole world’s financial systems, the whole world’s emergency services, and all the things we rely on in preserving and having a good quality of life. IJITSA: Thanks very much for sharing your knowledge and wisdom with the IJITSA readers and us.
References Boehm, B. (2006a). Some future trends and implications for systems and software engineering processes. Systems Engineering, 9(1), 1-19. Boehm, B. (2006b). A view of 20th and 21st century software engineering. In Proceeding of the 28th International Conference on Software Engineering, Shanghai, China (pp. 12–29). New York: ACM Press. Boehm, B. (2006c). Educating students in valuebased design and development (Keynote Address). In Proceedings of the 19th Conference on Software Engineering Education and Training (CSEET) (p. 3). IEEE Computer Society. Boehm, B., & Lane, J. (2006, May). 21st century processes for acquiring 21st century software-intensive systems of systems. Crosstalk: The Journal of Defense Software Engineering, 1-9. Boehm, B., & Turner, R. (2004). Balancing agility and discipline - a guide for the perplexed. Boston: Addison –Wesley.
Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Int’l Journal of Information Technologies and the Systems Approach, 1(2), 99-103, July-December 2008 103
Jo Ann Lane is currently a principal at the University of Southern California Center for Systems and Software Engineering conducting research in the area of system of systems engineering. In this capacity, she is currently working on a cost model to estimate the effort and risk associated with system-of-system architecture definition and integration. Prior to this, she was a key technical member of Science Applications International Corporation’s Software and Systems Integration Group responsible for the development and integration of software-intensive systems and systems of systems. Don Petkov is a professor in IS at Eastern Connecticut State University. He is a senior area editor in SwE for IJITSA, a member of the editorial boards of Systems Research and Behavioral Science, Scientific Inquiry and a co-editor of the International Journal of Computers, Systems and Signals. His papers have appeared in the Journal of Systems and Software, Decision Support Systems, Telecommunications Policy, JITTA, JITCAR, Intl Journal on Technology Management, Kybernetes and elsewhere. Manuel Mora is an associate professor of information systems in the Autonomous University of Aguascalientes (UAA), Mexico, since 1994. Dr. Mora holds a BS in computer systems engineering (1984) and a MSc in artificial intelligence (1989) from Monterrey Tech (ITESM), and an EngD in systems engineering (2003) from the National Autonomous University of Mexico (UNAM). He has published around 30 research papers in international top conferences, books and/or journals, and he is a founder member and Operational EiC of the IJITSA.
Copyright © 2008, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.