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 />

ically, we find support for First law Continuing Change, third law Self<br />

Regulation, fifth law Conservation <strong>of</strong> Familiarity, <strong>and</strong> the sixth law Continuing<br />

Growth. However, our analysis was not able to provide sufficient<br />

evidence to show support for the other laws.<br />

Change<br />

Our observations show that in all cases the metric distributions continuously<br />

changed. Providing support for the first law s<strong>of</strong>tware evolution<br />

– Continuing Change. The only consistent facet in our data was that<br />

in most cases, the change as measured by the difference in Gini Coefficient<br />

values was small. This small level <strong>of</strong> change indicates that a<br />

certain level <strong>of</strong> stability is common <strong>and</strong> potentially desirable for evolution<br />

to proceed since development teams are most productive with<br />

stable abstractions or those that are changing at a rate that allow for<br />

developers to learn them. Rate <strong>of</strong> change must be in synchronization<br />

with the development teams ability to learn, adapt <strong>and</strong> effectively utilize<br />

these abstractions. If the rate <strong>of</strong> change is too slow or zero, then it<br />

would imply that the system may slowly deteriorate as it no longer meets<br />

changing/maturing user needs. Conversely, if the many abstractions<br />

(classes) change too quickly, the effort spent on learning the changes<br />

will be substantially greater than the effort spent on adding new features.<br />

Complexity<br />

The second law, Increasing Complexity states that “s<strong>of</strong>tware is changed,<br />

its complexity increases <strong>and</strong> becomes more difficult to evolve unless<br />

work is done to maintain or reduce the complexity” [175]. We find that<br />

this law is hard to provide a definitive support to, mainly because complexity<br />

is a hard term to universally quantify (as discussed in Chapter<br />

4). Our analysis indicates that system complexity is mainly due<br />

to growth in general (primarily caused by new classes), rather than a<br />

consistent increase <strong>of</strong> size <strong>and</strong> structural complexity <strong>of</strong> the individual<br />

classes. This conclusion provides an additional dimension to Lehman’s<br />

law <strong>of</strong> increasing complexity [168]. S<strong>of</strong>tware gains volumetric complex-<br />

182

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

Saved successfully!

Ooh no, something went wrong!