Posts Tagged ‘agile’

Natural Language Specifications

Cultured people that we are at Three Bears IT, we were listening to Case Notes on Radio 4 yesterday and a discussion surrounding the use of plain lanugage and metaphors when relaying often complex conditions and treatments to patients. Is the same applicable to the field of information technology and information systems?

Previous systems design methodologies have extolled the virtues of mathematical modelling for systems using a variety of set based and other notations. Natural language and plain English were often frowned upon, due to potential language ambiguities, but then how can the client be sure that the system design specification they are reviewing is what they actually asked for. A balance needs to be struck between ensuring that a robust specification is agreed, ensuring that both parties are aware of their responsibilities whilst also making the document accessible for extensive review.

The move toward agile systems and technologies seems to be a step in this direction. With the use of story cards to quickly and easily record high level requirements, end users are now able to directly interact with the development project whereas previous systems such as PRINCE2 often required all user requirements to be filtered through a central Senior User or user group.

Human civilisation has thrived upon the tradition of story telling and whilst titled such as Software Engineering and Computer Science give the impression of an old and noble tradition, the truth is that the levels of tolerance demanded within other engineering and scientific disciplines are not applied to systems design and development.

The use of mathematical notation is often a barrier to all but the most ardent of user groups and the whole industry is now beginning to take a long overdue step towards engaging with users in the most appropriate way for that individual. Like pupil based teaching, we can never achieve a situation where everybody’s requirements are always embedded within a system (even if the latest Windows 7 advertisements would have us think otherwise!)

Much better that we revert back to story telling and clear language to engage with the end user and to discern what they want from a system as well as how it should behave. The true science/engineering task is to take a seemingly disparate set of requests and to refine and merge them into a new system which everyone feels they have contributed to and which meets their current and future needs.