La proprietà delle caratteristiche è una buona pratica?

22

Recentemente nella mia azienda è stato suggerito che uno sviluppatore dovrebbe concentrarsi (e solo uno) in una funzione. Ciò significherebbe qualcosa come impostare lo sviluppatore al di fuori della normale routine di squadra, rilasciandolo di alcune altre responsabilità (riunioni e simili) e questa persona sarebbe l'unica responsabile della funzionalità, la tecnologia.

Per la cronaca, utilizziamo SCRUM in SAFe e abbiamo sviluppatori a tempo pieno per team, condividendo QA e proprietari di prodotti tra i nostri due team (Android e iOS).

Anche se sono d'accordo sul fatto che ciò aumenterebbe la produttività a breve termine, ho la sensazione (e penso di averlo appreso nell'università) che questa è una cattiva pratica per molte ragioni:

  • La revisione del codice perde valore.
  • Condivisione della conoscenza minima.
  • Incremento del rischio.
  • Perdita della flessibilità del team.

Ho ragione o non è affatto una cattiva pratica?

    
posta mdelolmo 11.07.2015 - 21:18
fonte

2 risposte

37

Nei miei 20 anni di esperienza, è meglio avere la proprietà del codice di ruotare le responsabilità tra i progettisti o almeno avere un paio di proprietari. La proprietà di una singola funzione presenta i seguenti problemi, molti dei quali hai menzionato:

  • tende a progettisti di piccioni e limita le loro opportunità di crescita
  • mette tutte le uova in un paniere, quindi se qualcuno viene colpito da un autobus o si ferma, può esserci un buco nella conoscenza
  • una singola persona potrebbe non vedere un problema nel codice e senza un peer owner le recensioni del codice sono molto meno efficaci
  • è difficile mantenere la coerenza e la leggibilità del codice se tutti stanno lavorando sul codice usando il proprio stile - mentre questo può essere aggirato con linee guida di stile, le sottigliezze possono insinuarsi specialmente quando si usa la convenzione sulla configurazione dove le persone si affidano al comportamento predefinito
  • gli sviluppatori possono tendere a diventare protettivi e difensivi del loro codice se ne possiedono, il che può inibire l'evoluzione del codice - se più persone lo possiedono, questa tendenza si riduce
risposta data 11.07.2015 - 21:45
fonte
13

La proprietà delle funzionalità è inevitabile e, se eseguita correttamente, può essere una buona cosa. Aiuta a costruire padronanza e consente l'autonomia - due dei pilastri di impegno generalmente riconosciuti . Rende chiaro chi ha la responsabilità per quel codice e aiuta nella delega, nella comunicazione e in caso contrario ottiene merda.

Ma non stai parlando di questo. Stai parlando di creare una nuova squadra di uno - tagliando questa persona dal resto del codice. Non è grandioso. Limita la loro carriera. Aumenta il rischio per il progetto / azienda. Danneggia comradarie.

Quindi potrebbe esserci qualche moderazione per allontanare questa idea da una cattiva idea.

    
risposta data 11.07.2015 - 22:18
fonte

Leggi altre domande sui tag