Close

Topologie dei team

In che modo quattro topologie fondamentali influiscono su una trasformazione DevOps.

Ian Buchanan

Principal Solutions Engineer

Contributo editoriale: Shana Vu

Scopri i vantaggi dei team allineati al flusso e in che modo lavorano con i team della piattaforma, i team dei sottosistemi e i team abilitanti per offrire valore ai clienti.

Introduzione alle topologie dei team


Ai team di ingegneri viene richiesto di muoversi più velocemente che mai per offrire valore ai propri clienti. L'aumento dei servizi cloud, SaaS e sempre attivi significa che i clienti si aspettano nuove funzioni, meno bug e tempi di attività del 99,99% (o superiori).

Per stare al passo con queste esigenze, le organizzazioni hanno adottato l'approccio Agile e, più recentemente, pratiche DevOps, che promettono un time-to-market/lead time più rapido, un miglioramento della frequenza di distribuzione, una cultura del team migliore e una maggiore collaborazione tra team/reparti.

Sebbene l'adozione delle pratiche DevOps sia più facile a dirsi che a farsi, il libro Team Topologies offre indicazioni approfondite sui modi in cui le organizzazioni possono integrare DevOps nella propria azienda, incluso il tipo di team che potrebbe essere più efficace. Questo libro offre un punto di partenza per capire il concetto di team di Atlassian. Invece di ribadire i loro risultati, vogliamo condividere la nostra prospettiva sui tipi di team.

Il primo passo verso una trasformazione DevOps comporta l'identificazione della struttura organizzativa esistente. Tuttavia, oggi in qualsiasi azienda sono presenti numerosi tipi di team diversi e, in alcuni casi, singoli team che assumono più ruoli e responsabilità. A causa di questa proliferazione di titoli è difficile per la leadership avere una vista d'insieme del panorama organizzativo e rispondere a domande come:

scopri la soluzione

Strumenti DevOps per tutto il team

materiale correlato

Crea una cultura DevOps

  • Abbiamo i team giusti?
  • In alcune aree mancano delle capacità a cui nessun team sopperisce?
  • I team hanno l'equilibrio necessario tra autonomia e supporto da parte di altri team?

I responsabili dello sviluppo e delle operazioni possono capire meglio se dispongono dei team giusti esaminando la loro organizzazione nell'ottica delle topologie dei team. Consigliamo di ridurre il numero di variazioni del team a quattro topologie di team fondamentali che sono facilmente assimilabili sia da parte dell'alta dirigenza che dagli stessi membri del team:

  • Team allineato al flusso
  • Team della piattaforma
  • Team di sottosistemi complicati
  • Team abilitante

Tieni presente che questi tipi di team assumono forme diverse a seconda delle dimensioni e della maturità dell'azienda. In realtà, la combinazione di più tipi di team, o di un team che si presta a svolgere le funzioni di un altro team, rappresenta spesso l'approccio migliore.

1. Team allineato al flusso


I team allineati al flusso si concentrano su un unico flusso di lavoro di grande impatto. Può trattarsi di un singolo prodotto o servizio, di un singolo set di funzioni, di un singolo percorso utente o di un singolo utente tipo. Il team è autorizzato a creare e fornire valore per il cliente o l'utente nel modo più rapido, sicuro e indipendente possibile, senza dover trasferire parte del lavoro ad altri team.

Poiché i team allineati al flusso lavorano sull'intera gamma di consegna, sono, per necessità, più vicini al cliente e di solito sono già Agile. Questo team tiene conto del feedback dei clienti nei cicli di sviluppo, mantenendo allo stesso tempo il software in produzione.

