Я опишу свой опыт и постараюсь извлечь из него «стратегию».
Я однажды запрограммировал пару с полным непрограммистом. Он был экспертом в предмете программного продукта, который мы разработали. Напротив, у меня не было опыта в проблемной области. И он также был моим руководителем в данный момент (я знаю, это может звучать странно :)
Основным преимуществом этой методологии было то, что мне пришлось объяснять реализацию многих вещей из его области знаний, таким образом обеспечивая точность реализации и его понимание процесса, что означало, что он понимал, почему это заняло это время.
Еще одним преимуществом является легкость сосредоточиться на задаче, не отвлекаясь (ха-ха, представьте, что вы открываете Twitter перед носом вашего босса).
Однако иногда это было довольно пугающе, поскольку даже перерыв на чай стал «отвлечением от работы» (не с его точки зрения; просто было неудобно просить перерыв и так далее).
Таким образом, это на самом деле не парное программирование, так как он практически не мог просмотреть код в том виде, в котором он был напечатан. Однако, это казалось разумной стратегией (по крайней мере, какое-то время). В конечном итоге это сработало из-за относительной простоты как методологии разработки (я имею в виду, что не было задействовано никаких сложных методик проектирования программного обеспечения, таких как шаблоны ООП), так и предмета. Я думаю, это не сработало бы, если бы нам пришлось разрабатывать компилятор. Я полагаю, что это все еще могло бы работать, если наблюдатель, не являющийся программистом, участвует в процессе разработки небольших четко определенных частей. Скажем, нормально, чтобы он наблюдал за программированием функции «вычислить параметр X из Y и Z по заданному алгоритму», но может быть не так хорошо, чтобы он наблюдал за всем процессом проектирования системы (то есть за развитием архитектуры программного обеспечения, то есть за иерархией классы,
Я думаю, что он работал бы еще лучше, если бы у него были некоторые базовые навыки программиста, поскольку мне не пришлось бы объяснять, что такое массив.
Надеюсь, это поможет :)