> The reduction of the tester to an expert translator/typist is a tragedy
> The Given-When-Then detracts from understanding and readability but provides the much prized automation through tools like Cucumber
> Instead of abstract domain models in Rational Rose
Now I see how we got into this situation. All this misery comes from the people who understand the code and the people who understand the business being different, non-intersecting groups of people.
Since the BAs can't read the code, there is a desire to construct a technical representation that they can read, representing a some kind of formal specification, and then derive as much as possible the program from that. This was the promise of Rational Rose and the whole UML project. Had it been successful, it would have reduced programmers to stenographers, "coders" in a very limited sense. As it is, in a "Rational" system of this kind, coders end up producing increasingly elaborate polyfills between the machine-generated parts of the system and the rest.
The target of this is always the "5GL" dream:
- specify program in English
- ???
- automated tools transform to code
.. without programmers involved. Unfortunately we've not managed to reduce the irreducible complexity of the step in the middle.GWT does this de-skilling to testers instead; it's effectively TDD with tests in this quasi-human-readable format that gets unimaginatively translated into programs by the testers.
The proposed solution is to do more communication through spreadsheet-prototypes. Since these are effectively programs in Excel, with all the real programming capabilities thereof, you get a real working model of the system that actually behaves like a program.
Many businesses simplify this process by then just deploying the spreadsheet to production.
(I'm not familiar with Cucumber, but it looks like a thing for constructing toy "human readable" DSLs for tests? I wonder if we could get BAs to learn INFORM?)