Retroscena: report da uno sprint review di Creo 1.0

In un precedente articolo abbiamo descritto Scrum, il processo interno utilizzato da PTC per lo sviluppo di Creo che fornisce ai nostri team di ricerca e sviluppo un approccio progressivo per una gestione dei progetti di successo. Questo ha importanza anche all’esterno del laboratorio, per le persone che utilizzano il software dopo che è stato rilasciato? Secondo Michael Pfrommer, Vice President per lo sviluppo dei prodotti Creo, i clienti di Creo traggono enormi vantaggi da Scrum poiché garantisce release utili e affidabili.

Continuando la nostra intervista, Pfrommer descrive in modo approfondito i test eseguiti per Creo e come viene deciso il momento del rilascio.

GH: Ho sentito spesso che PTC “incorpora qualità” durante lo sviluppo software. Che cosa significa?
Pfrommer: PTC incoraggia gli sviluppatori di software a “Incorporare qualità” nel corso della progettazione e dello sviluppo delle funzionalità. All’inizio dedichiamo tempo ad assicurarci che i requisiti siano chiari, che i progetti funzionali vengano esaminati e approvati dal team e che gli sviluppatori eseguano test preliminari sulle modifiche al codice nell’ambiente di sviluppo locale prima di includerle nel flusso di sviluppo software principale. Tentiamo realmente di promuovere l’incorporamento di qualità fin dalla progettazione e dalla creazione di codice.

GH: In precedenza ha accennato al fatto che durante ciascun periodo di sviluppo o “sprint” il team crea un prodotto potenzialmente distribuibile. Prima di procedere con l’insieme successivo di nuove funzionalità o correzioni, pertanto, è necessario che tutto ciò che viene aggiunto durante lo sprint funzioni correttamente. Potrebbe descrivere i test eseguiti per ogni sprint?
Pfrommer: È esatto. È fondamentale che ogni sprint sia funzionante e testato. Dopo poche settimane di sviluppo, pertanto, testiamo il codice. Vengono eseguiti singoli controlli su qualsiasi funzionalità nuova o aggiunta.

GH: In modo casuale o metodico?
Pfrommer: In modo strategico. La maggior parte dei cicli di test include cinque passaggi di alto livello:

  1. Raggiungimento di un accordo. Concordiamo innanzitutto che cosa verrà testato, ovvero il piano di test. Tale piano deriva in genere da una combinazione di requisiti, definizione e criteri di accettazione del prodotto.
  2. Documentazione dei test. In questo passaggio documentiamo test, casistiche di test e condizioni di superamento e, se possibile, creiamo un test automatizzato.
  3. Esecuzione dei test.
  4. Creazione di report, monitoraggio e gestione dei risultati dei test.
  5. Identificazione dei test non superati e definizione della priorità di tali test.

GH: Vengono automatizzati molti test?
Pfrommer: Sì. Tutti gli ingegneri responsabili della qualità sviluppano continuamente test automatizzati e creano sempre più suite di test in grado di testare tutti gli aspetti dello sprint. Per Creo, eseguiamo oltre un milione di test automatizzati prima della distribuzione di una release.

GH: Come vengono assimilati i risultati di tutti questi test?
Pfrommer: Per ogni test, il risultato è Pass(il test è stato eseguito e i risultati sono corretti), Fail (il test è stato eseguito, ma i risultati non sono corretti) oppure OK to Fail (il test è stato eseguito e i risultati sono stati analizzati, ma il test effettivo deve essere aggiornato). Il riepilogo di tutti i test eseguiti per ciascuno sprint offre una visione obiettiva della qualità di ogni sprint.

GH: Una volta completato un certo numero di sprint, si dispone di un potenziale candidato al rilascio?
Pfrommer: Sì. Il Product Owner dichiara che i requisiti del prodotto sono stati soddisfatti con il completamento di uno sprint e designa tale versione del codice come prodotto candidato al rilascio.

GH: Perché non tutti gli sprint sono considerati un potenziale candidato al rilascio?
Pfrommer: Si tratta di una combinazione di fattori. Il Product Owner deve determinare se il software è sufficientemente completo da offrire un valore ai clienti. In caso di rilascio anticipato, il prodotto non soddisferà le esigenze. In caso di rilascio tardivo, è possibile che i clienti abbiano trovato un’altra soluzione e non siano rimaste opportunità per PTC. Ci chiediamo inoltre come si sono evoluti il mercato e l’azienda. Potremmo aver acquisito una tecnologia o un prodotto che ci consentono di soddisfare maggiormente le esigenze dei clienti oppure un partner potrebbe aver sviluppato una soluzione nell’area considerata. Consideriamo infine che ogni volta che viene designato un potenziale candidato al rilascio hanno inizio test graduali più estesi che coinvolgono più persone. Nei test più estesi è incluso un maggior numero di collaboratori interni, software partner e clienti. Desideriamo assumerci realmente tutto questo impegno solo quando possiamo essere certi di disporre di una release di impatto.

GH: Può illustrare i passaggi di questi test graduali più estesi?
Pfrommer: Esaminiamo l’intero prodotto nella sua totalità. Per un candidato al rilascio:

  • Consideriamo aspetti aggiuntivi oltre alla qualità funzionale, ad esempio prestazioni, affidabilità, facilità di utilizzo, scalabilità, utilizzabilità e compatibilità.
  • Eseguiamo test su una vasta gamma di computer e piattaforme, utilizzando il candidato al rilascio all’esterno dell’ambiente di build dello sviluppatore.
  • Includiamo una quantità notevolmente superiore di test manuali, ad esempio rilasciando una versione beta del software condivisibile con tester in tutto il mondo.
  • Testiamo la compatibilità con altri prodotti PTC.
  • Eseguiamo test su tutte le diverse lingue e sulle configurazioni nelle lingue supportate.
  • Rilasciamo una versione del candidato al rilascio a software e hardware partner in modo che possano certificare le proprie offerte con l’ultima release.
  • Teniamo traccia di tutto quanto indicato in precedenza, con creazione di report, monitoraggio, gestione e risoluzione dei problemi critici.

GH: I test più estesi sono quindi importanti quanto i test degli sprint?
Pfrommer: Esatto. Entrambi i tipi di test sono importanti. Ritengo che i vantaggi principali dell’approccio Scrum siano tre. Il primo è la stabilità del prodotto nell’intero sviluppo. Desideriamo assicurarci che i nostri clienti siano interessati a ogni release e 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 e offrirne una dimostrazione ai clienti 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: Quanta importanza attribuisce PTC alla fase di test nello sviluppo prodotto complessivo?
Pfrommer: Esistono oltre 1 milione di test automatizzati e il 20% della nostra capacità di sviluppo prodotto totale è dedicata ai test. Per Creo 1.0 investiremo oltre 200.000 ore in test manuali, senza contare le migliaia di ore di test effettuate da clienti, software e hardware partner e altri collaboratori esterni.

GH: Con tutti questi test automatizzati, si arriverà un giorno a eliminare del tutto i test manuali?
Pfrommer: No. Non è immaginabile.  Possiamo ridurre al minimo i problemi in diversi modi, ad esempio il concetto delle applicazioni ridurrà la complessità richiedendo un minor numero di righe di codice, ma verranno sempre eseguiti test e sarà sempre necessario un essere umano per utilizzare il software e individuare i difetti più strani e talvolta più ovvi. Nei successivi articoli “Retroscena” verrà recensito lo stato corrente di Creo 1.0.

Questo articolo è stato pubblicato in Info su Creo 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>