Ormai l’era della digitalizzazione comporta la necessità (ed in taluni casi l’obbligatorietà) dell’informatizzazione e della dematerializzazione di imprese e pubbliche amministrazioni quale conseguenza delle evoluzioni tecnologiche e normative. In tale contesto innovativo, diviene quindi un’esigenza (ma anche un’opportunità) ipotizzare e commissionare progetti software a fornitori esterni, con le conseguenti plausibili problematiche legate all’eventuale mancanza delle competenze interne all’organizzazione (per mission o dimensione aziendale) che permettano di seguire e chiudere con successo una tale fornitura ottenendo un prodotto funzionante ed efficiente.
La problematica maggiore risiede comunque nel fatto che non si ha la reale sensazione della complessità di un progetto software, conseguentemente è interessante analizzare velocemente uno dei tanti cartoon, circolanti in rete, legati alla gestione di un progetto a livello di relazioni tra cliente e software house, relativamente a cosa viene compreso realmente, a cosa viene chiesto, a cosa viene prodotto e a come viene passata l’informazione nel sistema aziendale. Uno dei cartoon più famosi (e “antichi”, in quanto probabilmente evolve la tecnologia, ma le problematiche restano le medesimi) a forma di albero è il “what the customer wanted” reperibile sul sito http://projectcartoon.com/, importante da analizzare in un periodo di crisi come quello che l’intera comunità mondiale sta affrontando, dove ciò che conta è massimizzare il livello di comunicazione, migliorando i rientri e i feedback con il cliente, che non ha più la possibilità di sperperare il proprio denaro per lo sviluppo di sistemi informativi inutili o inutilizzabili.
Tutto inizia da “come viene spiegato dal cliente” il progetto, il momento più importante: è necessario prestare molta attenzione a tale fase, effettuare numerosi ricicli eventualmente grafici e accompagnati da scenari di varia natura a supporto dei diagrammi di contesto.
La fase successiva è ancora più delicata espressa dalla frase “come viene compreso dal capo progetto”, in quanto legata ai rapporti intra-aziendali, motivo per il quale è necessaria sempre una comunicazione validata e non ambigua in maniera tale che tutte le funzioni aziendali coinvolte possano esattamente sapere cosa fare. Il passaggio all’analista, “come viene disegnato dall’analista” è anche fondamentale in quanto le basi dell’applicazione vengono stabilite in tale fase e i numerosi eventuali ricicli non potranno che mettere “toppe” ad un progetto mal concepito. La fase successiva, “come viene scritto dal programmatore” verte sulle capacità personali: non tanto sulla capacità di scrivere un codice quanto sulla capacità di interpretare un documento si spera “ben scritto”, quindi di interloquire con la gerarchia aziendale per poter verificare il codice e le impostazioni.
Il commerciale chiaramente lavora su un livello diverso e questo lo si evidenzia dalle sezioni “come viene descritto dal venditore” e “come è stato fatturato al cliente”, in quanto legato esclusivamente ai rientri economici e alla pubblicità, che spesso, se non rispecchia realmente il prodotto che si sta vendendo, diviene controproducente.
Problema classico di ogni progetto, legato alla velocità con cui i progetti si accumulano, cambiano e si evolvono è la documentazione (“come viene documentato il progetto”), che risulta invece il core, in quanto (parere personale) un progetto software senza documentazione a corredo vale zero perché non formalmente verificabile, non comprensibile, non manuntenibile, non scalabile, non aggiornabile, non evolvibile.
Altro problema legato alla “fretta” di consegnare un’applicazione risulta essere la reale (o meno) presenza di tutte le funzionalità dichiarate a livello di contratto (“quali sono le funzioni installate”), che, per fortuna, le moderne metodologie di sviluppo agile permettono di arginare, in quanto comportano uno stretto ciclo di sviluppo-test-messa in esercizio.
L’affiliazione al cliente è legata invece alla capacità di assistenza (“come viene supportato”), in quanto è necessario non tanto soddisfare il cliente in ogni sua richiesta, ma far sentire allo stesso la presenza di un fornitore che si interessi della fruibilità del software consegnato anche in prospettiva di future evoluzioni.
Si giunge all’ultima vignetta, nella speranza che non si presenti mai: “quello di cui ha veramente bisogno il cliente”, legata al fatto di non aver compreso cosa il cliente realmente volesse, di qui l’importanza della prima fase, ovvero comprendere esattamente (o con un minimo margine di errore) cosa il cliente realmente vuole con tutti gli strumenti possibili e disponibili.
Ciò che è importante è quindi creare un rapporto di fiducia con il cliente che permette non solo di garantire futuri progetti, ma anche di allargare il bacino degli utenti di rete. Il fornitore non dovrebbe mai manipolare e direzionare l’utente verso i propri prodotti (e interessi), ma comprendere i reali obiettivi, per poi poter sviluppare (o giustamente riciclare) al meglio il codice.
Chiaramente, quale altra faccia della medaglia, è necessario evidenziare e comprendere la necessità che un progetto ben posto e sviluppato, ovvero di qualità, possa avere costi superiori a fronte delle elevate prospettive competitive di manuntenibilità, scalabilità e modularità.
Conseguentemente, è necessario comprendere gli elementi fondamentali da attenzionare nel rapporto con il fornitore allorquando si ipotizzasse di commissionare un progetto software. I principali possono essere riassunti in:
Naturalmente, l’interfacciamento continuo in fase implementativa e le consegne intermedie risultano lo strumento più utile per evidenziare le eventuali problematiche, riducendo il lavoro a chiusura progetto per entrambe le parti. È necessario notare che tale approccio è proattivo sia per il cliente sia per il fornitore, in quanto se al cliente vien dato maggiore controllo sull’evoluzione del progetto, al fornitore viene fornita assistenza sull’evoluzione corretta del software: dai test che il cliente esegue, alla possibilità di evolvere ulteriormente l’applicativo.
Non esiste, a tal proposito, un prontuario, ma fondamentalmente delle linee guida di qualità del software, sia internazionali sia fornite da AgID (Agenzia per l’Italia Digitale). Come riferimenti concreti possono comunque essere usate sia le specifiche tecniche delle varie convenzioni Consip (Concessionaria Servizi Informativi Pubblici) [1], in cui, tra l’altro, sono indicati gli standard prestazionali e i livelli di manutenzione e gestione, sia i rari testi di riferimento [2], in cui sono indicati anche metodi pratici per confronto offerte. Chiaramente, se non è presente personale interno (o non è possibile acquisirlo) preposto sia a seguire i progetti nella fase di sviluppo, sia successivamente a gestirne l’ordinario e la manutenzione, è necessario essere supportati da esperti o ingegneri dell’informazione che possano sia affiancare e formare il personale interno, sia “accompagnare” lo stesso nella gestione di un progetto, dai concetti preliminari, al rapporto con il fornitore, alla definizione dei requisiti ai sensi della normativa vigente, alla valutazione della documentazione, fino all’indicazione di metodologie per l’analisi manageriale, il controllo dell’evoluzione ed il collaudo dello stesso.
Il tutto al fine di definire al meglio le richieste e ridurre al minimo la confusione delle offerte di fornitura, per ottenere un prodotto che soddisfi le esigenze dell’organizzazione e sia durevole negli anni, in quanto ogni azienda di sviluppo software ha un proprio approccio commerciale, lavora su diverse tecnologie e fornisce servizi differenti.
A cura di: Luciano Manelli
Un tempo il compito di traghettare l'azienda verso il futuro tramite lo sviluppo di nuove…
Negli ultimi mesi causa il lento e inesorabile declino della redditività nella stipula delle Polizze…
Attiva da più di 30 anni e oggi parte del gruppo internazionale Zucchetti, Cybertec è…
Il focus sulla formazione professionale in Europa Nello spirito di favorire gli investimenti destinati a…
Nel complesso e volatile panorama aziendale odierno, le pratiche tradizionali delle supply chains non sono…
I dati sono chiari. L'Intelligenza Emotiva (EQ) è un fattore chiave di differenziazione per i…