May 28, 2018
Software you develop together, as software engineer and customer. This involves a series of translations from the business to the final software. The trick is to limit the number of translation steps, because with every translation you lose nuances. This is possible by bringing software engineers and clients closer together and actually having them develop together. With Gherkin, they can speak the same language and describe software behaviour (BDD). And build even more intensively together.
The core of software development is the merging of domain expertise and software development. A customer or product owner knows how his business process runs. The software engineer translates this into working software. Traditionally, it is the software engineer who takes care of the important translations. But if you speak a common language, both ‘worlds’ understand each other a lot better in advance.
Translate less between model and program
In order for software to support a business process, you create a model that describes this process. This is the basis for all software. In software development, you translate the model into a programming language that the computer understands. The main challenge for a software engineer is to understand a customer. To do this, the customer tries to express in his own language - and with his own model of reality - what the software engineer needs to translate. To his own language and model and to the computer.
You are probably familiar with the experiment in which several people try to pass on a simple message to each other. Soon there will be nothing left of the original message in the group. This also applies to software development. The more translations from one model to another, the greater the chance that important details and context are lost. For quality and efficiency reasons, it is therefore important to make as few translations as possible. How do you do that?
Gherkin syntax describes software behavior (BDD)
The Gherkin syntax builds a bridge between the business and the software engineer. It describes behaviour of software (Behaviour Driven Development, also known as BDD). It also ensures that the translation job is not only on the software engineer’s board, but that the business expert can also contribute to this process. This is not meant to put off work, but to achieve a qualitatively better result together more efficiently. Especially the behavior of the application is described. The syntax is often described as: given - as - then. It looks more or less like this:
informed a user has the status “not logged in”
when the user logs in
then the user gets to see his profile page
Gherkin makes it possible to describe in plain language the desired behaviour of the application, which can also be understood by the business. The software engineer uses it as a specification to develop software. As a bonus, it is also suitable for automated testing. Besides a common language, a development specification for software engineers and scenarios for automated testing, describing with Gherkin also provides a complete set of documentation about the developed application.
Gherkin in practice
In the daily practice of our software engineers, Gherkin is mainly used to describe the desired behavior of an application and to have it verified by a customer. The most beautiful and efficient application would be if the customer himself describes the desired behavior of the application in Gherkin. In practice this does not happen very often yet. It requires a certain amount of training and involvement of customers in the development process. However, due to the growing importance of software for the success of organizations, I expect this involvement to increase in order to maximize success. As a result, we will see more and more of building together. The extra effort is also definitely worth it.
To make this move, the worlds of the software engineer and the customer with his business, especially need to come closer together. I see this as an important condition for the complete digital transformation within organisations. Gherkin provides the meeting place with a common language.
Want to know more?
Would you like to know more about this subject for your organization? Feel free to mail me your question right away: firstname.lastname@example.org.