Software Engineering as Craft
Modern commercial software practice has evolved over the past 2 decades to optimize rapid change and overall sustainability. The lightweight methods used to promote speed seem at odds with the significant effort required to produce robust and sustainable results. Instead the work needed for robustness and sustainability reinforce rapid development by creating testing on an ongoing basis and encouraging use of those tests during new development.
The attention to detail required to properly execute a detailed testing and modification feedback loop is difficult to sustain. Multiple support mechanisms have evolved to keep those practices prominent. DevOps practices have become almost required in commercial software work and act as a reinforcement for proper behavior. This talk based on the BSSw article “Software as Craft” (https://bssw.io/blog_posts/software-as-craft) looks at the effort required and the historical parallel of craft and it’s evolution into science based engineering and other professions.
A talk presented at the SIAM CSE21 conference, MS94+MS125: Building Sustainable Software Communities and Sustainable Software.