Have you had any experience in which a non-IT person works with a programmer during the coding process?It's like pair programming, but one person is a non-IT person that knows a lot about the business, maybe a process engineer with math background who knows how things are calculated and can understand non-idiomatic, procedural code.I've found that some procedural, domain-specific languages like PL/SQL are quite understandable by non-IT engineers. These persons end up being co-authors of the code and guarantee the correctness of formulas, factors, etc.I've found this kind of pair programming quite productive, this kind of engineering-type users feel they are also owners and authors of the code and help minimize misunderstandings in the communication process. They even help design test cases.Is this practice common?Does it have a name? Have you had any similar experiences?
Pair programming business logic with a non-IT person
teamwork;requirements;client relations;business logic;pair programming
Though you are describing this as a shared coding session (I can't call it pair programming, as only one person is driving - in pair programming, both parties take the keyboard and write code), I would call it gathering acceptance criteria.That is, you are validating business rules (correct calculations and processes) with the business user (though one with a very technical role, an engineer).In this case, it translates immediately to written code (SQL), but for many other activities is will not, though there are automated acceptance test tooling for different languages and platforms (I am specifically thinking about the gherkin language and related tooling).This practice is not as common as it should be, but is gaining more and more followers and those who follow it (getting acceptance criteria in a form that can be executed) find it invaluable as both a tool to communicate with the business and to drive development.