Retroscena: sviluppo software e rugby

Quando ho sentito per la prima volta che Creo era basato su Scrum (“mischia”), mi sono tornati in mente i miei trascorsi scolastici sui campi di rugby inglesi: branchi impenetrabili di giocatori disposti su tre file, accovacciati e intrecciati, che spingevano la palla in mezzo a una selva di gambe pelose e calzini al ginocchio. Ho poi scoperto che non è a questo che si riferisce PTC con il termine “Scrum”. Scrum è anche il nome dell’approccio di sviluppo utilizzato per Creo, collegato solo lontanamente allo sport britannico. Per parafrase Wikipedia: “Scrum è un metodo incrementale iterativo di gestione dei progetti spesso riscontrato nello sviluppo agile di software”. La metodologia Scrum risale al 1986, quando Hirotaka Takeuchi e Ikujiro Nonaka descrissero un nuovo approccio che avrebbe incrementato la velocità e la flessibilità nello sviluppo di nuovi prodotti. Paragonarono quindi questo approccio, in cui le fasi si sovrappongono considerevolmente e l’intero processo è eseguito nelle diverse fasi da un team interfunzionale, al rugby, in cui l’intera squadra “tenta di reggere fino in fondo in modo unitario, passandosi avanti e indietro la palla”. Ho chiesto a Michael Pfrommer, Vice President per lo sviluppo dei prodotti Creo, di illustrare il significato di Scrum per PTC e i suoi prodotti. GH: Scrum è un nuovo approccio per PTC, ma non tutti sanno come fosse lo sviluppo software prima di Scrum o di metodi agili simili. Può descrivercelo? Pfrommer: Prima di Scrum, una release software veniva in genere sviluppata in fasi: ricerca, progettazione e sviluppo, con stage-gate ufficiali che potevano durare mesi o anni. Scrum fornisce risultati molto più veloci e immediati, concentrandosi sull’avanzamento dei progetti in cicli di piccole dimensioni, in genere denominati sprint. GH: Ho sentito parlare di ScrumMaster, Sprint Owner, ecc. Qual è il loro ruolo? Pfrommer: Scrum è una struttura di processo contenente insiemi di procedure e ruoli predefiniti. I ruoli principali di Scrum in PTC sono i seguenti: Lo “ScrumMaster” gestisce i processi assicurandosi che tutti i team seguano l’approccio Scrum (in genere al posto di un project manager). In PTC sono presenti più ScrumMaster, poiché sono presenti molti Scrum Team. Il “Product Owner” rappresenta le parti interessate e l’azienda. Il Product Owner supervisiona i requisiti di prodotto finali per il prodotto commerciale rilasciato, che includono requisiti funzionali e non funzionali (infrastruttura), interfaccia esterna e requisiti in termini di dati e di prestazioni. In PTC, questa persona in genere proviene dal team Product Management. Nessun prodotto viene rilasciato finché il Product Owner non è convinto che siano stati inclusi i requisiti importanti. Il Product Owner, tuttavia, non opera in modo arbitrario. In PTC, i requisiti di prodotto vengono sviluppati tramite una serie dettagliata di esperienze dei clienti o “poemi epici”. Lo “Sprint Owner” in PTC è il team Product Definition, che guida ogni sprint in termini di requisiti. Il team utilizza i poemi epici forniti dal Product Owner e li suddivide in blocchi gestibili che possono essere inclusi in uno sprint. Questi blocchi vengono denominati storie del prodotto. Il “Team” è un gruppo interfunzionale che esegue effettivamente l’analisi, la progettazione, l’implementazione, i test e così via. Tutti i ruoli che collaborano formano lo “Scrum Team”, responsabile della distribuzione del prodotto o degli incrementi di prodotto potenzialmente distribuibili. Il team è guidato da uno “Scrum Coach” e include un Product Owner, sviluppatori e così via. GH: Perché in PTC esistono sia il ruolo del Product Owner sia quello dello Sprint Owner? Sembrano simili. Pfrommer: Il Product Owner ha realmente la visione finale dei requisiti di prodotto e comprende i requisiti che devono essere completati affinché la release abbia successo. La persona che ricopre tale ruolo è coinvolta anche in aspetti commerciali come licenze, pacchetti e prezzi. Lo Sprint Owner deve assicurarsi esclusivamente che a ogni sprint siano assegnati i requisiti corretti e che tali requisiti possano essere forniti nell’ambito dello sprint. GH: Sembra piuttosto complicato. Può descriverci un processo tipico? Pfrommer: In realtà non è complicato, soprattutto in confronto ai processi tradizionali. La base del processo di Scrum è lo sprint. Durante ogni “sprint“, che copre in genere un periodo di quattro settimane, il team crea un incremento di prodotto potenzialmente distribuibile (tutto ciò che viene aggiunto durante lo sprint è funzionante e testato). L’insieme di funzionalità incluso in uno sprint deriva dai poemi epici, costituiti da insiemi strutturati per priorità di requisiti di lavoro di alto livello del Product Owner. Gli Sprint Owner suddividono questi poemi epici in storie e quindi conducono meeting di pianificazione degli sprint per determinare quali storie devono essere incluse nello sprint successivo e quali devono essere inserite nel backlog del prodotto. Nel corso di questo meeting, il team valuta quali storie è in grado di completare durante lo sprint successivo. Una volta definito lo sprint, nessuno può modificarne le storie. I requisiti, quindi, sono bloccati. Lo sviluppo è organizzato in intervalli di tempo definiti e lo sprint deve terminare con puntualità. Le storie non completate verranno omesse e riportate nel backlog del prodotto. Una volta completato uno sprint, il team fornisce una dimostrazione delle modalità di utilizzo del software. GH: Quali ritiene che siano i vantaggi principali di Scrum per PTC? Pfrommer: Ritengo che i vantaggi principali di Scrum siano tre. Il primo è che all’interno di ogni sprint osserviamo una rapida evoluzione del prodotto. Si tratta di un approccio per fasi trasparente, che consente di verificare immediatamente i risultati a intervalli di poche settimane. Il secondo è il riconoscimento che durante un progetto possiamo cambiare idea in merito a ciò che si desidera e ciò che è necessario. Con le nuove tecnologie di Creo, Scrum fornisce la piattaforma ideale per gestire problematiche impreviste che non possono essere facilmente risolte con modalità pianificate o predittive tradizionali. Infine, con il completamento di ogni sprint disponiamo di un risultato potenzialmente candidato al rilascio. GH: È la prima volta che questa metodologia viene utilizzata in PTC? Pfrommer: No. Utilizziamo da anni approcci agili per numerosi prodotti. Creo Elements/Direct 17.0, infatti, ha seguito accuratamente tale approccio e questo è uno dei motivi per cui siamo stati in grado di offrire anteprime esclusive delle nuove funzionalità con largo anticipo rispetto al rilascio del prodotto. Lo stesso si è verificato per Creo: abbiamo potuto mostrare le funzionalità del prodotto quasi 9 mesi prima del rilascio. GH: Al termine di ogni sprint, pertanto, PTC può potenzialmente rilasciare Creo? Pfrommer: Sì. Maggiore è il numero di sprint completati, inoltre, maggiori sono le probabilità che il prodotto sia potenzialmente rilasciabile. Una volta identificato un potenziale candidato al rilascio, avvieremo quindi un più esteso approccio di testing graduale che coinvolgerà un maggior numero di persone, comprendente un più ampio insieme di collaboratori interni, software partner e clienti. GH: Quanti altri sprint sono stati pianificati per Creo 1.0 prima che PTC disponga di un prodotto candidato al rilascio? Pfrommer: Abbiamo completato l’ultimo sprint prima di Natale e sono previsti altri 3 o 4 sprint prima di
ottenere il prodotto Creo 1.0 candidato al rilascio. In base al piano attuale, disporremo di una versione beta in marzo e di Creo 1.0 in giugno. Nei successivi articoli “Retroscena” su Creo e Scrum verrà recensito lo stato corrente di Scrum per Creo 1.0 e verrà illustrato in dettaglio il più esteso approccio di testing graduale. Immagine di royskeane

Questo articolo è stato pubblicato in Retroscena e ha le etichette , , , , , , , . Aggiungi ai preferiti: link permanente. Scrivi un commento o lascia un trackback: Trackback URL.

Pubblica un Commento

Il tuo indirizzo Email non verra' mai pubblicato e/o condiviso. I campi obbligatori sono contrassegnati con *

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Puoi usare questi HTML tag e attributi: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong>