by Suzanne Robertson

Agosto 2005

I requisiti come strumento di gestione dei progetti

Ascoltare la musica, spostarsi per andare al lavoro, prepararsi una tazza di tè sono tutte attività talmente familiari che possiamo eseguirle automaticamente, senza dover decidere ogni volta come comportarci. L’insieme delle nostre esperienze ci aiuta a sviluppare una serie di comportamenti standard, che attiviamo in maniera assolutamente ripetitiva.

Adesso, supponete che stiate ascoltando un concerto di Rachmaninoff e che la musica improvvisamente aumenti fortemente di volume; oppure che dei lavori stradali vi impediscano di utilizzare il percorso abituale per recarvi al lavoro; o, ancora, che non possiate preparvi il tè perché la quantità del vostro tè favorito rimasta nella scatola non è sufficiente.

Che cosa fate quando la realtà non corrisponde alle azioni che desiderate compiere? Effettuate alcuni aggiustamenti per modificare la situazione a vostro vantaggio. Negli esempi indicati, abbasserete il volume dello stereo; fermerete l’auto e esaminerete la carta stradale per trovare una via alternativa; deciderete di rischiare il gusto della bevanda, mischiando il vostro tè favorito con un’altra qualità che solitamente non utilizzate.

Sappiamo come affrontare le situazioni nella nostra vita di ogni giorno perché abbiamo modelli di riferimento che contengono variabili che comprendiamo e che sappiamo come modificare. Quando dobbiamo gestire un progetto, ci comportiamo in maniera del tutto analoga.

Un capo progetto esperto verifica lo stato e il comportamento attuale del progetto, confrontandolo con il modello atteso. Quando riscontra una difformità, il manager responsabile agisce sullo schema del progetto mettendo sotto osservazione una o più variabili, analizzandole e effettuando aggiustamenti in aree come il carico di lavoro, l’assegnazione dei compiti e il contenuto delle diverse versioni prodotte.

Le variabili maggiormente utili per un continuo aggiustamento del progetto sono quelle che risultano:

  • identificabili fin dalle primissime fasi del progetto
  • rintracciabili e visibili nell’intero arco di vita del progetto
  • in grado di riflettere il lavoro reale effettuato.

E’ a questo punto che entrano in ballo i requisiti e le prescrizioni.

Ho iniziato con il presupposto che il vostro progetto utilizzi un approccio disciplinato e coerente per definire i propri requisiti, sia a livello generale che nel particolare. Dando per scontata questa premessa, il responsabile del progetto può usare i requisiti stessi come strumento di aggiornamento e di decisione.

All’inizio del progetto

Gli analisti dedicati alla definizione dei requisiti effettuano la prima iterazione a livello generale sull’intero progetto. Si muovono sull’area complessiva d’intervento del progetto e ne identificano i confini e le diverse necessità di analisi più approfondite. Questo fornisce una quantità di informazioni relative ai requisiti e alle prescrizioni, utilizzabili dal capo progetto:

 

Requisiti ApplicabiliElementi MisurabiliInput del Processo Decisioonale
Analisi dei partecipantiNumero dei partecipanti, ruolo e aspettative di conoscenzaInput di stima della complessità sociologica e analisi del gap di conoscenza
Obiettivi del progettoScopo e vantaggi attesi per l’impresa con la realizzazione dello stato dell’obiettivoInput per l’analisi del valore decisioni relative alle priorità scelte di modifica nella gestione
Ambito dell’investigazioneNumero di INput e di output che delimitano l’investigazioneInput per la prima stima della complessità funzionale
Lista degli eventi dell’impresaNumero delle aree funzionali delimitateInput per la progettazione e allocazione delle attività, per l’analisi del rischio e per la stima del tempo/risorse necessarie per scoprire i requisiti relativi a ciascun evento
Ambito di intervento del prodotto – la capacità di identificarlo dipende dalla corretta definizione dei vincoli relativi al prodottoPrima stima del numero di interfacce tra il prodotto pianificato, gli utenti e altri prodottiInput per la pianificazione dei primi prototipi e delle simulazioni

Con questi elementi di partenza quantificati, un capo progetto possiede un input oggettivo per riconoscere le necessità di modifica e poter prendere le opportune decisioni in merito.

