Software engineering is a highly dynamic discipline. Hence, as times change, so too might our beliefs about core processes in this field. This paper checks some five beliefs that originated in the past decades that comment on the relationships between (i) developer productivity; (ii) software quality and (iii) years of developer experience. Using data collected from 1,356 developers in the period 1995 to 2006, we found support for only one of the five beliefs titled “Quality entails productivity”. We found no clear support for four other beliefs based on programming languages and software developers. However, from the sporadic evidence of the four other beliefs we learned that a narrow scope could delude practitioners in misinterpreting certain effects to hold in their day to day work. Lastly, through an aggregated view of assessing the five beliefs, we find programming languages act as a confounding factor for developer productivity and software quality. Thus the overall message of this work is that it is both important and possible to revisit old beliefs in SE. Researchers and practitioners should routinely retest old beliefs.
Requires: Python3 (to execute .py files) and Python2 (to execute .bat files)
- python belief1.py
- belief1.bat
- python belief2.py
- belief2.bat
- python belief3.py
- Prints the required results to the console. To generate the box-plot (as shown in the paper) run belief3_box_plot.py (but this requires the installation of plotly module and its dependencies).
- python belief4.py
- Prints the required results to the console. Additionally exports a box-plot in /png folder.
- python belief5.py
- belief5.bat
In Summary, each beliefX.py generates a set of intermediate .txt files. Then running the corresponding beliefX.bat file reads those generated .txt files and writes the results to the SE_Beliefs/results/ folder (except belief 3).
For technical support e-mail Shrikanth N C ([email protected]) with subject `SE Beliefs repository queries'