20.01.2014 Views

thesis - Faculty of Information and Communication Technologies ...

thesis - Faculty of Information and Communication Technologies ...

thesis - Faculty of Information and Communication Technologies ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Chapter 7. Implications<br />

ity, that is, because there are a larger number <strong>of</strong> abstractions that developers<br />

have to deal with over time. However, when we consider the<br />

distribution <strong>of</strong> size <strong>and</strong> complexity metrics, we notice that the distribution<br />

<strong>of</strong> all measures fall within a tight boundary (see Chapter 5). In any<br />

given s<strong>of</strong>tware system, though there is variation, the overall consistency<br />

in the shape suggests that developers either explicitly or implicitly take<br />

correction action in order to maintain the overall distribution <strong>of</strong> the<br />

size as well as complexity. The only material increase in complexity at<br />

the system level is not a consequence <strong>of</strong> complexity <strong>of</strong> a certain set <strong>of</strong><br />

classes, but rather due to the size <strong>of</strong> the system as a whole <strong>and</strong> increase<br />

in the absolute number <strong>of</strong> complex classes.<br />

Our observations related to complexity introduce uncertainty in interpreting<br />

the law <strong>of</strong> Increasing Complexity. The law as stated suggests<br />

that complexity increases unless effort is put into reducing it, that is,<br />

it implies that complexity can be managed or reduced. In our study, we<br />

find that (i) there is an absolute increase in the total number <strong>of</strong> classes,<br />

<strong>and</strong> (ii) developers either intentionally or otherwise manage to contain<br />

the distribution <strong>of</strong> complexity between the various classes. These findings<br />

lead us to argue that although the distribution <strong>of</strong> complexity can<br />

be managed, the volumetric complexity that arises because <strong>of</strong> the size<br />

<strong>of</strong> the system cannot be reduced without a corresponding reduction in<br />

functionality (assuming a competent development team).<br />

Feedback <strong>and</strong> Regulation<br />

The third law, Self Regulation states that evolution is regulated by feedback<br />

[166]. We do not collected direct quantitative data related to feedback.<br />

However, the bounded nature <strong>of</strong> Gini Coefficients across multiple<br />

s<strong>of</strong>tware systems provides indirect support for this law. Feedback can<br />

be caused by different drivers. For instance, developers will get feedback<br />

from a set <strong>of</strong> classes that are too large or complex, especially if<br />

these classes are defect prone. Feedback can also be driven by team<br />

dynamics as well as the cultural bias (strong team habits) that influence<br />

how s<strong>of</strong>tware is constructed. Hence, it is likely that there are<br />

potentially multiple sources <strong>of</strong> feedback at work in order to regulate the<br />

183

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

Saved successfully!

Ooh no, something went wrong!