|
|
The challenge of Software Engineering in research
Wallace (2002) observed that in his experience (of over 40 years in the field) little had changed in the way people have gone about research. This suggests the field as a whole has not matured much as a science. At the same time industry has experienced vast changes. Prof Wallace suggested the impact of programming languages have been at most a factor of four improvement over this time period. This is mostly due to the existence of larger libraries of more complex existing code. At one time all of this needed to be coded by hand for each specific machine type. The use of standard languages and portability provide an advantage on top of this four-fold increase (Wallace, 2002). Pressman (2002) and Brooks (2002), two leading experts in Software Engineering both observed that research software has different goals to industry developed software and as such would have different requirements out of software engineering. Our results suggest that code reviews may be one appropriate software engineering method as its use is strongly correlated with publication by Higher Degree by Research (HDR) students (see Figure 5.3). Methods such as UML and Class Diagrams are negatively correlated with the number of HDR students involved in the project. Interviews and case studies suggest this may be due to the effort required to maintain such documents and their relative uselessness to someone intimately involved in the project (as HDR students tend to be). Certain aspects of Software Engineering, such as configuration management are always useful. As demonstrated in the GIFT project, versioning problems can cost many person-hours of lost productivity. Time that could be better spent on research. As research is constantly changing the possibility of needing to revert back to, or to review a previous version is real. As Pressman (2002) suggested, an over all agile software engineering approach is needed if it is to be of use for the research community. One such approach that takes account of many of the problems below is the RAISER/RESET method. References above can be seen in the Bibliography. |