Bill Curtis

Last updated
Bill Curtis
Born
Bill Curtis

1948
NationalityAmerican
EducationThe University of Texas
Texas Christian University
Eckerd College
Organization(s) CISQ (Director), Institute of Electrical and Electronics Engineers (IEEE), Association for Computing Machinery (ACM), Institute for Operations Research and the Management Sciences
Known for CMM, 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

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. He was named to the 2022 class of ACM Fellows, "for contributions to software process, software measurement, and human factors in software engineering". [7]

Contents

Personal life

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.

Career

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. [8] [9] 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. [10] 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 contributions

Maturity models and process improvement

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. [11] 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. [12]

With support from Nedbank in South Africa, Dr. Curtis and Charles Weber developed a Business Process Maturity Model (BPMM) [13] 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 measurement

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. [14] His group provided early leadership in studying programming practices experimentally. [15] [16] [17] 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. [18] [19]

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. [20] CISQ has also released a standard for computing automated measures of software reliability, performance efficiency, security, and quality. [21]

Design process

Curtis has been an advocate for studying the psychological and behavioral processes of software development. [22] [23] 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. [24] They videotaped design team meetings over a three-month period to see how designs actually emerged from the team dialectic. [25] They also videotaped individual software designers solving problems to uncover the cognitive processes of design. [26] Their insights have been cited as an argument for the use of agile development methods in software. [27]

User interface

Dr. Curtis led the creation of MCC's Human Interface Laboratory [10] 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 [19] and General Chair for CHI'89. He was an advocate for making user interface design an engineering design discipline [28] and for more sensible approaches to protecting the intellectual property in user interfaces. [29]

Related Research Articles

The Capability Maturity Model (CMM) is a development model created in 1986 after a study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. The term "maturity" relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined steps, to managed result metrics, to active optimization of the processes.

Software engineering is a systematic engineering approach to software development.

<span class="mw-page-title-main">Software Engineering Institute</span>

The Software Engineering Institute (SEI) is an American research and development center headquartered in Pittsburgh, Pennsylvania. Its activities cover cybersecurity, software assurance, software engineering and acquisition, and component capabilities critical to the United States Department of Defense.

In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property. Even if a metric is not a measurement, often the two terms are used as synonyms. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance, testing, software debugging, software performance optimization, and optimal personnel task assignments.

The following outline is provided as an overview of and topical guide to software engineering:

Watts S. Humphrey was an American pioneer in software engineering who was called the "father of software quality."

Statistical process control (SPC) or statistical quality control (SQC) is the application of statistical methods to monitor and control the quality of a production process. This helps to ensure that the process operates efficiently, producing more specification-conforming products with less waste. SPC can be applied to any process where the "conforming product" output can be measured. Key tools used in SPC include run charts, control charts, a focus on continuous improvement, and the design of experiments. An example of a process where SPC is applied is manufacturing lines.

The Personal Software Process (PSP) is a structured software development process that is designed to help software engineers better understand and improve their performance by bringing discipline to the way they develop software and tracking their predicted and actual development of the code. It clearly shows developers how to manage the quality of their products, how to make a sound plan, and how to make commitments. It also offers them the data to justify their plans. They can evaluate their work and suggest improvement direction by analyzing and reviewing development time, defects, and size data. The PSP was created by Watts Humphrey to apply the underlying principles of the Software Engineering Institute's (SEI) Capability Maturity Model (CMM) to the software development practices of a single developer. It claims to give software engineers the process skills necessary to work on a team software process (TSP) team.

Capability Maturity Model Integration (CMMI) is a process level improvement training and appraisal program. Administered by the CMMI Institute, a subsidiary of ISACA, it was developed at Carnegie Mellon University (CMU). It is required by many U.S. Government contracts, especially in software development. CMU claims CMMI can be used to guide process improvement across a project, division, or an entire organization. CMMI defines the following maturity levels for processes: Initial, Managed, Defined, Quantitatively Managed, and Optimizing. Version 2.0 was published in 2018. CMMI is registered in the U.S. Patent and Trademark Office by CMU.

In the context of software engineering, software quality refers to two related but distinct notions:

Software assurance (SwA) is defined as "the level of confidence that software is free from vulnerabilities, either intentionally designed into the software or accidentally inserted at any time during its lifecycle, and that the software functions in the intended manner."

