Bill Curtis


Bill Curtis (born 1948) is a software engineer best known for leading the development of the Capability Maturity Model[1][2] and the People CMM[3] in the Software Engineering Institute at Carnegie Mellon University, and for championing the spread of software process improvement and software measurement globally.[4][5][6] In 2007 he was elected a Fellow of the Institute of Electrical and Electronics Engineers (IEEE) for his contributions to software process improvement and measurement.

Bill Curtis
Bill Curtis

EducationThe University of Texas
Texas Christian University
Eckerd College
OrganizationCISQ (Director), Institute of Electrical and Electronics Engineers (IEEE), Association for Computing Machinery (ACM), Institute for Operations Research and the Management Sciences
Known forCMM, People CMM, Software process improvement, Software productivity and quality measurement, Design process, CISQ, MCC Human Interface Lab, CHI Conference, Software Quality, Software productivity measurement, Software Process Improvement, Statistics, Organizational Maturity, Human Factors in Software Engineering

Personal lifeEdit

Bill Curtis was born in Meridian, Texas in 1948. He graduated from the Fort Worth Country Day School in 1967 where the Bill Curtis Award is given annually to the undergraduate boy whose performance contributes the most to the athletic program. He received his B.A. in mathematics, psychology, and theater in 1971 from Eckerd College in St. Petersburg, Florida. He received his M.A. in 1974 from The University of Texas. He received his Ph.D. specializing in organizational psychology and statistics in 1975 from Texas Christian University in Fort Worth, Texas. He has published 4 books, over 150 articles, and has been on the editorial board of 7 academic journals. He lives in Fort Worth, Texas.


He started his career as a Research Assistant Professor in the Organizational Research Group at the University of Washington where he also taught statistics in the Department of Psychology and performed research on programmer skills, leadership, and sports psychology.[7][8] He entered software engineering in 1978 as the Manager of Software Management Research at Information System Programs in General Electric's Space Division (now a division of Lockheed Martin) in Arlington, Virginia, where he led research on software metrics and programming practices. From 1980 to 1983 he developed a global software productivity and quality measurement system in ITT's Programming Technology Center.

During 1983–1990 he founded the Human Interface Laboratory and later led Design Process Research at Microelectronics and Computer Technology Corporation (MCC), the American Fifth Generation Computer Research Consortium in Austin, Texas.[9] During 1991–1992 he was the Director of the Software Process Program at the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh, Pennsylvania, where he led the projects that produced the Capability Maturity Model for Software (CMM).[1][2] and the People CMM [3] In 1993 he returned to Austin and co-founded TeraQuest Metrics, which provided CMM-based improvement services globally. TeraQuest was acquired by Borland Software Corporation in 2005, where he became the Chief Process Officer.

He is currently the Director of the Consortium for IT Software Quality (CISQ), an IT industry leadership group founded by the SEI and OMG. Under his leadership CISQ has begun releasing standards for measuring the size (Automated Function Point Counting) and structural quality characteristics of software at the code and software architecture level.

Significant contributionsEdit

Maturity models and process improvementEdit

Dr. Curtis initiated the project to create the Capability Maturity Model (CMM) in 1991 after he had been selected to succeed Watts Humphrey as the Director of the Software Engineering Institute's Software Process Program. The CMM integrated the software development best practices the SEI had been collecting into Humphrey's Process Maturity Framework.[10] The CMM for Software Version 1.0 was released in August, 1991 and Version 1.1 in January, 1993,[2] and the CMM was published as a book in 1995.[1] Throughout the 1990s he promoted the CMM to companies and government agencies in the U.S, E.U., and Asia, contributing to its global adoption as a method for guiding process improvement and for evaluating the capability of software organizations.

