Ricerca e Sviluppo Software

Studium Srl supporta la capacità di governance e la propensione all’innovazione delle organizzazioni clienti costituendone il centro di competenza tecnologico e nucleo di sviluppo di software, generando nell’organizzazione cliente lo spazio, i tempi e la libertà di progettare e sviluppare il proprio Core Business supportandone la gestione.

Studium, attraverso l’approccio sistemico e multidisciplinare va oltre la realizzazione e gestione dei Sistemi Informativi Aziendali e costituisce per l’organizzazione cliente il centro di competenze per l’informatizzazione dei processi aziendali, proponendosi come partner capace di:

  • Comprendere il core business e le esigenze specifiche dell’azienda cliente.
  • Esplicitare con l’azienda cliente obiettivi e strategie di breve, medio e lungo periodo.
  • Individuare le criticità di gestione e le aree di intervento.
  • Individuarne le priorità, le opportunità e gli obiettivi strategici degli investimenti tecnologici ed organizzativi a supporto.
  • Identificare, progettare e comunicare il valore dello sviluppo tecnologico e dell’evoluzione organizzativa progettata.
  • Supportare l’azienda nell’individuazione, progettazione e sviluppo della migliore soluzione di Information e Communication Technology e nell’individuazione della più opportuna agevolazione finanziaria a supporto dell’investimento.
  • Ridurre i tempi di implementazione delle soluzioni raggiungendo elevati livelli di ROI, grazie alle azioni di:
    • Riduzione Costi di Gestione ed abbattimento degli sprechi.
    • Monitoraggio della redditività, produttività e prestazioni dell’organizzazione tecnologicamente avanzata.
    • Valorizzazione del Patrimonio Aziendale della Conoscenza attraverso opportune politiche di gestione delle informazioni.
  • Monitorare ed Assistere il Cliente nell’adozione dell’innovazione tecnologica ed organizzativa stimolandone l’evoluzione continua, ottimizzando ed integrando gli investimenti e le risorse ITC nei parametri di ROI definiti, ovvero di valore percepito dall’utente finale.

Studium, si avvale nello sviluppo dei propri prodotti e nell’erogazione dei propri servizi di una struttura specializzata composta da un team di ricerca e sviluppo, centro di competenza di altissimo livello qualitativo e specializzazione.

La Conduzione dei progetti di Ricerca e Sviluppo e il Ciclo di Sviluppo Software

I progetti di sviluppo software e di implementazione delle soluzioni nelle organizzazioni clienti si suddividono tipicamente in due livelli d’azione:

  • Livello di System Management (sistema)
  • Livello di processo operativo (processi e attività costituenti aree applicative)

Basandosi su questi due livelli di implementazione Studium adotta i seguenti approcci:

1 – Approccio strategico (per il livello di business e di management dell’organizzazione cliente o del target cliente) in cui il capo del progetto in collaborazione con il responsabile interno all’organizzazione cliente (standard o pilota) elabora e aggiorna lo statuto del progetto secondo una visione sistemica dell’organizzazione, coincidente con il piano strategico delle azioni manageriali da attivare per realizzare gli obiettivi del progetto.

2 – Approccio operativo sui processi primari e di supporto per l’organizzazione cliente, in cui il capo del progetto in collaborazione con i vari responsabili funzionali dell’organizzazione cliente definisce l’operatività dell’organizzazione.

