Continuo il tema della gestione dei team che si allinea ai miei “core value” di appassionato di dinamiche tra persone che costruiscono software (oltre a come costruire il software stesso).

Negli ultimi messaggi abbiamo parlato della legge di Conway, di come agisce e come potremmo sfruttarla.

I team sono l’unità di delivery di base e la loro numerosità e collocazione geografica influisce le architetture software.

Ma che forme possiamo fare assumere a queste unità di base?

Gli autori di un noto modello sulle topologie dei team hanno creato una classificazione che trovo pragmatica e semplice da spiegare.

Per questo ho deciso di riportarla qui.

Ecco 4 topologie a cui possiamo ispirarci per creare dei team in una software factory.

  • Team stream-aligned
  • Team abilitatore (enabling team)
  • Team del sottosistema complicato (complicated subsystem team)
  • Team di piattaforma (platform team)

Queste quattro topologie fondamentali sono dei modelli a cui tendere per strutturare ogni possibile divisione di produzione software, grande o piccola. Più una realtà è grande più è probabile che avrà tutte e quattro queste tipologie al suo interno.

NOTA - Dov’è il DevOps team?

Una cosa che ho notato, durante la ricerca, è che non sono indicati esplicitamente i classici team a cui siamo abituati: Operations, il famigerato DevOps team, i DBA… Questo accade, negli approcci moderni, per evitare i classici silos verticali per competenze tecniche che, in genere, formano dei colli di bottiglia.

Nei prossimi messaggi…

Uno alla volta, nelle prossime puntate, esamineremo le 4 tipologie di team.