Skip to main content

2018 | Buch

Software Development Measurement Programs

Development, Management and Evolution

insite
SUCHEN

Über dieses Buch

This book seeks to promote the structured, standardized and accurate use of software measurement at all levels of modern software development companies. To do so, it focuses on seven main aspects: sound scientific foundations, cost-efficiency, standardization, value-maximization, flexibility, combining organizational and technical aspects, and seamless technology integration. Further, it supports companies in their journey from manual reporting to automated decision support by combining academic research and industrial practice.
When scientists and engineers measure something, they tend to focus on two different things. Scientists focus on the ability of the measurement to quantify whatever is being measured; engineers, however, focus on finding the right qualities of measurement given the designed system (e.g. correctness), the system’s quality of use (e.g. ease of use), and the efficiency of the measurement process. In this book, the authors argue that both focuses are necessary, and that the two are complementary. Thus, the book is organized as a gradual progression from theories of measurement (yes, you need theories to be successful!) to practical, organizational aspects of maintaining measurement systems (yes, you need the practical side to understand how to be successful).
The authors of this book come from academia and industry, where they worked together for the past twelve years. They have worked with both small and large software development organizations, as researchers and as measurement engineers, measurement program leaders and even teachers. They wrote this book to help readers define, implement, deploy and maintain company-wide measurement programs, which consist of a set of measures, indicators and roles that are built around the concept of measurement systems. Based on their experiences introducing over 40,000 measurement systems at over a dozen companies, they share essential tips and tricks on how to do it right and how to avoid common pitfalls.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction
Abstract
In this chapter we introduce the problems which are addressed by software measurement—e.g., providing quantitative insights, and we describe the possibilities which open up when we have software measurement of products, processes and enterprise in place. We discuss the possibility of quantitative fact-based management, customer data-driven development and using artificial intelligence (or machine learning) once we have a solid measurement program. Towards the end of the chapter we outline the concept of a company-wide measurement program and introduce the content of the book.
Miroslaw Staron, Wilhelm Meding
Chapter 2. Fundamentals
Abstract
Measurement as a process is nothing new, nor specific to software engineers. As humans, we are used to measuring from other engineering disciplines. However, in software engineering, the science behind measurement—metrology—is relatively little-known, which results in low quality of measurement programs. In this chapter we describe the essence of metrology as a science, and we introduce the concepts from the most relevant standards in the area of measurement in general, and in software engineering in particular. We also show how the scientific view on metrology complements the industrial view on the same aspects.
Miroslaw Staron, Wilhelm Meding
Chapter 3. Measurement Program
Abstract
In this chapter, we build on the theoretical concepts of measurement and discuss the notion of a company-wide measurement program. We describe what a measurement program is and the components that build it up. We go also into details on how we know if a measurement program is successful or not, and whether we need the help of expert consultants and expensive tools to build and maintain a measurement program. We look into how measurement programs can be scaled to suit different company and organizational sizes. These are some of the topics we have addressed over the years, while working with measurement programs at software intensive industry companies. The aim of this chapter is to describe what a measurement program is, how to design, implement and maintain it, and most important, how to succeed in doing so. The goal of this chapter is that you the “company,” or you the “organization,” will be able to do this successfully on your own.
Miroslaw Staron, Wilhelm Meding
Chapter 4. Quality of Measurement Programs
Abstract
Controlling the development of large and complex software is usually done in a quantitative manner, using measurement as the foundation for decision making. Large projects usually collect large amounts of measures, although present only a few key ones for daily project, product, and organization monitoring. The process of collecting, analyzing and presenting the key information is usually supported by automated measurement systems. Since in this process there is a transition from a lot of information (data) to a small number of indicators (measures with decision criteria), the usual question which arises during discussions with managers is whether the stakeholders can trust the indicators w.r.t. the completeness, correctness of information and its timeliness—in other words, what is the quality of the measurement program? In this chapter, we present what characterizes high-quality measurement programs—namely completeness, correctness and information quality. We base this on our previous work in the area and describe how to calculate the completeness of a measurement program based on the product and process structure. After that we continue to describe the concept which is extremely important for the trust in measurements—information quality. Finally, we present the method for assessing the breadth of the measurement programs.
Miroslaw Staron, Wilhelm Meding
Chapter 5. Tooling in Measurement Programs
Abstract
When developing and deploying the measurement program, we can use a variety of tools. Depending on the set-up of the program, these tools differ from monolithic all-in-one-tools to specialized one-measure tools (specialized measurement instruments). In this chapter we explore different types of software tools which are used to realize measurement programs. We start by discussing the difference between measurement tools and measurement instruments, then we continue by describing tools used in various steps of data processing. Finally, we conclude the chapter with a guide on how to select the right visualization of measures and indicators.
Miroslaw Staron, Wilhelm Meding
Chapter 6. Examples of Measures in Measurement Systems
Abstract
Never in history have we collected so much data as we have today; we have even coined an expression for this: “Big data.” Never have we measured and analyzed data as much as we do today. Data is easy to collect and store. Statistical methods and tools, business intelligence (BI) tools, and machine learning, together with cheap data storage and processing, make this possible. Everybody (well, almost) claims to be an expert in measuring. What we see, though, are evidences to the contrary. Companies and organizations are drawn in data and measures, while at the same time, measures are incomplete, misused, or not trusted. If there is one question we have heard over and over again it is “What should we measure?” It is a question asked by everyone, regardless of title, role and position in the organization’s hierarchy. In this chapter, we present a number of measures, how they “came to be,” and how to develop and visualize them. We present also a structured way to categorize measures, into five measurement areas.
Miroslaw Staron, Wilhelm Meding
Chapter 7. New Techniques
Abstract
Measurement, as a discipline, accompanied other software development activities from the beginning of the discipline. Since the beginning, new measurement theories, methods and tools have been developed to accompany the rapid development of the field of software engineering. Today, the main trends which shape the development of the discipline of measurement are (1) availability of large data sets, (2) availability of off-the-shelf machine learning tools, and (3) research in measurement reference etalons. In this chapter, we discuss these three trends, and describe the most prominent techniques useful for the discipline of measurement.
Miroslaw Staron, Wilhelm Meding
Chapter 8. Maintaining and Evolving Measurement Programs
Abstract
There is a broad misconception about measurement programs as many believe that it is enough to set up measurement systems, and then you have (more or less) a measurement program in place. Or, that after hard work the established measurement program will live and thrive forever. This cannot be more far from the truth. The way in which measurement programs are introduced, maintained, and evolved in companies and organizations is of the utmost importance. Keywords like soft issues, involvement, respect, responsiveness, and evolution must be part of the everyday work with the measurement program. These are the topics we address in this chapter
Miroslaw Staron, Wilhelm Meding
Chapter 9. Summary and Future Directions
Abstract
There are two statements that strongly relate to the content of this book. “You can’t control what you can’t measure,” by Tom DeMarco, and “In the future, all companies will be software companies,” by George Colony. The first one relates to the need that all companies and organizations have, i.e. to be able to control everything that happens during the development and the maintenance lifecycle of software products. The second quote relates to the undisputed fact of the technological evolution we are witnessing, i.e. that software is becoming a natural part of more and more products. In this last chapter, we take these two quotes under consideration, as we discuss trends and future directions that will impact the software measurement programs.
Miroslaw Staron, Wilhelm Meding
Metadaten
Titel
Software Development Measurement Programs
verfasst von
Prof. Miroslaw Staron
Wilhelm Meding
Copyright-Jahr
2018
Electronic ISBN
978-3-319-91836-5
Print ISBN
978-3-319-91835-8
DOI
https://doi.org/10.1007/978-3-319-91836-5