SAFe: the Program Level

Se il Team Level è quello più a diretto contatto con i developer, nel Program Level si concentrano quelle funzionalità tipiche del Middle Management e degli Specialist di Dominio e di Prodotto.

safe program

SAFe Program Level

Il cuore del Program level è rappresentato dal concetto di Agile Release Train (ART), definito come segue:

            ART is to the Program (level) what an iteration is to the Team (level)

 

In sostanza Leffingwell usa il paradigma del treno per rappresentare il Continuos Development e il Continuos Delivery di un prodotto che viene continuamente aggiornato, migliorato, esteso e rilasciato (a seconda delle necessità, tipicamente di business): alias il treno si ferma in stazione!

 

art

ART

Lo scopo di ART è quello di incentrare tutte le attività sulla valorizzazione del Value Stream del prodotto che si sta realizzando, il tutto supportato dal Release Train Engineer (RTE), una sorta di capostazione che facilita le attività a livello di Program, risolvendo impedimenti, gestendo i rischi, ecc... Si tratta, con la dovuta approssimazione, di un “Chief Scrum Master”.

Infine viene previsto il Release Management Team, ovvero un cross-functional Team (con membri provenienti da diverse aree: marketing, dev, QA, DevOps) che approva il rilascio al cliente dello specifico PSI.

Nel Program Level, le feauture di prodotto sono raccolte e priorizzate, tipicamente attraverso un approccio WSJF (Weighted Shortest Job First), dal Product Manager all’interno del Program Backlog. E’ fondamentale sottolineare che il Product Manager ha un ruolo duale rispetto al Product Owner del Team Level: si tratta della figura a cui è demandata la responsabilità del progetto con un occhio specifico verso i temi “esterni” allo sviluppo, come quelli di business. In un approccio Scrum-based il solo Product Owner, tipicamente, riveste entrambe le responsabilità, ma ciò diventa praticamente impossibile in un contesto @Scale.

Oltre ai ruoli fin qui evidenziati, SAFe contempla esplicitamente quelli di: System Architect, UX Designer, Shared Specialist, System Team.

E’ interessante notare l’esplicita presenza del ruolo di System Architect che ha il compito di definire l’Intentional Architecture, ovvero un’architettura di massima (architectural runway) che abbraccia le Epic Architetturali definite al Portfolio Level, ma che viene costantemente rivista e rivalutata con il classico approccio inspect-and-adapt. Non è una progettazione Big Up-Front! Molto spesso il System Architect assume anche un ruolo di Coach per quanto riguarda gli aspetti tecnologici.

Stesso discorso per l’esperto di User Experience (UX Designer) e gli Shared Specialist, ossia specialisti di specifici settori (es: DBA) a supporto dei Team.

Un discorso a parte, invece, merita il System Team. Si tratta di un gruppo di specialisti a cui viene affidata la realizzazione (almeno iniziale) delle infrastrutture comuni, come ad esempio l’infrastruttura di supporto per il development della soluzione o l’insieme dei tool necessari alla Continuos Integration a livello di Program.

Alla prossima fermata parleremo del Portfolio Level ;-)

agileiot logo  ac2 logodac dac dacdac dac psmii psmii safe cal1 less certazure fundamentals
mvp reconnect

Free Joomla templates by Ltheme