Modello di Controllo Qualità Applicativa Offerta Assioma.net

Documenti analoghi
Continuous Improvement della Qualità IT

Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele. Qualità del Software

CATEGORIZZAZIONE PREVENTIVA di tutte le tipologie di richieste e dei dati necessari alla loro gestione Change Mgmt

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

SURVEY DI itsmf SULLO STATO DELL IT SERVICE MANAGEMENT IN ITALIA Sintesi a cura di Francesco Castellana, consultant HSPI

Test e collaudo del software Continuous Integration and Testing

Domenico Ercolani Come gestire la sicurezza delle applicazioni web

7. Esigenze informative e FAQ. 8. Allegati. Repository documentale.

Application Security Governance

Gestione Unica Utenti End User Support and Application Management Services

IL MODELLO SCOR. Agenda. La Supply Chain Il Modello SCOR SCOR project roadmap. Prof. Giovanni Perrone Ing. Lorena Scarpulla. Engineering.

Il percorso delle aziende italiane verso l IT Governance. Rossella Macinante Practice Leader

Incident Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Allegato 1.3 Modalità di messa in produzione software

COME VIENE REALIZZATO UN SERVIZIO DI RIORGANIZZAZIONE DEI SISTEMI INFORMATIVI AZIENDALI?

Problem Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Configuration Management

Il processo di sviluppo sicuro. Kimera Via Bistolfi, Milano

Change Management. Obiettivi. Definizioni. Responsabilità. Attività. Input. Funzioni

IL PERFORMANCE MANAGEMENT

Zerouno Executive Dinner

IBM UrbanCode Deploy Live Demo

Release Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Il controllo dei rischi operativi in concreto: profili di criticità e relazione con gli altri rischi aziendali

Progetto SAP. Analisi preliminare processi e base dati

La circolare 263 di Banca d Italia

Università degli Studi di Salerno

RRF Reply Reporting Framework

UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT

LINEA PROJECT MANAGEMENT

Software per Helpdesk

INDICOD-ECR Istituto per le imprese di beni di consumo

Integrazione digitale dell ufficio «Progettazione» di una PMI: il caso TES

Services Portfolio «Energy Management» Servizi per l implementazione dell Energy Management

TXT e-solutions. Passion for Quality. Banking&Finance

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

Generazione Automatica di Asserzioni da Modelli di Specifica

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING

PRESENTAZIONE AZIENDALE METODO SINERGIA: COMPETENZA, CONCRETEZZA

Identificare come i vari elementi dei Microsoft Dynamics CRM possono essere utilizzati per le relazioni con i clienti

Piano di gestione della qualità

PROFILO AZIENDALE NET STUDIO 2015

I REQUISITI PROGETTUALI di CMDBuild

READY-TO-GO PRODUZIONE

Un approccio complessivo alla Gestione della Performance Aziendale. Sestri Levante maggio 2003

La Certificazione ISO 9001:2008. Il Sistema di Gestione della Qualità

Fattori critici di successo

Il modello veneto di Bilancio Sociale Avis

11. Evoluzione del Software

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

CP Customer Portal. Sistema di gestione ticket unificato

Gestione Operativa e Supporto

Corso Base ITIL V3 2008

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

lem logic enterprise manager

Direzione Centrale Sistemi Informativi

Ciclo di vita dimensionale

2 Giornata sul G Cloud Introduzione

Gli standard ISO e UNI per l efficienza energetica: opportunità, benefici e ritorni degli investimenti

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

Your mission, our passion

Copyright IKS srl

L impatto della 263 sull IT

L OUTSOURCING IT: BEST PRACTICE E AUDITING

Applicazione: Sistema Informativo Integrato per il Controllo di Gestione

Da sempre stabiliamo Obiettivi, Azioni e Tempi tramite un processo sistematico di Pianificazione Strategica.

Check list per la valutazione di adeguatezza e Indice di adeguatezza

Introduzione di nuove logiche di

Ciclo di vita del progetto

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

Università degli Studi di Milano 16 gennaio Dipartimento Informatica e Comunicazione aula Beta

Certiquality Aumenta la Customer Interaction del

La reingegnerizzazione dei processi nella Pubblica Amministrazione

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

BUSINESS INTELLIGENCE

Presidenza della Giunta Ufficio Società dell'informazione. ALLEGATO IV Capitolato tecnico

12. Evoluzione del Software

Come prepararsi all Audit

Norme per l organizzazione - ISO serie 9000

Tutte le tipologie di New Digital Payment. Un nuovo modo di effettuare pagamenti. 70,2% 18,3% 11,5% PRINCIPALI EVIDENZE

