Ostatnio w mojej firmie zasugerowano, że jeden programista powinien skupić się (i tylko jeden) na jednej funkcji. Oznaczałoby to coś takiego, jak odejście dewelopera od normalnej rutyny zespołu, zwolnienie go z innych obowiązków (spotkań itp.), A ta osoba byłaby „jedyna” odpowiedzialna za tę funkcję, pod względem technologicznym.
Dla przypomnienia, używamy SCRUM w SAFe i mamy pełnoetatowych programistów na zespół, dzieląc kontrolę jakości i właścicieli produktów między naszymi dwoma zespołami (Android i iOS).
Chociaż zgadzam się, że zwiększyłoby to wydajność w krótkim okresie, mam wrażenie (i myślę, że nauczyłem się tego na uniwersytecie), że jest to zła praktyka z wielu powodów:
- Przegląd kodu traci wartość.
- Minimalne dzielenie się wiedzą.
- Przyrost ryzyka
- Utrata elastyczności zespołu.
Czy mam rację, czy to wcale nie jest zła praktyka?
agile
team
code-ownership
mdelolmo
źródło
źródło
Odpowiedzi:
Na podstawie mojego 20-letniego doświadczenia lepiej jest zmieniać obowiązki właścicieli kodu między projektantami lub przynajmniej mieć parę właścicieli. Własność pojedynczej funkcji wiąże się z następującymi problemami, o których kilka wspomniałeś:
źródło
Własność funkcji jest nieunikniona, a dobre wykonanie może być dobrą rzeczą. Pomaga budować mistrzostwo i pozwala na autonomię - dwa ogólnie uznane filary zaangażowania . Wyjaśnia, kto jest odpowiedzialny za ten kod, i pomaga w delegowaniu, komunikacji i innych sprawach.
Ale nie mówisz o tym. Mówisz o stworzeniu nowego zespołu - odcięciu tej osoby od reszty kodu. To nie jest świetne. To ogranicza ich karierę. Dodaje to ryzyko do projektu / firmy. Szkodzi towarzyszowi.
Więc może być trochę umiaru, aby odwrócić to od złego pomysłu.
źródło