Processi

CI sono diversi motivi per estendere la gestione progetti con i processi; in effetti i due sono presentati come alternativi per le esigenze organizzative del team. Con Twproject puoi ottenere vantaggi da entrambi, in una soluzione intergrata.

Usiamo il processo come sinonimo di workflow.

Alcuni progetti dell’azienda possono ripetersi nel tempo e “standardizzati” al punto da essere eletti a “processi aziendali”.

L’approccio comune di Twproject è quello di avere “templates” che puoi riusare varie volte; questo approccio lascia all’utente la possibilità di cambiare qualcosa nella struttura dell’albero.
Un altro caso che puoi gestire del tuo progetto o processo sono le fasi di iterazioni: e.g. sviluppo -> rifiuto del cliente ->sviluppo -> rifiuto del cliente   -> sviluppo -> approvazione del cliente  -> festa!

La gestione progetti, dove i processi sono modellati con alberi, dipendenze e assegnazioni, ha diversi limiti:
1. limiti formali
2. rigidità
3. difficile da mantenere in tempo per il project manager
4. può risultare complesso per l’utente finale

Per limiti formali, basta pensare all’esempio fatto sopra di fasi di iterazione;  difficile farlo con un albero. Per i punti 2 e 3, i progetti sono intrinsicamente privi della nozione di “evoluzione locale” (o espansione), che è naturale nei processi aziendali. Per il punto 4, considera ad esempio uno step (task) in un progetto assegnato a un utente solo per otterenerne la firma; lei potrebbe trovarsi ad avere decine di assegnazioni solo per una firma, e decine di stati da aggiornare e giustificare. Non sarebbe più naturale se lei avesse nell’interfaccia giusto qualche bottone da premere per confermare che ha firmato, e che quest’azione sia richiesta per far avanzare il processo?

Con i processi aziendali, non solo superiamo questi limiti, ma otteniamo anche:
1. maggiore flessibilità e standardizzazione dei processi
2. facilità nel supportare il cambiamento

screen1220
Anche questo semplice esempio è difficile da gestire un semplice albero di progetto; a ogni iterazione devi cambiare manualmente lo stato di un paio di task, e questo potrebbe portare a uno stato di processo inconsistente.

Questo è il motivo per cui Twproject implementa un potente motore di workflow.

Lo strumento integrato per la gestione dei processi aziendali amplia notevolmente la possibilità di modellazione in relazione con l’albero di progetto, e migliora l’usabilità anche per casi d’uso complessi, mantenendo l’organizzazione basata sul progetto.

Nei nostri incontri con i clienti spesso presentiamo due modi per modellare i loro processi aziendali: con i progetti, mirato a dare una struttura minima per lavorare e raccogliere una quantità massima di feedback, worklog, etc., o usando modelli di processi aziendali, che sono flussi di lavoro. I flussi di lavoro sono più rigidi ma più accurati. Sono più complessi da pianificare ma spesso più facili per l’utente finale, che deve solo dire “procedi” sui suoi task quando è il caso.

I passi del processo sono in realtà task standard, quindi la ricerca nei progetti potrebbe trovare anche le fasi.
I passi da fare (leggi: task da chiudere) saranno presentati all’utente nello stesso posto dove normalmente trova le sue assegnazioni e i suoi task.

Abbiamo un “wizard” che ti consente di avviare un nuovo “processo” scelto fra quelli che hai impostato.
I processi sono definiti in JPDL, un potente linguaggio di definizione dei processi aziendali (basato su XML) che copre tutti i soliti fork/join/milestone etc. necessari alla gestione dei processi. Ci sono tre aspetti sui flussi di lavoro in Twproject: uso, amministrazione e personalizzazione. In questa sezione esamineremo soltanto l’uso.

screen1221Per avviare un progetto come “processo” dal pulsante aggiungi clicca su “crea processo”.

Questo ti porterà al wizard di creazione del processo che ti farà scegliere tra i processi disponibili.