La Governance bancaria e il cruscotto direzionale per la gestione della sicurezza integrata. Gianluigi Ferraris

La normativa UNI EN ISO serie Introduzione alla Vision 2000 Lezione 6 marzo 2001

Incident & Vulnerability Management: Integrazione nei processi di un SOC. Fabio Civita. Roma, 13 Maggio 2014 Complesso Monumentale S.

2. Test di interoperabilità del sistema di gestione della PEC - Punto 1 della circolare 7 dicembre 2006, n. 51.

Il Project Management nell Implementazione dell'it Service Operations

I CONTRATTI DI RENDIMENTO ENERGETICO:

Ridurre i rischi. Ridurre i costi. Migliorare i risultati.

Ingegneria del Software

IS Governance. Francesco Clabot Consulenza di processo.

Allegato 2 Modello offerta tecnica

Revisione dei processi in chiave ITIL

ITIL Best Practices: dall Operation al Service Management L esperienza TIM

PROFILO AZIENDALE 2011

L asset più importante, l investimento più remunerativo? La governance, è tempo di investire nel «governance budget»

LA NUOVA ISO 9001:2008 Seminario AICQ Tosco-Ligure 20 febbraio 2009, Genova

Cloud Service Broker

COME ESSERE PIÙ EFFICIENTI UTILIZZANDO IL CLOUD SOURCING PER STEALTH400 E NON SOLO. Alessandro Conti

Concetti di base di ingegneria del software

Transcript:

V2.2 Modello di Controllo Qualità Applicativa Offerta Assioma.net Tel +39 02.45.05.5810 / +39 011.19.70.9510 Via Rimembranze, 6-20090 Cesano Boscone (MI) / Via G. Spano, 6/11-10134 Torino 2014

Benefici Descrizione Servizi Proposti 2 AGENDA

Benefici introduzione modello Qualità Applicativa Sviluppo Abbattimento dei costi per: Diminuzione degli interventi di correttiva da produzione Diminuzione dei rilasci in emergenza Miglioramento caratteristiche: Manutenibilità Robustezza Efficienza Sicurezza Contratto di Servizio Miglioramento della gestione dei costi: Dimensione Volumi del Change Technical Debt residuo SLA con metriche oggettive sulla qualità di prodotto 3 - Modello di Controllo Qualità Applicativa Modello Controllo Qualità Applicativa Esercizio Diminuzione dei costi di gestione applicativa per: Aumento efficienza Aumento dell affidabilità Aumento della sicurezza Gestione Fornitori Classificazione Dimensione delle applicazioni Distribuzione per tecnologia Volumi del Change Aderenza a standard Governance Portfolio Dimensione del Portfolio applicativo Distribuzione per Unità Organizzative Distribuzione per tecnologia Volumi del Change Correlazione con altre metriche di gestione del Parco Software: Incident Costo

Iceberg Quality la nostra visione Sintomi Visibili Radice Invisibile On-time delivery Difettosità durante il processo di sviluppo Difettosità in produzione Costi di manutenzione Manutenibilità Accoppiamento Flessibilità Leggibilità Riusabilità Complessità Testabilità Program Practice Requirement Validation Acceptance Test System Test Regression Test Integration Test Unit Test Code Review Bug Pattern Analysis Programming Style Tecniche di Intervento Robustezza 34 - Modello Introduzione di Controllo Qualità Applicativa

Qualità del coding: i 7 debiti dello sviluppo Bugs potenziali Talvolta gli sviluppatori introducono nel codice potenziali problemi che hanno effetti sulla robustezza e sicurezza dell applicazione Programming Practice Spesso la mancanza di linee guida chiare porta ad avere del codice poco chiaro e scarsamente manutenibile N. Potential bugs Rules Compliance Source Code Complessità Codice troppo complesso è indice di bassa manutenibilità e scarsa testabilità Duplicazioni Spesso il codice viene duplicato per mancanza di tempo o coraggio al refactoring, rendendo poco manutenibile l applicazione %Complexity %Duplication Unit Test La verifica unitaria del codice sviluppato è spesso assente o con livelli di copertura molto bassi, rendendo il codice poco robusto Architettura Talvolta l architettura con la quale l applicazione è stata pensata non viene rispettata con implicazioni sulla manutenibilità Commenti L assenza di commenti rende il codice poco leggibile e scarsamente manutenibile %Unit test Coverage Package Index %Comment 5 - Modello di Controllo Qualità Applicativa 5

