21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24.5 ■ Software measurement 725

On the other hand, the process changes might lead to many new, happy customers

who wish to participate in the product development process. They therefore generate

more change requests. Changes to the process of handling change requests may contribute

to this increase. If the company is more responsive to customers, they may

generate more change requests because they know that these requests will be taken

seriously. They believe that their suggestions will probably be incorporated in later

versions of the software. Alternatively, the number of change requests might have

increased because the beta-test sites were not typical of most usage of the program.

To analyze the change request data, you do not simply need to know the number

of change requests. You need to know who made the request, how the software is

used, and why the request was made. You also need information about external factors

such as modifications to the change request procedure or market changes that

might have an effect. With this information, you are in a better position to find out if

the process changes have been effective in increasing product quality.

This illustrates the difficulties of understanding the effects of changes. The “scientific”

approach to this problem is to reduce the number of factors that might affect

the measurements made. However, processes and products that are being measured

are not insulated from their environment. The business environment is constantly

changing, and it is impossible to avoid changes to work practice just because they

may make comparisons of data invalid. As such, quantitative data about human

activities cannot always be taken at face value. The reasons a measured value

changes are often ambiguous. These reasons must be investigated in detail before

any conclusions can be drawn from any measurements.

24.5.4 Software analytics

Over the past few years, the notion of “big data analysis” has emerged as a means of

discovering insights by automatically mining and analyzing very large volumes of

automatically collected data. It is possible to discover relationships between data items

that could not be found by manual data analysis and modeling. Software analytics is

the application of such techniques to data about software and software processes.

Two factors have made software analytics possible:

1. The automated collection of user data by software product companies when their

product is used. If the software fails, information about the failure and the state of

the system can be sent over the Internet from the user’s computer to servers run by

the product developer. As a result, large volumes of data about individual products

such as Internet Explorer or Photoshop have become available for analysis.

2. The use of open-source software available on platforms such as Sourceforge

and GitHub and open-source repositories of software engineering data (Menzies

and Zimmermann 2013). The source code of open-source software is available

for automated analysis and can sometimes be linked with data in the opensource

repository.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!