Bill Curtis | |
---|---|
Born | Bill Curtis 1948 Meridian, Texas, U.S. |
Nationality | American |
Education | The 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]
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. [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.
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.
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]
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]
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]
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.
The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Software engineering is an engineering approach to software development. A practitioner, a software engineer, applies the engineering design process to develop software.
Software Engineering Institute (SEI) is a federally funded research and development center in Pittsburgh, Pennsylvania, United States. Founded in 1984, the institute is now sponsored by the United States Department of Defense and the Office of the Under Secretary of Defense for Research and Engineering, and administrated by Carnegie Mellon University. The activities of the institute cover cybersecurity, software assurance, software engineering and acquisition, and component capabilities critical to the United States Department of Defense.
In computer science, static program analysis is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution in the integrated environment.
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."
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.
In the context of software engineering, software quality refers to two related but distinct notions:
A software factory is a structured collection of related software assets that aids in producing computer software applications or software components according to specific, externally defined end-user requirements through an assembly process. A software factory applies manufacturing techniques and principles to software development to mimic the benefits of traditional manufacturing. Software factories are generally involved with outsourced software creation.
Software assurance (SwA) is a critical process in software development that ensures the reliability, safety, and security of software products. It involves a variety of activities, including requirements analysis, design reviews, code inspections, testing, and formal verification. One crucial component of software assurance is secure coding practices, which follow industry-accepted standards and best practices, such as those outlined by the Software Engineering Institute (SEI) in their CERT Secure Coding Standards (SCS).
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.
Roger Redmond Bate was a brigadier general, Rhodes Scholar, professor, and scientist who had 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.
CAST is a technology corporation headquartered in New York City and France, near Paris. It was founded in 1990 in Paris, France, by Vincent Delaroche.
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.
{{cite web}}
: CS1 maint: archived copy as title (link)