Agile Life

luglio 2014 - Post

Back to Value, Agile Portfolio Management

Più volte abbiamo parlato del Portfolio (level), mostrando come gestire uno specifico Backlog con TFS2013 in modo da splittare le attività si più Team. Soffermiamoci ora sul Portfolio in se, rispondendo alla domanda "Come creo e gestisco efficacemente un Agile Portfolio?".

Ebbene, la creazione e la gestione dell'Agile Portfolio per la produzione del software è un'attività complessa (cynefin – complex quadrand) quanto la creazione del software stesso. L'approccio Agile (e Lean) ha reso definitivamente chiaro che molta della complessità è legata alle interazioni che si creano tra le varie persone coinvolte nel processo di produzione, e ciò si riflette anche nella gestione del Portfolio di riferimento.

In generale, il punto di partenza per la definizione di un Agile Portfolio è la Vision strategica aziendale, che contempla fattori come: trend di mercato a medio e lungo termine, obsolescenza tecnologica, opportunità di business, morfologia del mercato, ecc...

Questi aspetti sono l'essenza di uno degli elementi portati dell'Agile Portfolio, il Portfolio Planning.

agile portfolio

La definizione del Portfolio Planning è la linfa costituente dei 4 pilastri (four pillar) dell'Agile Portfolio:

  • Value Management, definisce puntualmente cosa rappresenta il "Valore" nella Vision corrente, cosa che si concretizza nel Value Stream più volte richiamato in SAFe;
  • Work Management, sono le azioni di gestione messe in atto per portare a compimento le azioni di perseguimento del Value Stream, ad esempio l'Agile Release Train;
  • Capacity Management, condensa le azioni di gestione di tutto ciò che riguarda le risorse disponibili per il raggiungimento degli obiettivi, prima tra tutte le professionalità coinvolte, fondamentali negli ambiti di produzione complessi;
  • Financial Management, definisce gli espetti finanziari complessivi, legando le fasi al rispetto del budget e agli obiettivi di revenue che si vogliono perseguire.

Ognuno dei quattro pilastri ingloba, in misura differente e con approccio differente, le attività di Risk Management che, chiaramente, assumono un significato diverso in base al contesto di riferimento.

Infine, ma solo per descrizione non certo per importanza, troviamo il Portfolio Performance che trasforma la Vision in azioni concrete nell'ambito dello sviluppo e del posizionamento sul mercato. Un esempio: se la Vision è quella di "lanciare un treno" (ART launch) che abbatte costantemente il time-to-market, questo si traduce in una chiara impostazioni anche nelle attività di sviluppo che potrebbero, ad esempio, seguire una logica Lean.

E' tutto? Assolutamente no! Abbiamo dimenticato uno degli aspetti più importanti e onnipresenti nel mondo Agile/Lean: il feedback che fluisce a tutti i livelli per riallineare costantemente il Portfolio con la situazione contingente o, dualmente, spingere affinché quest'ultima si avvicini maggiormente alla strategia inerente la Vision.


Be SAFe!


[FELICEPESCATORE.IT]

Back to Value, draw the canvas!

Dopo aver presentato il Product Canvas ed avere mostrato, brevemente, come integrarlo con gli strumenti comune in ambito ALM Microsoft, non ci resta che passare alla parte più interessante: dipingere la tela!

SampleProductCanvas

Un Product Canvas "popolato" (Roman Pichler)

Il product Canvas è pensato per essere “esplorato” e “popolato” da sinistra verso destra e, quindi, la prima area che va riempita è quella relativa al “Target Group”, utilizzando l’approccio personas-oriented.

ProductCanvasSteps

Se si riflette un attimo su questa priorità, ci si rende conto che è assolutamente ovvia ed in linea con un approccio Agile/Lean alla creazione di soluzioni IT.

