Che cos'è un BPMS

“Il Business Process Management è l’insieme di attività necessarie per definire, ottimizzare, monitorare e integrare le attività aziendali, al fine di creare un processo orientato a rendere efficiente ed efficace il business dell’azienda." - fonte: http://it.wikipedia.org/wiki/Business_Process_Management


Metodologia, processi, persone e tecnologie (in particolare SOA e REST) sono le parole chiavi con le quali è possibile ricercare informazioni nell’enorme letteratura sviluppatasi intorno all’argomento BPM… e quella S?

Se sei come me un ingegnere del settore informazione, sappi che il BPM “è materia" degli ingegneri gestionali (tipicamente iscritti al settore industriale) da un punto di vista teorico e metodologico. La divisione funzionale delle organizzazioni aziendali, il passaggio ad una visione delle stesse organizzate per processi, la definizione di processo e la loro classificazione, etc., sono argomenti che sono affrontati in modo approfondito solo ad ingegneria gestionale e di conseguenza rappresentano un reale strumento nel mondo del lavoro principalmente per chi ha deciso di intraprendere quella specializzazione.
A noi informatici “resta" l’approfondimento di altri argomenti per poter prender parte a tali progetti, che riguardano le notazioni, gli standard, le tecnologie e gli strumenti abilitanti per l’integrazione dei sistemi informativi. A noi tocca capire come sfruttare al massimo un BPMS.

Senza fare tanti giri di parole quindi, è possibile affermare che un BPMS è composto da un insieme di strumenti informatici che supportano tutte le fasi (definizione, monitoraggio, ottimizzazione, etc.) di implementazione di un processo aziendale, nell’ambito di un progetto BPM.

La S nell’acronimo per il sottoscritto, che da circa tre anni è sul pezzo, rappresenta ancora un dubbio non fugato al pari della pronuncia di altri “oggetti" che utilizzo quotidianamente per lavorare (apache, query, penthao, etc.).

I tre significati che è possibile rintracciare sono:

  • Suite;
  • Software;
  • System.

Non saprei dire, con l’esperienza che ho, quale dei tre è più adeguato. A me lo sembrano tutti e tre. Probabilmente è questo il motivo per il quale si fa confusione.
Acronimi a parte, un BPMS fornisce strumenti per:

  • Analisi e la modellazione dei processi
    Un designer per rappresentare graficamente i processi utilizzabili dai Business Analyst;
  • Supporto human workflow
    Un ambiente di sviluppo per creare soluzioni software process centric che consentano l’automazione di attività che richiedono l’intervento umano, con strumenti per disegnare e generare form utente, todo list, etc.;
  • Supporto integrazione applicazioni
    Un ambiente di sviluppo che consente un’integrazione agevole dei sistemi informativi mediante l’esposizione di API;
  • Regole di business
    Uno strumento per la definizione e l’applicazione delle regole di decisionali utilizzate nei processi;
  • Esecuzione dei processi
    Un engine generalizzato che esegue il flusso elaborativo relativo ai processi disegnati, che concatena e orchestra attività automatizzabili e umane mantenendone lo stato;
  • Analisi dei dati e ottimizzazione delle performance mediante simulazione
    Un strumento per il tracciamento dei dati e l’analisi degli stessi, con un ambiente integrato nel quale impostare scenari (cambio tipo e numero risorse del processo) che, a partire dai dati storici raccolti fino ad un certo momento, sia in grado di produrre simulazioni predittive.

Quali competenze in ambito IT bisogna avere?
Dipende dove si presta la propria consulenza nell’ambito del progetto (e questo tipicamente dipende a sua volta dal budget e dalle dimensioni dell’azienda che lo attua).

Chi installa un BPMS dovrà necessariamente avere competenze in ambito sistemistico e saper installare e configurare un DMBS e un Application Server (senza valutare gli skill necessari in caso di installazioni Cluster e/o in Cloud).

Chi sviluppa le interfacce per le attività “human" non potrà non conoscere HTML5, CSS3 e Javascript se vorrà essere realmente “padrone" delle process App prodotte con lo strumento (aldilà della “promessa" C.A.S.E. like).

Chi integra i sistemi informativi già esistenti dovrà probabilmente conoscere il linguaggio con il quale è sviluppato l’engine per sviluppare con le sue API e/o dovrà saper lavorare con Web Service SOAP e/o REST.

Chi supporta le analisi sui dati di business deve avere esperienze in ambito Business Intelligence e Data Mining.

Insomma in sintesi ce n’è per tutti.

Buon lavoro!