Dr. Curtis recognized that Humphrey's Process Maturity Framework was a unique model of organizational development that challenged conventional wisdom on how to conduct organizational improvement programs and could be applied to organizational processes far beyond software development. With his background in organizational psychology, he proposed applying Humphrey's framework to human capital management practices. Working with Bill Hefley and Sally Miller, he created the People CMM,[3] validating the broad applicability of the Process Maturity Framework to many different organizational processes. The People CMM stages the implementation of increasingly sophisticated human capital management practices across the five levels of organizational maturity proposed by Humphrey. The People CMM has been used by several Fortune 200 companies to guide workforce development programs, and has been widely adopted by offshore system integrators and outsourcers to help manage the rapid growth of their workforces.[11]

With support from Nedbank in South Africa, Dr. Curtis and Charles Weber developed a Business Process Maturity Model (BPMM)[12] to extend the benefits of CMM and CMMI which are project-based, to the continuous value-chain processes of a business. The BPMM includes several new innovations in maturity models based on a decade of experience in applying them to guide process improvement programs. The BPMM has been applied and validated in the banking, electronic equipment manufacturing, medical services, and gaming industries. The BPMM has recently become a supported specification (standard) of the Object Management Group's Business Process Management Initiative.

Software measurementEdit

Dr. Curtis led a team at General Electric Space Division that was the first to prove experimentally that software metrics could be used to predict programmer performance and quality.[13] His group provided early leadership in studying programming practices experimentally.[14][15][16] He next developed a global software productivity and quality measurement system while at ITT's Programming Technology Center which allowed established corporate baselines across different business lines in one of the world's largest corporate conglomerates. He has promoted the use of advanced statistic methods in managing software productivity and quality.[17][18]

In 2009 Dr. Curtis became the founding Director of the Consortium for IT Software Quality (CISQ) that was created with joint sponsorship from the SEI and OMG. CISQ's primary objective has been to create standards for measuring the size and quality attributes of software at the code level. Under his leadership CISQ has recently had a standard for computing Automated Function Points approved by OMG.[19] CISQ has also released a standard for computing automated measures of software reliability, performance efficiency, security, and quality.[20]

Design processEdit

Curtis has been an advocate for studying the psychological and behavioral processes of software development.[21][22] In 1986 he established Design Process Research in the Software Technology Program at MCC. Over the next four years his team published research that challenged the existing top-down paradigms of software design. They interviewed design teams on large software to reveal the greatest challenges they encountered in designing large software-intensive systems.[23] They videotaped design team meetings over a three-month period to see how designs actually emerged from the team dialectic.[24] They also videotaped individual software designers solving problems to uncover the cognitive processes of design.[25] Their insights have been cited as an argument for the use of agile development methods in software.[26]

User interfaceEdit

