The specification that the robot reads can in a way be seen as another programming language. How come there are fewer bugs when you add another language? It sounds like a paradox, but is a pure mathematical reality.
Fewer lines of manually written code
You get higher quality on the delivered system by a large part of the program code is no longer written by hand, but generated from specifications written in DSM. Overall, there are fewer lines of code and therefore fewer errors.
DSM is not a fixed format but completely customized for you so that it is easy to write and understand.
Research shows that, regardless of language, the proportion of bugs per manually written coded is fairly constant. Since the robot uses a single template which is then used in all modules, the end result is the same, but the proportion of manually written lines is lower.
Purely mathematically, you get the same reduction of bugs as the net reduction of the total number of code lines, including specifications, the robot and its templates. How much it will be in practice depends entirely on how well defined your DSM syntax is, how many times a certain template can be used and how much other code there is, but a standard number is 25%.
Errors in software systems can be roughly divided into three categories:
- Misconceptions in the communication between customer and supplier.
- Misunderstandings between those who write the specification and those who program.
- Errors in the written programs.
By using a DSM that is carefully adapted to the business, the proportion of misunderstandings due to word choice, wording and insufficient information is reduced. This is because the contents of a DSM document are checked against a strict syntax and must therefore be complete.
Easier to find errors
Of course, it can be wrong when a DSM is translated into executable program code by a robot, but that process is common to all programs. Such systematic errors are much easier to find for the simple reason that the same type of error is found in many places and appears in tests much faster. Corrections in that generator take effect on all programs directly.
How much is higher quality worth to you?