Sunday, February 23, 2014

Analysis of Bryant's paper "Metaphor, myth and mimicry: The bases of software engineering"

In his paper, Antony Bryant warns us about the pitfalls around the use of the term software engineering. Even if the idea of founding our discipline on a set of rigorous and scientific rules seems reasonable, it might not have been in our best interest to give in to the urge of being considered as pure engineers.

As a matter of fact, using metaphors and specific terms has an effect on the human mind. The danger of assuming that creating software is a full engineering process lies on the tendency to mimic the engineers of other fields without taking into account the specific features of software conception. Therefore, it brings - conscientiously or not - some unwanted constraints.

The main issue is about requirements elicitation which is often considered as the most critical phase of software engineering. Indeed, applying a systematic and formal process to specify the requirements of stakeholders is very tempting but inadequate to be getting truly close to those requirements. To illustrate his point, Bryant mention the conduit metaphor and the toolmakers paradigm which both underline the way human communication works and lead to the conclusion that obtaining requirements needs essentially communication and emphatic skills.

I think the most interesting thing we should retain from Bryant's paper is that a good software engineer has to keep an open-mind and not lock himself in a pure engineered vision of his discipline. Elaborating a software is a task which requires human interactions and not solely logical processes.