Il secondo passo è quello di riempire la “Big Picture”, descrivendo le Features del prodotto attraverso tutti gli elementi che riteniamo idonei a rappresentarne la Vision. Ben vengano, quindi, user-story, StoryBoard, disegni della UI, ecc. Sono, invece, del tutto banditi elementi specifici dell’attività di implementazione: non troveremo mai: “creare le interfacce di accesso al db”.

Infine, il terzo step, è quello di decide quale feature verrà sviluppata nella prossima iterazione di sviluppo, elencando le relative user-story ed evidenziando eventuali attività atte a esplorare specifiche soluzioni o a ridurre il rischio.

Attenzione però a non interpretare questi step come sequenziali in senso stretto. Dopo la prima formalizzazione (sequenziale), l’intero Product Canvas va incontro a continue review e aggiornamenti, dovuti al know-how di dominio, continuamente aumentato man mano che si procede con il progetto.

Ecco il punto: il Product Canvas è uno strumento di apprendimento che posa la sua essenza sul tanto amato pattern inspect-and-adapt.

ProductCanvasAndLearning3

Product Canvas come strumento di apprendimento (Roman Pichler)

 

[FELICEPESCATORE.IT]

Back to Value, dematerialisation

Come accennato nel post precedente, Back to Value, vediamo ora di sfruttare gli strumenti che comunemente utilizziamo per ottenere una versione “digitale” ed integrata del Product Canvas.

E’ utile fare una premessa: il Product Canvas dà il meglio di se in versione “materializzata”, quindi è opportuno che tutte le discussioni relativi (Inception Meeting, Iteration 0, ecc…) vengano effettuate con un bel Canvas fisico, con tutti gli strumenti tipici. La versione “dematerializzata” è utile per poter conservare in modo più efficace (non la semplice foto!) il lavoro prodotto e consentire di visualizzare i risultati ottenuti anche a stakeholder fisicamente non localizzati nella stessa struttura. Si tratta dello stesso approccio che suggerisco per la Kanban Board.

Ma veniamo all’oggetto del post.

Step 1

Il primo passoè quello di creare/dotarsi di una versione digitale del Product Canvas, realizzato sfruttando PowerPoint, come quello mostrato nella figura seguente:

 ProductCanvasTemplate

Product Canvas PPoint Template

A questo punto, una volta fatte tutte le modifiche opportune, riempito il Canvas e aggiunti gli elementi di Story Board (consigliato), non resta che linkare direttamente il nostro elaborato direttamente a TFS in modo da condividerlo con gli stakeholder di progetto.

Step 2

Sempre in PowerPoint, selezionate “STORYBOARD” dalla Ribbon bar e poi attivate la voce “Storyboard Links”. Si aprirà una finestra simile alla seguente:

productcanvas ppoint 1

Linked Work Item

Step 3

Selezionate “Connect”, scegliete il server TFS di riferimento e il Team Project a cui volete associare il Product Canvas:

productcanvas ppoint 2

TFS Server & Team Project Selection

Step 4

Selezionate il WorkItem a cui collegare il Product Canvas (nell’esempio della figura seguente: “Product Canvas Definition”) e confermate l’operazione:

productcanvas ppoint 3

Scelta Work Item

Step 5

Il linking è avvenuto con successo e non vi resta che chiudere la schermata di riepilogo:

productcanvas ppoint 4

Ripeilogo

Possiamo ora verificare se tutto è andato a buon fine, aprendo VisualStudio Online, selezionando il progetto e visualizzando i dettagli del Work Item “linkato”:

productcanvas ppoint 5

 

[FELICEPESCATORE.IT]

Work Item & Product Canvas linked

Il file deve chiaramente risiedere in una directory condivisa (eventualmente sharepoint) per poter essere accessibile da chiunque enon risiedere sul vostro disco privato.

Bene, a questo punto abbiamo definito il MODELLO, abbiamo creato il TEMPLATE e collegato il tutto a TFS e ora… non ci resta che “disegnare la tela”. Lo faremo, però, nel prossimo post.