Durante le iterazioni

Ciascuna delle informazioni su indicate rappresenta un punto di partenza per effettuare una scoperta e definizione dettagliata dei requisiti. Man mano che il vostro team progredisce nella definizione di dettaglio dei requisiti di vario tipo (funzionali, non funzionali, vincolanti e tecnologici) i risultati di questo lavoro forniscono un input ancora maggiore per le vostre decisioni.

Dando per scontato che operate con un protocollo concordato sul livello di dettaglio dei requisiti, possiamo affermare che il capo progetto può usare i risultati delle analisi per adottare decisioni di guida del progetto stesso, senza la necessità di rivolgere domande senza fine sul progredire dei lavori.

Un insieme di attributi suggeriti per un requisito di dettaglio sono:

  • Identificatore univoco
  • Tipo di requisito (funzionale, non funzionale, vincolante o tecnologico)
  • Collegamento con uno o più casi di uso del prodotto
  • Descrizione
  • Fondamento logico
  • Fonte
  • Criteri di idoneità (per precisare il significato del requisito; usati per quantificare il requisito; come input per definire i test e per concordare le soluzioni)
  • Customer Satisfaction, ovvero criteri di soddisfazione e insoddisfazione degli utenti (input per le decisioni relative alle priorità d’intervento)
  • Dipendenze nei confronti di altri requisiti
  • Conflitti con altri requisiti
  • Storia (creazione, stato delle revisioni e ogni altro indicatore che può essere utilizzato per rintracciare il requisito all’interno dell’intero processo)
  • Materiali e indicazioni di supporto

Osservando lo stato dei requisiti di dettaglio, potete ottenere risposte che possono aiutarvi a prendere decisioni di guida. Per esempio, potete porre domande specifiche come: Quanti requisiti di dettaglio sono stati definiti? Quanti di questi posseggono misurazioni precise e sono stati considerati nel processo di revisione del Business? Quanto tempo è passato per arrivare a questo livello di analisi? Esistono requisiti correlati funzionalmente (ovvero collegati al medesimo caso di uso del prodotto) che possano essere considerati in implementazioni future, mentre altri gruppi stanno ancora aspettando risposte a domande sui requisiti?

Potete rispondere a queste e a molte altre domande, esaminando i risultati delle analisi prodotte dal vostro team. Naturalmente, questo “esame” non è da fare manualmente, ma è necessario l’ausilio di opportuni strumenti automatici di ricerca.

Tracciabilità dopo la luna di miele

Per ottenere la tracciabilità delle informazioni senza limiti di tempo, avete bisogno di un modello definito formalmente delle conoscenze che intendete rintracciare. Potete pensare che questo sia il vostro requisito principale da soddisfare per gestire i requisiti del progetto. In altri termini, rappresenta la specificazione di che cosa desiderate che il vostro strumento di gestione dei requisiti sia in grado di rintracciare.

Questo modello dovrà riflettere la vita di un requisito dal momento della sua scoperta e definizione fino a quello in cui venga considerato e soddisfatto da un prodotto rilasciato. Questo è il motivo per cui il vostro modello della conoscenza ha bisogno dell’input di tutti i partecipanti al progetto (analisti dell’impresa, analisti dei sistemi, architetti di sistema, progettisti, programmatori, addetti ai test, personale del marketing e così via, solo per nominarne alcuni), che sono responsabili per qualunque definizione o trasformazione dei requisiti.

Una volta che possediate un modello che riflette le vostre intenzioni di tracciabilità, allora avete bisogno della disciplina – praticata dall’intero team – per mantenere la conoscenza dei requisiti secondo quanto definito dal vostro modello della conoscenza.

La definizione dei requisiti secondo queste modalità vi procurerà alcuni vantaggi fondamentali: avrete le basi per adottare decisioni supportate da misurazioni precise del lavoro effettuato, così come, nel medesimo tempo, l’intero team avrà un modello di guida nella definizione del prodoto finale. In questo modo, il gruppo di sviluppo non risulterà impastoiato da un modello procedurale rigido e sarà in grado di rispondere correttamente alle modifiche richieste.