Continuous Improvement Model High Continuous Improvement Continuous Improvement Typical Use Case: Monitoring and improving the quality of mission critical applications on an ongoing basis Frequency of Use: Analysis on applications is done during development phase, whenever major changes are done to the code base (often daily, weekly or based on the build schedule) Time Frequency Application Assessment Application Assessment Typical Use Case: Assessing or auditing the quality of applications to use as a quality gate, help in portfolio level decisions, or providing visibility to management Frequency of Use: Analysis is done very in-frequently (1-4 times a year) or on-demand Low Supplier Quality Gate Quality Improvement Effectiveness High Supplier Quality Gate Typical Use Case: Evaluating the quality of deliverables from vendors against existing Service Level Agreements Frequency of Use: Analysis is done at every major code drop by the vendor either for Quality Assurance or User Acceptance Testing (QA or UAT) 36 - Modello Introduzione di Controllo Qualità Applicativa

Continuous Improvement Model: the best overall value Continuous Improvement Model (daily, weekly) Application Assessment Model (1-4 times/year) Less remediation work: Development teams receive monthly for weekly feedback they internalize and incorporate best practices the first time the code it written, resulting in drastic reduction of new violations introduced Sooner identification of violations, results in cheaper and quicker fixing of violations More frequent analysis and remediation results in less reactive work, more proactive attitude of development teams Increased innovation: Once the initial cleaning is done, ongoing remediation becomes a breeze as there are fewer violations and teams can focus on adding innovative new features for business. More remediation work: Developers forget quickly the mistakes they make and keep reintroducing same errors and violation, unless the best practices are reinforced more frequently If violations are not identified fixed immediately, contexts are forgotten so cost of fixing violations becomes high Remediation effort can be seen as a burden and painful because of the high volume of the piled up defect if the analysis is done only once every quarter or semester Increased developer interruptions: Development teams can spend entire weeks to clean the mess rather than focusing on adding new features daily, weekly Q1 Q2 Q3 Q4 Introduction of new violations Software quality improvement Remediation workload 37 - Modello Introduzione di Controllo Qualità Applicativa

Technical Debt Il Debito Tecnico è una metafora per riferirsi alle eventuali conseguenze di uno sviluppo poco curato del software. Il debito può essere pensato come ad una attività che deve essere fatta prima che un progetto possa essere considerato completo. Se il debito non viene sanato, tenderà ad accumulare interessi, il che rende difficile attuare le modifiche in seguito. La non gestione del Debito Tecnico aumenta l'entropia del codice software aumentandone i costi di manutenzione. Il debito tecnico di un applicazione tende a crescere nel tempo se non tenuto sotto controllo, aumentando i Costi legati agli Incident ed alla Manutenibilità 8 - Modello di Controllo Qualità Applicativa

Servizi proposti da Assioma.net Assessment Base L Assessment Base consente una verifica una tantum del codice applicativo di una determinata applicazione. Ha l obiettivo di valutare la bontà di una applicazione in un momento qualsiasi. Assessment a Progetto L Assessment a Progetto consente la verifica, durante il rilascio, del codice di una determinata applicazione. Il contesto è pensato per introdurre un Gate di qualità sul codice applicativo durante la fase di Verifica di un progetto software. Nel momento in cui la software factory (interna o esterna), rilascia in ambiente di test, viene pianificata e realizzata un attività di verifica formale del codice sorgente. Le non conformità rilevate verranno segnalate e, durante la fase di test, verrà verificata la chiusura o meno delle Issue aperte Governance Portfolio Applicativo Il servizio di Governance del Portfolio Applicativo consente di mettere sotto controllo un elevato numero di applicazione in modalità Continuous Inspection, ovvero intervenendo per periodi di tempo lunghi, nei quali si vuole mettere sotto controllo l applicazione per verificarne le variazioni rispetto alle metriche di qualità nel tempo. Fornisce informazioni utili al management per conoscere il perimetro e la qualità del proprio Parco Applicativo. 39 - Modello Introduzione di Controllo Qualità Applicativa

Assessment Base L Assessment Base è pensato per una verifica una tantum del codice applicativo di una determinata applicazione. Ha l obiettivo di valutare la bontà di una applicazione in un momento qualsiasi. L Assessment Base prevede: Raccolta e studio dei sorgenti dell applicazione, a seguito incontro con gruppi applicativi del Cliente Configurazione ed analisi del codice sorgente su infrastruttura messa disposizione da Assioma.net Realizzazione di una Dashboard web accessibile da parte del Cliente per 6 mesi, contenente i risultati dell analisi di una specifica versione dell applicazione Realizzazione di un documento di Action Plan contenente le anomalie riscontrate durante la fase di analisi, organizzate e descritte sulla base del modello di qualità SQALE Applicazioni Abstract Syntax Tree (AST) Metriche: LOC, Num Files, Num Classes Complessità ciclomatica Duplicazioni Commenti Regole: Manutenibilità Robustezza Performance Efficienza Portabilità Dashboard online 310 -Introduzione Modello di Controllo Qualità Applicativa

