Researchers and scientists are now spending increasing amounts of time developing software. But how many of them are actually using software engineering practices that can help them write better software?
|Paper title||Self-Perceptions about Software Engineering: A Survey of Scientists and Engineers|
|Authors||Jeffrey Carver, Dustin Heaton, Lorin Hochstein, and Roscoe Bartlett|
|Publication||Year 2013, Computing in Science and Engineering - Vol 15, DOI: 10.1109/MCSE.2013.12|
The journal article Self-Perceptions about Software Engineering: A Survey of Scientists and Engineers---a survey paper published in 2013---made observations that continue to be very relevant for the scientific software community even today. The article recognizes that scientists and engineers must often double as part-time software developers, with activities ranging from writing small-scale scripts for their research to highly complex code that will be used on high-performance computers. While software development skills are becoming as integral to science and engineering as laboratory skills, the community hasn't yet developed a culture of training for the relevant software skills.
The paper surveys close to 150 researchers, encompassing people from a rich educational background (with 82% respondents having a Ph.D.) from the domains of mathematics and statistics, engineering, and computer science. The survey analyzes how respondents spent their time, whether developing research software, production software or focusing on both types. The survey covers a broad spectrum of software engineering practices such as version control, documentation, verification and validation, testing, design requirements, issue and bug tracking, code reviews, acceptance testing, agile methods, and refactoring, all of which should be of prime importance in any software development environment. All these factors make this survey paper an interesting and fun read for folks working in scientific software development community.