Ogni singola attività in cui viene suddiviso il progetto, sia essa a livello di sistema o di processo operativo, vede il coinvolgimento diretto e la responsabilità di attuazione, in conformità allo schema evolutivo di PDCA, del capo progetto e del responsabile interno all’organizzazione cliente per il progetto. Queste due figure attraverso:

  • il continuo confronto con i vari responsabili funzionali dell’organizzazione cliente al fine di definire le specifiche di sistema/attività;
  • l’analisi sul campo dell’operatività dei processi nelle varie fasi di implementazione, la verifica dell’applicazione e delle problematiche riscontrate rispetto alla definizione delle specifiche di sistema/attività;
  • l’analisi congiunta del capo progetto con gli analisti programmatori coinvolti nel progetto al fine di stabilizzare e realizzare le specifiche definite in fase di parametrizzazione e personalizzazione;
  • il rilascio, messa in produzione e conseguente test di verifica del sistema con conseguente ripianificazione congiunta ed evolutiva delle componenti di fase o attività con i responsabili funzionali e di progetto dell’organizzazione;

avranno il compito di monitorare l’efficacia delle azioni messe in atto e l’avanzamento delle fasi di progetto.

In altre parole il ciclo di vita applicato da Studium nella realizzazione di progetti di implementazione SW è un ciclo di vita evolutivo o Scrum, applicato non solo per l’implementazione di progetti di Ricerca e sviluppo software, ma anche quale ciclo di sviluppo software all’interno del proprio Sistema di Gestione per la Qualità, in quanto ritenuto da Studium il ciclo di vita più snello, efficace ed efficiente per centrare i macro obiettivi progettuali, che se pur ben definiti peccano strutturalmente in stabilità e sono quindi passibili di notevoli aggiustamenti in corso d’opera.

Il ciclo di sviluppo sw e/o implementazione progetti evolutivo di Studium è rappresentato da una “spirale”, in quanto, prima di completare il prodotto/progetto, si ripercorrono più volte le singole fasi al fine di recepire nuovi requisiti o ridefinire quelli già realizzati. Risulta quindi un ciclo composto da n cicli di vita a cascata “snelli”, iterato in più evoluzioni/iterazioni (n cicli) che pur portando alla realizzazione di prodotti/progetti software funzionanti, rincorrono il raffinamento dei requisiti. Ogni fase, o ciclo, è articolata in un periodo limitato di attività intensive “sprint” (4-6 settimane al massimo) da svolgersi in modo non predefinito (black-box per il committente), che comprende le attività di sviluppo tradizionali del ciclo a cascata (analisi, progettazione, realizzazione, test, integrazione) finalizzate ad obiettivi sostenibili nell’unità di tempo del ciclo e snellite nella documentazione.

All’acquisizione della commessa di progetto il ciclo prevede una prima fase di avvio (pianificazione di ciclo di vita) la quale a sua volta richiede una prima attività di macro analisi di business ed un primo elenco delle macro-task da realizzare e le conseguenti priorità del committente. Tale elenco (Piano di Progetto) viene aggiornato all’inizio di ogni iterazione nella relativa sottofase di Sprint Review che viene svolta dal capo progetto (consulente-analista applicativo) con il rappresentante del committente (requisiti-sviluppo di iterazione n), mentre il capo progetto, successivamente allo Scrum (mischia) di iterazione, assegna le varie task (micro-attività della durata di 4-16 ore) da realizzare, nell’unità di tempo predefinita per l’iterazione con il cliente (4-6 settimane al massimo), ai componenti del Team di Progetto e predispone il relativo Piano di Iterazione. Il controllo dello sviluppo delle task di iterazione viene fatto con cadenza tendenzialmente giornaliera (da definire in fase attuativa, ma comunque su tempi stretti) in sede di “Daily Scrum” , a cui partecipano (come nello Sprint Scrum) il capo progetto, il Resp. Qualità (se necessario) e tutti i partecipanti al Team di Progetto. Il Daily Scrum è una riunione di 15-20 minuti da effettuare sempre nello stesso luogo e alla stessa ora, i cui obiettivi sono:

  • Individuare i fattori critici o “colli di bottiglia” dei processi in corso
  • Consuntivare le attività di ogni analista programmatore e gli stati di avanzamento (non preventivati formalmente):
    • Cosa ha fatto il giorno prima e cosa farà oggi
    • Quali sono gli ostacoli alla realizzazione delle sue task