Case History: Assessment Base Esigenza del Cliente Attività svolta Obiettivi raggiunti Ad un anno dalla scelta di esternalizzare le attività di sviluppo tramite un processo di outsoucing il Cliente necessita di: un assessment sulla qualità del codice al fine di comprendere i rischi correlati un modello di ottimizzazione dei costi del progetto dare rilievo agli aspetti di Robustezza e Performance valutare un processo di verifica continua su tecnologia JAVA e COBOL Raccolta dei sorgenti e suddivisione degli stessi in aree funzionali Configurazione di un infrastruttura presso Assioma.net in grado di analizzare l applicazione Introduzione nella piattaforma del modello SQALE per la misurazione del Technical Debt sulle applicazioni analizzate Realizzazione di un assessment su una applicazione di oltre 5 Milioni LOC Segnalazione di oltre 50 violazioni di tipo bloccante (in grado di causare crash del sistema) Realizzazione di un Action Plan contenente gli aspetti di maggior criticità presenti a sistema Nell arco di 2 mesi è stato: migliorato il livello della robustezza dell applicazione grazie all individuazione (e successivo fix) di problematiche bloccanti migliorato il controllo del lavoro svolto dai fornitori esterni messo sotto controllo il fenomeno della duplicazione del codice che risultava superare la soglia del 40% Applicazione del modello SQALE per la misurazione del Technical Debt Evidenza delle violazioni bloccanti 11 - Modello di Controllo Qualità Applicativa

Assessment a Progetto L Assessment a Progetto consente di verificare la qualità del codice applicativo di una determinata applicazione durante la fase di System Test. E pensato per introdurre un Gate di qualità sul codice applicativo durante la fase di Verifica di un progetto software. Nel momento in cui la software factory (interna o esterna), rilascia in ambiente di test, viene pianificata e realizzata un attività di verifica formale del codice sorgente. Le non conformità rilevate verranno segnalate e, durante la fase di test, verrà verificata la chiusura o meno delle Issue aperte. Contiene le stese attività previste per l Assessment Base, ma per un periodo di tempo più ampio. Baseline a inizio progetto Rilasci in Test Passaggio in produzione, l eventuale TD residuo viene portato come Action Plan per il progetto successivo Rilascio in Produzione 28/08/2013 02/09/2013 10/10/2013 15/11/2013 t Added technical debt: +8 g/u Added technical debt: +6 g/u Added technical debt: 4 g/u Quality Gate Rischio Accettabile? Controllo su Progetto - Fine Sviluppo 12 - Modello di Controllo Qualità Applicativa Controllo su Progetto - iterazioni di Sviluppo Blocco rilascio

Case History: Assessment a Progetto Esigenza del cliente IT Attività svolta Obiettivi raggiunti Definizione di un Quality Gate verso il fornitore attraverso l introduzione di più fasi di controllo formale all interno del processo di sviluppo software Assegnazione Evolutiva al FORNITORE Condivisione documento di richiesta Evolutiva Creazione Ticket su TRAC in Milestone Creazione di un Folder/ Branch SVN del codice Condivisione Folder/Branch Evolutiva Versionamento iniziale sul Branch Sviluppo e test Evolutiva Controllo preventivo Commit del codice sul Folder/Branch SVN Invio Action Plan NOT OK NEW Richiesta di Change Midrange SI Rilascio con fermo sistemi? Compilazione Esito NO Controllo formale su Branch NEW Comunicazione ad AMS di fine sviluppo Rilascio in Certificazione OK Condivisione risultati con AVIO Certificazione Comunicazione ad AVIO del rilascio in certificazione Eventuale merge su SVN del codice del Folder/Branch Generazione Action Plan NOT OK Esito Comunicazione ad AMS dell esito della certificazione e formalizzazione della data di rilascio Commit del codice su SVN Rilascio con fermo sistemi? Quality Gate Superato? Richiesta di Change Midrange Rilascio in Produzione Controllo formale Produzione 13 - Modello di Controllo Qualità Applicativa NO OK SI NO NEW Analisi del processo attuale e proposta di un nuovo processo di sviluppo in grado di integrare le fasi di: ~ Controllo preventivo da parte degli sviluppatori sul codice sviluppato ~ Controllo formale sul codice rilasciato prima del passaggio in ambiente di certificazione ~ Controllo formale sull intera applicazione con cadenza bimestrale Configurazione di un infrastruttura in grado di supportarne il processo Definizione di un applicazione (Java, C/C++) sulla quale mettere a punto il processo e relativa analisi della stessa Realizzazione dell Action Plan in grado di indirizzare i miglioramenti qualitativi Estensione di nuove regole custom su linguaggio C/C++ Distribuzione delle linee di codice per competenza Nell arco di 4 mesi è stato: formalizzato il nuovo processo e messa in opera dello stesso all interno del gruppo di sviluppo contenente un Quality Gate in grado di controllare la qualità apportato un miglioramento qualitativo dell ordine del 10% rispetto alla baseline iniziale realizzata una forte integrazione ed interazione con i gruppi di sviluppo KPI per tecnologia JAVA Gate superato se Violazioni Bloccanti e Critiche = 0 Rules Compliance > 80% Commenti (%) > 10% Linee duplicate (%) < 30% Complessità ciclomatica < 10 media per singolo metodo KPI per tecnologia C Gate superato se Violazioni Bloccanti e Critiche = 0 Rules Compliance > 80% Commenti (%) > 10% Linee duplicate (%) < 30% Complessità ciclomatica per < 20 singola funzione/procedura Definizione del Quality Gate

