Ich werde meine Erfahrung beschreiben und versuchen, eine "Strategie" daraus zu machen.
Ich habe mal mit einem kompletten Nicht-Programmierer gepaart. Er war Experte für das Thema des von uns entwickelten Softwareprodukts. Im Gegenteil, ich hatte keine Erfahrung im Problembereich. Und er war im Moment auch mein Vorgesetzter (ich weiß, dass das seltsam klingen mag :)
Der Hauptvorteil dieser Methodik war, dass ich die Implementierung vieler Dinge aus seinem Wissensbereich erklären musste, um die Genauigkeit der Implementierung und sein Verständnis des Prozesses zu gewährleisten, was bedeutete, dass er verstand, warum dies Zeit in Anspruch nahm.
Ein weiterer Vorteil ist die einfache Konzentration auf die Aufgabe, keine Ablenkungen (ha-ha, stellen Sie sich vor, Sie öffnen Twitter vor der Nase Ihres Chefs).
Es war jedoch manchmal ziemlich einschüchternd, da sogar eine Teepause zu einer "Ablenkung von der Arbeit" wurde (nicht aus seiner Sicht; es war einfach unpraktisch, nach einer Pause zu fragen und so weiter).
Das ist also keine Paarprogrammierung, da er den Code während der Eingabe so gut wie nicht überprüfen konnte. Es schien jedoch eine vernünftige Strategie zu sein (zumindest für einige Zeit). Letztendlich funktionierte es überhaupt, da sowohl die Entwicklungsmethodik (ich meine, es waren keine komplexen Software-Designtechniken wie OOP-Patterns beteiligt) als auch die Inhalte relativ einfach waren. Dies würde nicht funktionieren, wenn wir einen Compiler entwickeln müssten, denke ich. Ich glaube, es könnte immer noch funktionieren, wenn ein Beobachter, der kein Programmierer ist, an der Entwicklung kleiner, klar definierter Teile beteiligt ist. Sagen wir, es ist in Ordnung, dass er die Programmierung einer Funktion "Berechne den Parameter X aus Y und Z mit einem gegebenen Algorithmus" beobachtet, aber es ist möglicherweise nicht in Ordnung, dass er den gesamten Systementwurfsprozess beobachtet (dh die Entwicklung der Softwarearchitektur, dh die Hierarchie von Klassen,
Ich denke, es würde noch besser funktionieren, wenn er grundlegende Programmierkenntnisse hätte, da ich nicht erklären müsste, was ein Array ist.
Ich hoffe es hilft :)