Open Source Software Evolution and Its Dynamics (Ch. 4)
Jingwei Wu
We propose that software evolution can be viewed as Punctuated Equilibrium (i.e., long periods of small changes interrupted occasionally by large avalanche changes). We develop two approaches to study such dynamical behavior. One approach uses the evolution spectrograph to visualize file level changes to the implemented system structure. The other approach relies on automated software clustering techniques to recover system design changes. We discuss lessons learned from using these approaches.
- Being aware of a pattern like punctuated equilibrium in software project evolution is very interesting since it makes us wonder about the underlying cause or mechanism of it.
- Terminology like punctuated evolution is useful since there is not a lot of established vocabulary for describing the progression of software processes.
- Speculated about the possible differences in punctuated evolution patterns between opensource projects and software developed by a corporation.
- The metrics for identifying architecture design structures and their changes were interesting since it is a difficult subject to quantify.