The chaos of software development
Ahmed E. Hassan, Richard C. Holt · 2004
We present a new perspective on the problem of complexity in software, using sound mathematical concepts from information theory such as Shannon's entropy [S. Weaver, (1949)]. We study the complexity of the development process by examining the logs of the source control repository for large software projects. We hypothesize that the process of developing code is a good indicator of the current and future problems in the code and the project. A complex process will have negative affects on its outcome, such as producing a complex system or delaying releases. We validate our work by studying the evolution of six large open source projects (three operating systems, a window manager, an office productivity suite, and a database).