In questo post affronto un tema a mio avviso molto interessante: come è possibile conciliare la metodologia agile per sotto-progetti IT, che supportano progetti di creazione di nuovi prodotti in organizzazioni che lavorano per funzioni?
Nel post
Influenza delle organizzazioni aziendali nella gestione dei progetti ho parlato delle differenti tipologie di organizzazioni e del loro approccio nella gestione dei progetti.
Ognuna di esse, attraverso il proprio management, sviluppa nuove idee di business per lo sviluppo di nuovi prodotti o servizi da lanciare e posizionare sul mercato.
Il primo “slancio” creativo, infatti, lo fanno le persone che conducono l’azienda; persone che hanno decisio la strategia aziendale e che hanno una visione a 360° del mercato in cui opera l’azienda.
Le idee nate, vengono quindi poste nelle mani dei manager di seconda linea (middle management), affinché siano approfondite e concretizzate.
Queste persone ne sviluppano, o fanno sviluppare, studi di fattibilità, analisi sul ritorno degli investimenti (“investment payback period”, ROI,ecc.) stime dei costi, dei tempi e delle tempistiche di lancio.
Quest’ultima per verificare l’effettivo inquadramento del prodotto sul mercato, all’interno delle finestre temporali richieste dal management; periodo in cui si presuppone di massimizzare la profittabilità dell’azione svolta.
Questa fase di assesment dell’idea (tempi/costi/benefici), porterà alla selezione di quei progetti più convenienti per l’organizzazione.

Gli stessi manager che hanno terminato questa fase, probabilmente diverranno gli sponsor dei singoli progetti incaricati di rilasciare i prodotti sul mercato. Loro sceglieranno, o dovrebbero scegliere, i project manager adatti a prenderne la guida e forniranno loro, tutte le informazioni raccolte e le risorse necessarie allo svolgimento del progetto stesso.
Coinvolgimento del dipartimento IT
Ogni progetto fa uso di notevoli quantità di dati e necessita di strumenti adeguati di comunicazione, che obbligano di fatto il coinvolgimento del dipartimento IT (Information Technology) o IS (Information Systems).
Tale dipartimento, infatti, dovrebbe fornire al project team gli strumenti adatti per la conduzione del progetto, come per esempio:
- Sistemi per lo scambio di Email
- Instant Messaging Systems (es. Messenger, Skype, ecc.)
- Attrezzature per phone/video conference
- Intranet dedicate per la pubblicazione e centralizzazione dei documenti di progetto
- Software di project management
In molti casi, però, il prodotto in fase di progettazione, necessiterà dello sviluppo di procedure software dedicate, ospitate su opportuni sistemi hardware e di rete. Responsabilità, quelle, ancora in carico all’IT.
Il progetto di fatto potrebbe essere suddiviso in due distinti sotto-progetti.
Il primo legato all’area prettamente “business” dell’idea, e che dovrebbe produrre documentazione, modelli e studi, che porteranno alla concretizzazione del progetto nel prodotto/servizio. Il secondo, a supporto del primo, si occuperà di implementare procedure software, processi, flussi dati e workflow, governando anche le tematiche più prettamente sistemistiche.
E’ in questo momento che possono insorgere problemi tra i due line/functional manager (project manager e responsabile IT), che si trovano a dipendere l’uno dall’altro per la buona riuscita del progetto nella sua totalità.
La prima considerazione riguarda le differenti aree lavorative delle persone coinvolte e il loro differente approccio al lavoro.
Il pm, figura spesso prelevata dall’area di business o funzione aziendale interessata dal progetto, ha spesso un approccio molto “macro” al problema, conosce piuttosto bene il mercato, ha una visione ad alto livello del contesto progettuale, dei vincoli, delle limitazioni e delle opportunità.
Potrebbe in effetti, non parlare un linguaggio tale da riuscire a trasmettere le informazioni all’IT, con la giusta granularità, precisione e minuzia proprie delle necessità ”informatiche”.
Dall’altra parte il responsabile IT: di probabile estrazione tecnica, necessita appunto di informazioni dettagliate (micro) sui processi e sulle procedure da implementare.
Deve capire i processi coinvolti, conoscere natura e tipologia dei dati, algoritmi di calcolo, corrispondenza tra informazioni di input e output, visibilità dei dati e modalità di trattamento. Le informazioni fornite, dovrebbero anche metterlo nelle condizioni di percepire eventuali possibilità di astrazione dei processi, al fine di renderli generalizzati e riusabili per successive necessità con un conseguente risparmio di denaro.
La seconda considerazione riguarda invece le criticità legate al fattore tempo e alle conseguenze che ne derivano,
Mi spiego meglio. Può accadere che un progetto di importanza vitale per l’azienda, venga lanciato in tempi brevissimi, senza avere a disposizione i piani e i documenti analitici di riferimento, requirements e business case, budget solo accennati, risorse necessarie non sempre disponibili, descrizione mancante della qualità necessaria.
L’unica cosa certa è appunto il vincolo tempo: la data di consegna è già decisa.
Questa situazione è paradossale, se consideriamo che è solo in funzione della pianificazione dettagliata di cosa deve essere fatto (WBS + scomposizione attività + stime tempi + stime costi) e con quali risorse, sarà possibile fissare una data di rilascio.
Il project manager, quindi, si trova a dover dialogare con il responsabile IT, non avendo a disposizione informazioni di dettaglio sufficienti per poterlo attivare nel migliore dei modi.
Come fare allora?
Come conciliare i mondi “micro” e “macro” delle due figure?
Come gestire la mancanza di dettaglio analitica del progetto?

A mio parere si dovrebbe lavorare su diversi livelli.
Innanzitutto si dovrebbe colmare la distanza di “comunicazione” tra il mondo business e il mondo IT, al fine di rendere più facile e veloce la successiva stesura dei piani analitici necessari.
Si procederebbe quindi alla definizione degli obiettivi strategici da perseguire con il progetto e per questi procedere alla definizione di un buon livello di dettaglio degli stessi.
Affidarsi all’agile project management e allo sviluppo iterativo, affinche sia possibile sin da subito, cominciare con lo sviluppo delle funzionalità a maggiore priorità.
Utilizzare infine, la tecnica roll wave planning per condurre in parallelo fasi analitiche dettagliate delle funzionalità da sviluppare nelle prossime iterazioni.
Nel prossimo post, illustrerò con maggior dettaglio, una possibile soluzione…..ecco un esempio di roll wave planning!
Stay tuned