There are clearly four distinctly different measurement domains. We would like very much to understand the complex relationships among these four domains. Much of what we wish to know about good software construction will be determined by the mappings that we will make between the four domains. Good programmers, for example, will follow good programming processes that will, in
The process of building strong functional (and useful) relationships among the four measurement domains will be governed by a distinct set of statistical procedures that will allow us to discover these relationships. This process is called statistical modeling. It is the subject of Chapter 7.
Sometimes, software developers are very
The measurement circumstances are rather like measuring a child. It would be unthinkable to measure the height of a human child at two years and then presume that we now know all there is to know about that person. Human beings grow until they reach maturity. Then, after a period of some years, they begin to shrink again. Programs are similarly dynamic. In their early evolutionary stages, these programs are relatively simple. As time progresses and we begin to get a better handle on just exactly what the customer really wants, these simple programs grow quite complex. As the programs age, unwanted or unused functionalities are
Much of the focus of this book will be on software products. This does not mean that process, people, and environment metrics are not important. Much of what we need to know in these areas is simply not known. There has been a lot of activity in reporting aspects of software processes and also about programmer/developer activity. However, there has been very little real scientific research activity in these fields. It is the real purpose of this book to show how to measure, how to build a measurement program, how to manage the measurement data, and how to institutionalize the improvement of this measurement program. Much of what we need to know about software development we will have to learn. What is