Dopo aver scelto il processo sarà creato un task per ogni passo, quindi devi assegnare una risorsa. Il ruolo nel processo è pre-compilato.
A seconda di come è stato disegnato il processo, alcune assegnazioni potrebbero essere create  in fase di esecuzione usando diverse opzioni come “process starter”, “my boss”, una “risorsa a caso del team” etc.

screen1223Compila tutte le assegnazioni e clicca “crea processo”; sarai inviato all’editor del task. Come puoi vedere i task guidati da un processo hanno un editor leggermente differentee un bottone “processo” invece del link al Gantt. Questo perché i processi sono gestiti da una struttura di processo definita separatamente, e non editando un albero.

screen1224

 

 

 

La vista swimlane:

screen1225

I task attivi sono di colore rosa, quelli grigi sono completati.

screen1226Quando il task sta aspettando una tua azione, lo vedrai sulla tua home e un pulsante ti permetterà di completare il task.

 

Quando hai completato il tuo lavoro, clicca sul pulsante procedi.screen1227

 

L’esecuzione di un passo cambia automaticamente lo stato nel flusso di processo e notificherà alle risorse successive che c’è qualcosa da fare.

screen1228

Sarà interessante quando arriverai al passo “approvazione del cliente” dove potrai approvare o rifiutare lo sviluppo:

screen1229

Ti sembra semplice? Ok, adesso segui questa iperbole….

 

Ridurre gli alberi a processi aziendali

Convertire un processo aziendale, che per default può essere un grafo complesso (non solo un albero), in una struttura a albero (che è un grafo orientao non circolare, tecnicamente: ” Un albero è un grafo orientato con un nodo distinto, la sua root, dal quale verso ogni nodo c’è un unico path orientato) non solo non è banale ma anche impossibile, così abbiamo adottato alcune regole ridotte.

Prima di tutto ogni nodo di processo che richiede l’azione dell’utente (chiamato nodo-task nell’idioma di processo) è convertito in un task di Twproject. Per ogni task-processo (nei processi un task è un’azione richiesta da una swimline in un nodo-task) noi creiamo un assegnazione con il ruolo di swimline.

In questo modo è possibile avere task che richiedono la doppia conferma (in modo per esempio da poter avere processi con firma congiunta).

Esempio: un nodo-task del processo richiede un’azione dalla swimlane A e un’azione dalla swimlane B. Questo viene convertito in un singolo task con due assegnazioni.

Poi c’è il problema di riduzione del grafico… Lo abbiamo risolto applicando una “riduzione in corsa”; questo significa che ogni loop viene tagliato e riallineato durante la sua inizializzazione. Durante la fase di esecuzione quando il loop di processo ritorna, gli stati del task (task di Twproject) vengono cambiati di conseguenza, una sorta di tempo che si riavvolge, ma il percorso è sempre dritto.

Sostenere il cambiamento

Nei processi aziendali, se definisci un flusso di lavoro, lo puoi rivedere in ogni momento. Istanze parallele della versione 1 di un processo attivo e della nuova versione 2 possono coesistere. In questo senso la gestione progetti migliorata dai processi aziendali diventa compatibile con la “gestione del cambiamento”, così importante nelle grandi organizzazioni.

Ora qualcuno potrebbe chiedersi: già spaventa l’idea di introdurre nella nostra azienda la gestione progetti, aggiungere i processi aziendali, sempre terribilmente complesso. Bene, noi capiamo questo sentimento. Ma in Twproject tutto viene riportato a una soluzione molto semplice: se adotti Twproject, non stai introducendo nella tua azienda un software costoso, complesso, vecchio e inusabile, ma qualcosa di piuttosto semplice e che potrà essere amato dagli utenti, come un modo per risparmiare tempo e memoria. Se il tuo processo consiste nel registrare gli ordini in ingresso, produrre bozze in varie fasi e ottenere feedback sia da clienti che da test interni, bene questo è un classico processo aziendale, in particolare se hai fasi di test ricorrenti, e questo è quanto otterrai da Twproject.

Per una panoramica completa dei processi aziendali di Twproject, amministrazione, manutenzione, personalizzazione e tecnicismi JBPM vedi la sezione personalizzazioni.