People and Organizational Measures

Conway’s Law states that “organizations that design systems are constrained to produce systems which are copies of the communication structures of these organizations” [Conway 1968]. Similarly, Fred Brooks argues in The Mythical Man-Month that the product quality is strongly affected by organizational structure [Brooks 1995]. Software engineering is a complex engineering activity. It involves interactions between people, processes, and tools to develop a complete product. In practice, commercial software development is performed by teams consisting of a number of individuals, ranging from the tens to the thousands. Often these people work via an organizational structure reporting to a manager or set of managers. Often failure predictions are obtained from measures such as code churn, code complexity, code coverage, code dependencies, etc. But these studies often ignore one of the most influential factors in software development: specifically, “people and organizational structure.”

With the advent of global software development where teams are distributed across the world, the impact of organization structure on Conway’s Law and its implications on quality are significant. In this section, we investigate the relationship between organizational structure and software quality via a set of eight measures that quantify organizational complexity [Nagappan et al. 2008]. For the organizational metrics, the metrics capture issues such as organizational distance of the developers; the number of developers working on a component; the amount of multitasking developers are doing across organizations; and the amount of change to a component within the context of that organization. Using these measures, we predict failure-prone binaries in Windows Vista. Some of the organizational measures are the following (for a more detailed list, refer to [Nagappan et al. 2008]):

Number of Engineers (NOE)

This is the absolute number of unique engineers who have touched a binary and are still employed by the company.

Number of Ex-Engineers (NOEE)

This is the total number of unique engineers who have touched a binary and have left the organizations as of the release date of the software system.

Edit Frequency (EF)

This is the total number times the source code that makes up the binary was edited. An edit is when an engineer checks code out of the version control system, alters it, and checks it back in again. This is independent of the number of lines of code altered during the edit.

Depth of Master Ownership (DMO)

This metric determines the level of ownership of the binary depending on the number of edits done. The organizational level of the person whose reporting engineers perform more than X% of the rolled-up edits is deemed as the DMO. The DMO metric determines the binary owner based on activity on that binary. We used 75% as the X%, based on prior historical information on Windows to quantify ownership.

Percentage of Org contributing to development (PO)

The ratio of the number of people reporting to the DMO-level owner relative to the DMO overall org size.

Level of Organizational Code Ownership (OCO)

The percent of edits from the organization that contains the binary owner, or if there is no owner, then the organization that made the majority of the edits to that binary.

Overall Organization Ownership (OOW)

This is the ratio of the percentage of people at the DMO level making edits to a binary relative to total engineers editing the binary. A high value is desired.

Organization Intersection Factor (OIF)

A measure of the number of different organizations that contribute greater than 10% of edits, as measured at the level of the overall org owners.

The measures proposed here attempt to balance the various hypotheses about how organizational structure can influence the quality of the binary, some of which seem to represent opposing positions. A high-level summary of the hypotheses and the measures that purport to quantify these hypotheses is presented in Table 23-1.

Table 23-1. Summary of organizational measures [Nagappan et al. 2008]

Hypothesis

Metric

The more people who touch the code, the lower the quality.

NOE

A large loss of team members affects the knowledge retention and thus quality.

NOEE

The more edits to components, the higher the instability and lower the quality.

EF

The lower the level of ownership, the better the quality.

DMO

The more cohesive are the contributors (organizationally), the higher the quality.

PO

The more cohesive the contributions (edits), the higher the quality.

OCO

The more diffused the contribution to a binary, the lower the quality.

OOW

The more diffused the different organizations contributing code, the lower the quality.

OIF

Using random splitting on the entire Vista code base for 50 random splits, we obtained the precision and recall values as shown in Figure 23-2. The figure indicates the uniformity and consistency of the predictions of precision and recall. The values show little variance, explaining the overall efficacy of the models built and the ability of organizational metrics to effectively act as predictors of software quality. The precision and recall values were 86.2% and 84%, respectively. This is, as from our prior studies, the highest precision and recall in terms of predicting failures. This provided evidence that understanding the team structure in the organization is a crucial factor in predicting and understanding software quality. The interpretation lies in the fact that the organizational metrics were much better indicators of code quality, more than actual code metrics. This stresses the importance of getting the organization and team right for doing software development. These results also illustrate the impact of organizational structure on quality and the importance of planning for reorganization of teams to minimize the impact on software quality.

Precision and recall values for predictions using organization structure [Nagappan et al. 2008]

Figure 23-2. Precision and recall values for predictions using organization structure [Nagappan et al. 2008]

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.163.197