Capability Immaturity Model (CIMM) in software engineering is a parody acronym, a semi-serious effort to provide a contrast to the Capability Maturity Model (CMM). The Capability Maturity Model is a five point scale of capability in an organization, ranging from random processes at level 1 to fully defined, managed and optimized processes at level 5. The ability of an organization to carry out its mission on time and within budget is claimed to improve as the CMM level increases.

The function point is a "unit of measurement" to express the amount of business functionality an information system provides to a user. Function points are used to compute a functional size measurement (FSM) of software. The cost of a single unit is calculated from past projects.

The terms "DOD-STD-2167" and "DOD-STD-2168" are the official specification numbers for superseded U.S. DoD military standards describing documents and procedures required for developing military computer systems. Specifically:

<span class="mw-page-title-main">Roger R. Bate</span> American academic and United States Air Force general

Roger Redmond Bate was a brigadier general, Rhodes Scholar, professor, and scientist who has held a variety of positions with the Air Force, Texas Instruments, and the Software Engineering Institute at Carnegie Mellon University.

The Consortium for IT Software Quality (CISQ) is an IT industry group comprising IT executives from the Global 2000, systems integrators, outsourced service providers, and software technology vendors committed to making improvements in the quality of IT application software.

<span class="mw-page-title-main">CAST (company)</span>

CAST is a technology corporation headquartered in New York City and in France, near Paris. It was founded in 1990 in Paris, France, by Vincent Delaroche.

Software Intelligence is insight into the inner-working and structural condition of software assets produced by software designed to analyze database structure, software framework and source code to better understand and control complex software systems in Information Technology environments. Similarly to Business Intelligence (BI), Software Intelligence is produced by a set of software tools and techniques for the mining of data and software's inner-structure. End results are automatically produced and feed a knowledge base containing technical documentation and make it available to all to be used by business and software stakeholders to make informed decisions, measure the efficiency of software development organizations, communicate about the software health, prevent software catastrophes.

<span class="mw-page-title-main">Larry Druffel</span>

Larry E. Druffel is an American engineer, Director Emeritus and visiting scientist at the Software Engineering Institute (SEI) at Carnegie Mellon University. He has published over 40 professional papers/reports and authored a textbook. He is best known for leadership in: (1) bringing engineering discipline and supporting technology to software design and development, and (2) addressing network and software security risks.

References

  1. 1 2 3 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. 1 2 3 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. 1 2 3 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. "Global computing association names 57 fellows for outstanding contributions that propel technology today". Association for Computing Machinery. January 18, 2023. Retrieved 2023-01-18.
  8. 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
  9. 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
  10. 1 2 Gibson, D.V. & Rogers, E.M. (1994). R&D Collaborations On Trial. Boston: Harvard Business School Press.
  11. Humphrey, W.S. (1989). Managing the Software Process. Reading, MA : Addison-Wesley
  12. 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.
  13. Weber, C.V. & Curtis, B. (2004). Business Process Maturity Model. Austin: TeraQuest. http://www.omg.org/spec/BPMM/1.0/PDF/
  14. 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.
  15. Sheppard, S.B., Curtis, B., Milliman, P., & Love, T. (1979). Modern coding practices and programmer performance. IEEE Computer, 12 (12), 41-49.
  16. 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.
  17. Curtis, B. (1980). Measurement and experimentation in software engineering. Proceedings of the IEEE, 68 (9), 1144–1157.
  18. Curtis, B., Seshagiri, G.V., Riefer, D., Hirmanpour, I., Keeni, G. (2008). The case for quantitative process management. IEEE Software, 25(3), 24-28.
  19. 1 2 Curtis, B., Sappidi, J., & Szynkarski, A. (2012). Estimating the principal of an application's technical debt. IEEE Software, 29 (6), 34-42.
  20. CISQ (2012). Automated Function Point Specification. http://it-cisq.org/wp-content/uploads/2012/09/13-02-01-Automated-Function-Points.pdf%5B%5D
  21. 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)
  22. Curtis, B. (1981, Ed.). Human Factors in Software Development. Washington, DC: IEEE Computer Society.
  23. 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.
  24. 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.
  25. Guindon, R. & Curtis, B. (1988). Control of cognitive processes during design: What tools are needed? Proceedings of CHI'88. New York: ACM, 263-268.
  26. 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.
  27. Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development: An Agile Toolkit. Boston: Addison-Wesley, p. 18.
  28. Borman, L. & Curtis, B. (1985, Eds.). Human Factors in Computing Systems–II. New York: North-Holland.
  29. Curtis, B. & Hefley, B. (1994). A WIMP no more: The maturing of user interface engineering. Interactions, 1 (1), 22-34.