Mentre i team allineati al flusso sono comuni in molte aziende software, altre organizzazioni potrebbero avere maggiore familiarità con le strutture dei team organizzate per funzione (ad es. team separati per l'ingegneria, la progettazione, il controllo di qualità), invece che con il flusso di distribuzione.

Poiché il team allineato al flusso è il tipo di team più comune nelle organizzazioni, il ruolo degli altri team è definito rispetto al primo. I team allineati al flusso dovrebbero contattare regolarmente i team di assistenza (team del sottosistema complicato, abilitante e della piattaforma) per migliorare continuamente la velocità di consegna e la qualità dei loro prodotti e servizi.

2. Team della piattaforma


I team della piattaforma consentono ai team allineati al flusso di operare con una notevole dose di autonomia. Mentre il team allineato al flusso mantiene la piena responsabilità della creazione, dell'esecuzione e della correzione di un'applicazione in produzione, il team della piattaforma fornisce servizi interni che il team allineato al flusso può utilizzare.

I team della piattaforma creano funzionalità che possono essere utilizzate da numerosi team allineati al flusso, con un sovraccarico minimo. Ottimizzando un prodotto, i team della piattaforma riducono al minimo le risorse e i carichi cognitivi del team allineato al flusso. Ciò offre vantaggi anche agli utenti finali, poiché i team della piattaforma possono creare un'esperienza coerente che si estende a diverse esperienze utente o a diversi prodotti.

In Atlassian i team della piattaforma creano servizi utilizzati da tutti i nostri prodotti (come la gestione delle identità) e sono tenuti a fornire documentazione, assistenza e consulenza per i team allineati al flusso.

3. Team di sottosistemi complicati


Un team di sottosistemi complicati è responsabile della creazione e della manutenzione di una parte del sistema che dipende da competenze e conoscenze specifiche. La maggior parte dei membri del team deve essere specializzata in una particolare area di conoscenza per comprendere e apportare modifiche al sottosistema.

L'obiettivo di questo team è ridurre il carico dei team allineati al flusso che lavorano su sistemi che includono o utilizzano il sottosistema. Con l'esperienza e le capacità del team di sottosistemi complicati, i team allineati al flusso non devono sviluppare competenze in aree eccessivamente complicate per il loro lavoro quotidiano. I membri di questo team possono avere conoscenze specializzate in determinati microservizi (ad esempio un servizio di fatturazione), algoritmi o persino intelligenza artificiale.

Un'insidia comune è quella di includere specialisti in ogni team allineato al flusso che utilizza il sottosistema. Per quanto questa scelta possa sembrare efficiente, in ultima analisi non è conveniente in termini di costo e non rientra nell'ambito di competenza di un team allineato al flusso.

4. Abilitazione del team


I team allineati al flusso sono sotto costante pressione per fornire risultati e rispondere rapidamente al cambiamento, pertanto hanno difficoltà a trovare il tempo per la ricerca, l'apprendimento e l'esercizio di nuove competenze.

Un team abilitante costituito da specialisti in un determinato dominio tecnico (o prodotto) aiuta a colmare questa lacuna di capacità. Questi team si concentrano sulla ricerca e sulla sperimentazione per fornire consigli informati su strumenti, framework e scelte di ecosistemi che influiscono sullo stack di strumenti.

Ciò offre ai team allineati al flusso il tempo di acquisire e modificare le capacità senza sottrarre tempo ai loro obiettivi primari. Il team abilitante cerca principalmente di aumentare l'autonomia dei team allineati al flusso, accrescendone le capacità con particolare attenzione ai problemi, invece che alle soluzioni.

Se un team abilitante svolge bene il suo lavoro, il team assistito diventa autonomo dopo poche settimane. Il team abilitante non dovrebbe mai favorire una dipendenza permanente.

Il tuo team è allineato al flusso?


In conclusione...


DevOps non è una destinazione, ma un percorso di costante miglioramento degli strumenti, della cultura del team e delle pratiche. Se stai compiendo i primi passi nel percorso DevOps, inizia orientando i tuoi obiettivi per offrire valore ai clienti. Man mano che maturi, aggiungi l'automazione ai tuoi strumenti e processi. Infine, quando i membri del tuo team diventano professionisti avanzati, includi l'osservabilità per assicurarti di monitorare, misurare e migliorare gli aspetti appropriati.

Se sei solo all'inizio della transizione a DevOps, scopri le best practice nella nostra guida a DevOps per principianti. Per mettere in pratica DevOps, ti consigliamo di provare Open DevOps, che offre tutto quello di cui i team hanno bisogno per sviluppare e utilizzare il software. I team possono creare la toolchain DevOps che preferiscono grazie alle integrazioni con i fornitori e le app del Marketplace leader del settore. Provalo subito.

Ian Buchanan
Ian Buchanan

Ian Buchanan è Principal Solutions Engineer per DevOps presso Atlassian, dove si occupa della community DevOps emergente e dell'applicazione di Jira, Bitbucket e Bamboo per migliorare la continuous integration e la continuous delivery. Ian Buchanan vanta una lunga e vasta esperienza delle tecnologie Java e .NET ed è noto per essere un promotore delle pratiche Lean e Agile nelle aziende di grandi dimensioni.

Nel corso della sua carriera, ha gestito con successo strumenti per lo sviluppo software aziendale in tutte le fasi del loro ciclo di vita, dall'inizio alla fine. Si è occupato del miglioramento dei processi a livello di organizzazione riuscendo a ottenere maggiore produttività, qualità superiore e migliore soddisfazione del cliente. Ha creato team Agile multinazionali in cui viene valorizzata la capacità di gestire e organizzare autonomamente il lavoro. Quando non parla o codifica, Ian si dedica alle sue passioni: parser, metaprogrammazione e linguaggi specifici di dominio.


Condividi l'articolo
Argomento successivo

Letture consigliate

Aggiungi ai preferiti queste risorse per ricevere informazioni sui tipi di team DevOps e aggiornamenti continui su DevOps in Atlassian.

Illustrazione su Devops

Community DevOps

Illustrazione su Devops

Percorso di apprendimento DevOps

Illustrazione di una mappa

Inizia gratis

Iscriviti alla nostra newsletter DevOps

Thank you for signing up