Governance Portfolio Applicativo Il servizio di Governance del Portfolio Applicativo consente di mettere sotto controllo un elevato numero di applicazione in modalità Continuous Inspection, ovvero intervenendo per periodi di tempo lunghi, nei quali si vuole mettere sotto controllo l applicazione per verificarne le variazioni rispetto alle metriche di qualità nel tempo. Fornisce informazioni utili al management per conoscere il perimetro e la qualità del proprio Parco Applicativo. App 1 CRM System App 2 App 3 J2EE Environment App 4 Billing System App 5 Order Management System App 6 App 7 App 8 App 9 COBOL Enviroment Tutto il portfolio Dashboard online Possibilità di aggregare il portfolio applicativo a qualsiasi livello e profilarlo per viste utenti differenti Possibili aggregazioni: - Per Tecnologia - Per Sistema - Per Unità di Business - Per Fornitore - App 10 App 11 App 12 App 13 App 14 App 15 App 16 SAP Enviroment.NET Enviroment 314 -Introduzione Modello di Controllo Qualità Applicativa

Case History: Governance Porfolio Applicativo Esigenza del cliente IT Attività svolta Obiettivi raggiunti Difficoltà nell individuazione e raccolta organica di metriche legate al Parco Software con conseguente impossibilità di: avere un Controllo della qualità del codice realizzato dai gruppi applicativi definire un modello per la rappresentazione del parco applicativo in termini quantitativi e qualitativi definire un processo in grado di migliorare la qualità abbattendo i costi di licenza di Software poco efficaci nell ambito della Governance Raccolta delle metriche del software già in uso Tuning dell infrastruttura sulla quale basare basare la soluzione a supporto del processo Tuning della piattaforma sulla base delle metriche definite Incontri con i gruppi applicativi al fine di condividere i risultati Implementazione della metrica relativa alla movimentazione del parco software Introduzione di un modello di maturità delle applicazioni in funzione dei livelli di qualità raggiunti Supporto ai run quindicinali sull intero parco software Nell arco dei primi 6 mesi: aumentata l efficienza del processo di governance grazie alla dismissione delle licenze relative ad altri prodotti aumentata l efficacia del processo di raccolta delle metriche con estensione del controllo a tutto il parco software (circa 30 Milioni di LOC) ridotto il tempo di analisi del parco software (da settimane a circa 20 h) introdotto un processo di maturità delle applicazioni basato su diverse soglie migliorato il controllo del lavoro svolto dai fornitori esterni Dashboard aggregate dei sistemi software 15 - Modello di Controllo Qualità Applicativa Modello basato su classi di qualità per la riduzione del rischio Misurazione della movimentazione del parco software

I NOSTRI CONTATTI Let s start improving your quality application and reduce risk and cost of software lifecycle!!! Torino Via G. Spano, 6/11-10134 Torino Tel. +39 011.19709.510 - Fax +39 011.19709.541 Milano Via Rimembranze, 6-20090 Cesano Boscone (MI) Tel. +39 02.45055.810 - Fax +39 02.45055.841 Claudio Gaiani claudio.gaiani@assioma.net +039.348.2239118 info@assioma.net www.assioma.net