ACM Fellow Profile
Elaborate on the work leading up to your achieving the distinction of ACM Fellow:
My selection was for leadership in managing national-level software programs including: the Defense Advanced Research Projects Agency (DARPA) software research program, the Ada program, the Software Technology for Affordable, Reliable Systems (STARS), and the Software Engineering Institute (SEI). These activities were primarily in the decade of the late 70's through the late 80's when software was not a household word and there was little coherence or direction in the software community. I do not suggest that I provided that coherence - only that the programs I managed served as catalysts for addressing the issues and establishing the agendas. Many people made the needed technical contributions.
I am also proud to have been part of the Rational Software team during its early days. I believe we brought some important software engineering concepts to product.
What is the best reference to your work (book or paper, full citation)?
Probably the best single reference is the special issue of IEEE Computer (IEEE Computer, November 1983, 21-29) for which I was one of the guest editors. It shows the breadth of issues and provides insight into how those issues were framed. It also illustrates that there were many technical people involved.
What are your current research interests?
My primary role these days is management. I have not conducted personal research of any significance for quite a while. However, I have an intense interest in the SCRA work on privacy, protection of information systems for healthcare, and computer forensics. Much of this interest stems from the Computer Emergency Response Team experience and my participation on several studies on the vulnerability of our information infrastructure. I am also interested in software architectures and the role that sensor-based computing will play in future software architectures.
What are your current outside interests?
My interests are our six grandchildren, photography, tennis, bicycling and growing roses. I try to combine those interests as often as possible. For instance, since the grandchildren came along, I've converted from wildlife photography to child photography, which is just as challenging since both subjects are in constant motion. As they mature, I plan to involve our grandchildren in my bicycle trips and teach them to play tennis.
What was the greatest influence on you?
My grandfather was a self-taught engineer. He had to quit school after the sixth grade to help his widowed mother support his younger siblings. Through self-study, he became an engineer and eventually chief engineer at Otis Elevator. He instilled in me the importance of education as a lifelong exercise, and by example helped me see engineering as a profession that improves people's quality of life.
What was your greatest influence?
Probably the greatest influence was as director of the Software Engineering Institute during its formative years from 1986-1996. By influencing the SEI agenda, I had the opportunity to work with a broad segment of the community and I hope exert some influence.
Who do you think has made the greatest impact on software engineering?
I don't think you can single out one person as having had the greatest impact. NO one person defined the field and many have made important contributions. There are several people whose contributions I respect: John Backus, Barry Boehm, Fred Brooks, Nico Habermann, Dave Parnas, and Bill Wulf. I also include Mike Devlin, co-founder and technical visionary behind Rational Software, and Tim Standish, recently retired from UC Irvine. Their contributions are much less known but no less substantial. Both are visionaries and both had the perseverance to turn their ideas into working systems.
What's your favorite story about software engineering development?
In the early years at Rational, when development of the environment product was well under way, we realized that we had left out an important functionality. Our choice was to add it on or integrate it into the environment, which meant making a significant change to the architecture. We stopped development for over a month at a very critical time to make the architectural changes. Although it was a difficult and painful decision, in retrospect, I believe it made the product successful. The important lesson is that the entire team was willing to follow our own dictum to maintain the integrity of the architecture rather than let it erode.
Which computer-related areas are most in need of investment by government, business or education?
Information systems security and privacy are way ahead of everything else in terms of needed attention. It appears that the funding is about to increase dramatically. The community will need to respond with great ideas to make good use of the additional funding.
What advice do you have for computer science/software engineering students?
Software engineers face enormous challenges. We are building systems that have so much complexity that they require deep thought, innovation, and discipline. Entire enterprises, even people's safety often may depend on your work. Approach your work as a profession and devote your study and energy to it as a lifelong profession.
What is the most often-overlooked risk in software engineering?
Inadequate design consideration for eliminating unexpected consequences, and then testing for them. We have too many systems out there with undocumented features.
What is the most repeated mistake in software engineering?
Not making the software architecture explicit and when it is explicit, not maintaining the integrity of the architecture as it evolves (including when it is fielded and under evolution).
What are the most exciting/promising software engineering ideas or techniques on the horizon?
Characterization of software architectures and analysis techniques for determining those architectural features that most affect the non-functional attributes of a system. Although these notions have been on the horizon for some time, I believe they are still "on the horizon." When we understand them, then some of the other elusive "horizon" opportunities such as reuse will be much more within our grasp.
What are your plans for the future or the next five years?
In the near term, I would like to see us get the mechanisms in place to protect our infrastructure systems, particularly healthcare. I believe that the software community can do an enormous amount to improve delivery of healthcare. I also believe we have a lot to contribute to distance learning. In the longer term, although I don't have a time frame, I would like to engage in personal research in distance learning. I also want to take advantage of the opportunities it promises to further my own education in areas outside computing that I have so long neglected.
Profiled by David John Leciston