The application of technical debt mitigation techniques to a multidisciplinary software project
The research described by this thesis uses contributions made to the technical debt community to create a high quality multidisciplinary software project under collaboration between computer scientists and hydrologists. Specifically, additions to the body of knowledge regarding technical debt and modularity violations are described. Technical debt is a metaphor borrowed from the financial domain used to describe the sacrifices that developers make in order to get software released on time. We looked at the uncertainty associated with technical debt measurements and expanded on well-known equations by investigating how errors propagate. We also looked at how modularity violations affect the overall architectural quality of a large-scale industrial software system. Modularity violations occur when modular pieces of code that are not meant to change together, do change together. The second portion of the thesis applies the research learned from modularity violations and from the uncertainty investigations in technical debt measurements to a specific problem in hydrology to create a more accurate, modularized, and extensible particle tracking algorithm. We used SonarQube's technical debt software to further investigate technical debt measurements. We then visualized the modeling output from the particle tracking algorithm using high-tech digital theater software that was extended to accurately represent natural science visualizations. Finally, we describe the design necessary to seed the application of multiagent system theories and technologies to improve 3D hydrologic modeling.