Opiszę moje doświadczenie i spróbuję wyciągnąć z tego „strategię”.
Kiedyś sparowałem z kompletnym nieprogramowującym. Był ekspertem w temacie opracowanego przez nas oprogramowania. Przeciwnie, nie miałem doświadczenia w dziedzinie problemów. I on też był w tej chwili moim przełożonym (wiem, że to może brzmieć dziwnie :)
Główną zaletą tej metodologii było to, że musiałem wyjaśnić wdrożenie wielu rzeczy z jego dziedziny wiedzy, zapewniając w ten sposób dokładność wdrożenia i jego zrozumienie procesu, co oznaczało, że rozumiał, dlaczego zajęło to tyle czasu.
Kolejną korzyścią jest łatwe skupienie się na zadaniu, brak rozpraszania uwagi (ha-ha, wyobraź sobie otwarcie Twittera przed nosem szefa).
Czasami było to jednak dość onieśmielające, ponieważ nawet przerwa na herbatę stała się dość „odwracaniem uwagi od pracy” (nie z jego punktu widzenia; po prostu niewygodne było proszenie o przerwę i tak dalej).
Tak więc nie jest to tak naprawdę programowanie parami, ponieważ właściwie nie mógł przejrzeć kodu, który został wpisany. Wydawało się jednak, że to rozsądna strategia (przynajmniej przez jakiś czas). Ostatecznie zadziałało w ogóle ze względu na względną prostotę zarówno metodologii programistycznej (mam na myśli, że nie było w niej złożonych technik projektowania oprogramowania, takich jak Wzorce OOP) i tematyki. To nie zadziałałoby, gdybyśmy musieli opracować kompilator. Wierzę, że nadal mogłoby to działać, gdyby nie-programista obserwator uczestniczył w procesie opracowywania małych, jasno określonych utworów. Powiedzmy, że jest w porządku, aby obserwował programowanie funkcji „oblicza parametr X z Y i Z według danego algorytmu”, ale może nie być tak dobrze, aby obserwował cały proces projektowania systemu (co oznacza rozwój architektury oprogramowania, tj. Hierarchię zajęcia,
Myślę, że działałoby to jeszcze lepiej, gdyby miał jakieś podstawowe umiejętności programistyczne, ponieważ nie musiałbym wyjaśniać „czym jest tablica”.
Mam nadzieję, że to pomoże :)