Nessuna discussione è ammessa durante i Daily Scrum, in quanto la discussione di queste avvengono successivamente (se necessarie).

Successivamente al Daily Scrum è compito del Capo progetto in collaborazione con l’analista programmatore incaricato di trovare soluzione ai “colli di bottiglia” eventualmente manifestati. Inoltre il Capo progetto aggiorna quotidianamente il Piano di Iterazione, verificandone gli stati di avanzamento e modificandone la quantità di task per analista programmatore da realizzare sull’iterazione.

A conclusione di ogni Iterazione si procede alla verifica e validazione del Piano di Progetto (Sprint Review & Scrum) con il concorso del committente o del rappresentante dello stesso, in cui si opera la:

  • Revisione del lavoro di iterazione (4-6 settimane):
  • Verifica del lavoro effettuato durante l’iterazione conclusa (funzionalità rilasciate o modificate) e relativa validazione del committente;
  • Esame delle criticità riscontrate;
  • Pianificazione delle task di nuova iterazione di ciclo (Sprint Planning) e definizione funzionalità e contenuti di prossimo rilascio, sulla base delle priorità evidenziate dal committente e delle stime di impegno da parte del Capo progetto.

Allo Sprint Review partecipano per Studium il Capo progetto e il Resp. Qualità che ne comunicano gli esiti attraverso i relativi documenti prodotti (Piano Qualità e Piano di Iterazione e Progetto aggiornato) alla Direzione.

Il ciclo di vita evolutivo o scrum utilizzato per la realizzazione del progetto, è in ogni caso definibile come un composto di n cicli a cascata che compongono un unico ciclo a cascata definibile dalle macro-fasi di progetto. Stabilendo fin da subito che ogni iterazione non può superare le 6 settimane e che il numero di iterazioni per ogni oggetto del progetto (corrispondente ad una macro-fase) non può essere superiore a 3, le iterazioni possono essere considerate come le unità di scomposizione delle attività da realizzare (macro-fasi) che potranno essere svolte in sequenza o in parallelo a seconda delle problematiche riscontrate in fase di realizzazione del progetto.

Quindi nell’individuazione delle fasi e attività di progetto possiamo, per semplificare il conseguente monitoraggio strutturare il progetto in forma di successione a cascata delle macro-fasi dello stesso definite nella seguente struttura di progetto, dove gli input ed output indicati sono oggetti realizzati nella fase o aggiornati nella fase:

Macro-fase

Input

Output

Analisi dei requisiti tecnici Documentazione contrattuale (Requisiti tecnico-funzionali) e progettuale;Dati di output dell’attività di pianificazione preventiva Specifiche dei requisiti; Glossario di Business
Progettazione tecnico / applicativa Specifica dei requisitiRequisiti utenteDescrizione dei processi attuali Specifiche Funzionali;Glossario di Business;Piano di progetto aggiornato dalla fase progettazione tecnico applicativa;Piano delle personalizzazioni;

Disegno Architettura tecnica;

Piano dei test finali

Realizzazione Specifiche di collaudo;Specifiche funzionali;Soluzione Software Processi configurati;Fasi del progetto documentato;Realizzazione parametrizzazione;Consegna personalizzazioni;

Documentazione utente e piano di formazione;

Piano di progetto aggiornato;

Documentazione dei requisiti non coperti dallo standard e delle personalizzazioni effettuate;

Passaggio in produzione -GO LIVE-(Installazione e verifiche Sistema) Soluzione Software;Infrastruttura di collaudo ed esercizio;Documentazione utente;Rapporto di esecuzione di test;

Piano di installazione;

Certificazione di rilascio alle verifiche finali;Verbale dei test finali;
Produzione-POST GO LIVE-(Avviamento Sistema-Formazione Operativa) Specifiche di collaudo;Documentazione utente Prodotto software installato, implementato e funzionante e formazione con corsi strutturati degli utenti