Vernacularism in Software Design Practice: does craftsmanship have a place in software engineering?
AbstractConvention dictates that an information discipline matures from an informal shared practice to a defined and repeatable process through the externalisation and formal expression of its underlying theory. The inevitability of this progression should not be allowed to over-shadow the essential values, skills and knowledge transfer mechanisms of the superseded vernacular or craft-like practices. This paper examines the tension between software engineering’s professionalisation of the software design role—exemplified by the software architect—and its antithesis, the software craftsperson, a characterisation that continues to emerge despite attempts to suppress reliance on individual skills and abilities through software engineering process. In other design disciplines, the professionalisation of design marks a distinct progression from ad hoc, unrepeatable, unselfconscious craft to a self-conscious, demarcated type of design found in most forms of engineering. Software engineering has partially failed to make this transition and this failure undermines the exclusivity of the engineering metaphor and engineering-based process models as a model of practical software design. Software methods must acknowledge and find ways of incorporating vernacularism and informality if the creative act of design is to be correctly characterised, supported in methods, and taught.
Copyright (c) 1969 Paul Taylor
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
AJIS publishes open-access articles distributed under the terms of a Creative Commons Non-Commercial and Attribution License which permits non-commercial use, distribution, and reproduction in any medium, provided the original author and AJIS are credited. All other rights including granting permissions beyond those in the above license remain the property of the author(s).