Software Engineering Need Not Be Difficult
Document Type
Conference Proceeding
Publication Date
10-23-2013
Publication Title
Workshop on Sustainable Software for Science: Practice and Experiences
Publisher Name
figshare
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.
Recommended Citation
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
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
Copyright Statement
© Jeffrey C. Carver and George K. Thiruvathukal.