Dr. Curtis led the creation of MCC's Human Interface Laboratory[9] that focused on creating tools for designing advanced user interfaces that integrated artificial intelligence with multi-media technology. In 1980 acquired funding from the Washington, D.C. Chapter of the Association for Computing Machinery (ACM) to launch the initial conference on Human Factors in Computer Systems, which became the Association for Computing Machinery's successful CHI conference series on user interface technology. He was program Chair for CHI'85 [18] and General Chair for CHI'89. He was an advocate for making user interface design an engineering design discipline[27] and for more sensible approaches to protecting the intellectual property in user interfaces.[28]


  1. ^ a b c Paulk, Mark C.; Weber, Charles V; Curtis, Bill; Chrissis, Mary Beth (1995). The Capability Maturity Model: Guidelines for Improving the Software Process. SEI series in software engineering. Reading, Mass.: Addison-Wesley. ISBN 0-201-54664-7.
  2. ^ a b c Paulk, Mark C.; Weber, Charles V; Curtis, Bill; Chrissis, Mary Beth (February 1993). "Capability Maturity Model for Software (Version 1.1)" (PDF). Technical Report. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University. CMU/SEI-93-TR-024 ESC-TR-93-177.
  3. ^ a b c Hefley, Mark William E; Miller, Sally A; Curtis, Bill (2002). The People Capability Maturity Model : guidelines for improving the workforce. SEI series in software engineering. Addison-Wesley. ISBN 0-201-60445-0.
  4. ^ Curtis, B. & Paulk, M.C. (1993) Creating a software process improvement program. Information and Software Technology, 35, 381-386
  5. ^ Curtis, B. (2000). The global pursuit of process maturity. IEEE Software, 17 (4), 76-78
  6. ^ Curtis, B., Kellner, M., & Over, J. Process modeling. Communications of the ACM, 35 (9), 75-90
  7. ^ Curtis, B., Smith, R.E., & Smoll, F.L. Scrutinizing the skipper: A study of leadership behaviors in the dugout. Journal of Applied Psychology, 64 (4), 391-400
  8. ^ Smith, R.E., Smoll, F.L., & Curtis, B. Coach effectiveness training: A cognitive-behavioral approach to enhancing the relationship skills in youth sports coaches. Journal of Sports Psychology, l (l), 59-75
  9. ^ a b Gibson, D.V. & Rogers, E.M. (1994). R&D Collaborations On Trial. Boston: Harvard Business School Press.
  10. ^ Humphrey, W.S. (1989). Managing the Software Process. Reading, MA : Addison-Wesley
  11. ^ Curtis, B., Hefley, W.E., & Miller, S. (2003). Experiences applying the People Capability Maturity Model. Crosstalk: The Journal of Defense Software Engineering, 16 (4), 9-13.
  12. ^ Weber, C.V. & Curtis, B. (2004). Business Process Maturity Model. Austin: TeraQuest.
  13. ^ Curtis, B., Sheppard, S.B., Milliman, P., Borst, A., & Love, T. (1979). Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics. IEEE Transactions on Software Engineering, 5 (2), 96-104.
  14. ^ Sheppard, S.B., Curtis, B., Milliman, P., & Love, T. (1979). Modern coding practices and programmer performance. IEEE Computer, 12 (12), 41-49.
  15. ^ Curtis, B., Sheppard, S.B., Kruesi-Bailey, V., Bailey, J., & Boehm-Davis, D. (1989). Experimental evaluation of software specification formats. Journal of Systems and Software, 9 (2), 167-207.
  16. ^ Curtis, B. (1980). Measurement and experimentation in software engineering. Proceedings of the IEEE, 68 (9), 1144–1157.
  17. ^ Curtis, B., Seshagiri, G.V., Riefer, D., Hirmanpour, I., Keeni, G. (2008). The case for quantitative process management. IEEE Software, 25(3), 24-28.
  18. ^ a b Curtis, B., Sappidi, J., & Szynkarski, A. (2012). Estimating the principal of an application's technical debt. IEEE Software, 29 (6), 34-42.
  19. ^ CISQ (2012). Automated Function Point Specification.[permanent dead link]
  20. ^ CISQ (2012). CISQ Specification for Automated Quality Characteristic Measures. "Archived copy" (PDF). Archived from the original (PDF) on 2013-09-03. Retrieved 2013-05-05.{{cite web}}: CS1 maint: archived copy as title (link)
  21. ^ Curtis, B. (1981, Ed.). Human Factors in Software Development. Washington, DC: IEEE Computer Society.
  22. ^ Curtis, B., Soloway. E., Brooks, R., Black, J., Ehrlich, K., & Ramsey, H.R. (1986). Software psychology: The need for an interdisciplinary program. Proceedings of the IEEE, 74 (8), 1092–1106.
  23. ^ Curtis, B., Krasner, H., & Iscoe, N. (1988). A field study of the software design process for large systems. Communications of the ACM, 31 (11), 1268–1287.
  24. ^ Guindon, R. & Curtis, B. (1988). Control of cognitive processes during design: What tools are needed? Proceedings of CHI'88. New York: ACM, 263-268.
  25. ^ Walz, D.B., Elam, J.J., & Curtis, B. (1993). Inside a software design team: Knowledge acquisition, sharing, and integration. Communications of the ACM, 36 (10), 62-77.
  26. ^ Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development: An Agile Toolkit. Boston: Addison-Wesley, p. 18.
  27. ^ Borman, L. & Curtis, B. (1985, Eds.). Human Factors in Computing Systems–II. New York: North-Holland.
  28. ^ Curtis, B. & Hefley, B. (1994). A WIMP no more: The maturing of user interface engineering. Interactions, 1 (1), 22-34.