Skip to main content
Article
Software Engineering Need Not Be Difficult
Workshop on Sustainable Software for Science: Practice and Experiences
  • Jeffrey C Carver, University of Alabama - Birmingham
  • George K. Thiruvathukal, Loyola University Chicago
Document Type
Conference Proceeding
Publication Date
10-23-2013
Publisher Name
figshare
Disciplines
Abstract

"Progress in scientific research is dependent on the quality and accessibility of software at all levels" (the overall premise of the workshop). We argue that true progress depends on embracing the best traditional--and emergent-- practices in software engineering, especially agile practices that intersect with the tradition of software engineering. Software engineering as practiced today is more than the stereotypical monolithic lifecycle processes (e.g. waterfall, spiral, etc.) that historically have impeded progress for small/medium sized development efforts. In addition, the discipline and practice of software engineering includes software quality (with an established tradition of software metrics). Software processes can be pragmatic and use best features/practices of various models without impeding developer productivity. The embracement of these practices may also be important to prevent a brain drain of sorts, as students are increasingly eschewing traditional scientific/computation science research in favor of industry opportunities, where they can literally apply what they have learned in software development courses where pragmatic software engineering practices (e.g. test-driven design, RESTful architecture, etc.) are already prevalent.

Creative Commons License
Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
Citation Information
Carver, J. and G. K. Thiruvathukal. "Software Engineering Need not be Difficult." Workshop on Sustainable Software for Science: Practice and Experiences, SuperComputing Conference 2013. Available on figshare, http://dx.doi.org/10.6084/m9.figshare.830442