better software 2010 - applicazione pratica di un processo di sviluppo agile in azienda

37
- 1 - - Better Software 2010, 26/06/22 Better Software 2010 Applicazione pratica di un processo di sviluppo Agile in azienda Paolo Quaglia

Upload: paolo-quaglia

Post on 01-Nov-2014

2.891 views

Category:

Business


0 download

DESCRIPTION

Nel panorama delle Metodologie Agili esistono molteplici processi di sviluppo (es XP e SCRUM) che ereditano ed interpretano in maniera leggermente diversa i principi espressi dal Manifesto Agile.Il talk approfondirà la tematica dell’implementazione reale e pratica di un processo di sviluppo Agile derivato dalle metodologie citate, ma customizzato per adattarlo alle esigenze aziendali e alla tipologia dei nostri progetti.Verranno approfonditi i ruoli e le responsabilità individuati dal processo, le competenze soft necessarie, le fasi, i singoli passi e gli output, cioè gli artefatti prodotti, siano essi documenti, codice, test automatici, etc.Verranno trattati anche la documentazione, che ha la caratteristica di essere il più snella possibile, ed i tool software che vengono utilizzati per la gestione e controllo dei progetti.Lo scopo è quello di fornire un case study di implementazione reale (anche da un punto di vista contrattuale) approfondendo i pro ed i contro di questa metodologia, per dar possibilmente vita ad una discussione costruttiva sull’argomento.

TRANSCRIPT

Page 1: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

- 1 - - Better Software 2010, 08/04/23

Better Software 2010

Applicazione pratica di un processo di sviluppo Agile

in azienda

Paolo Quaglia

Page 2: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 2 ] - Better Software 2010

Chi Siamo

Chi siamo

Il Gruppo Intesys

Intesys Networking

Creative Agency

Intesys

Project Management Corporate Web Site, Brand Site, Portali Marketing On-line Sem, Seo, Dem, Display Adv E-Commerce Content Management System Gestione Documentale Enterprise Application – Enterprise 2.0

Creatività Digital Design Adver game

System Integration Security Networking

Web semantico Knowledge Management ACP

Page 3: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 3 ] - Better Software 2010

Alcuni Clienti

Page 4: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 4 ] - Better Software 2010

Chi Sono

Paolo Quaglia

Laureato in Scienze dell’Informazione all’Università degli Studi di Verona

Attività Project Manager

Responsabile Area Sviluppo Software contribuito a definire il processo di sviluppo software aziendale

partendo dai principi delle metodologie Agili

Aree di Interesse Project Management Coaching Processi di sviluppo (es RUP ed ICONIX) e metodologie Agili (XP e SCRUM) Ingegneria del Software

Page 5: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 5 ] - Better Software 2010

Tipi di Progetti

Page 6: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 6 ] - Better Software 2010

Perche Processo di Sviluppo?

Page 7: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 7 ] - Better Software 2010

Quale Processo?

Page 8: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 8 ] - Better Software 2010

Manifesto Agile

Manifesto Agile

Valori Principali

Individui ed Interazioni rispetto a Processi e Tools Software Funzionante rispetto a Documentazione

omnicomprensiva Collaborazione col Cliente rispetto a Negoziazione

contrattuale Rispondere ai cambiamenti rispetto a Seguire un

Piano Rigido

Page 9: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 9 ] - Better Software 2010

Processo “Customizzato”

Page 10: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 10 ] - Better Software 2010

Agenda

Implementazione Pratica

Ruoli e Attori Azioni e Passi Prodotti del Processo Tool di supporto

Page 11: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 11 ] - Better Software 2010

Ruoli e Attori del Processo

RuoliQuali Sono?

ClienteResponsabile di

ProgettoResponsabile

tecnicoSviluppatoreCommerciale

Page 12: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 12 ] - Better Software 2010

Ruoli e Attori del Processo

Cliente

Ruolo attivo e Presente Co-Assume il ruolo di Guida del progetto partecipando attivamente alle

riunioni e le fasi che il progetto prevede Fornisce tutte le informazioni necessarie Definisce le priorità

Caratteristiche Esperto del Dominio Applicativo Disponibile Capacità Decisionale

Page 13: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 13 ] - Better Software 2010

Ruoli e Attori del Processo

Responsabile di ProgettoObiettivo: Il raggiungimento della soddisfazione del cliente rimanendo entro i tempi e costi

stabiliti

Garante del processo Interfaccia per il cliente Raccoglie e Analizza i requisiti Redige il documento di progetto (Analisi) Redige il documento di stima Gestisce la pianificazione e controlla le attività Convoca i Meeting previsti Armonizza le Relazioni e agisce da Facilitatore Gestisce la qualità percepita Controlla tempi Coordina la produzione di materiali ed i fornitori esterni

Page 14: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 14 ] - Better Software 2010

Ruoli e Attori del Processo - Team

Team - Responsabile TecnicoObiettivo: definisce le linee guida di sviluppo e da supporto ed aiuto agli sviluppatori.

Decide l’architettura tecnologica Guida il Team (Tutoring) Stima le Attività assieme al Responsabile di Progetto Redige il documento di Progetto assieme al Responsabile di Progetto Redige il documento Tecnico E’ responsabile della qualità interna del prodotto

Team - Sviluppatore Supporta il processo di stima Sviluppare i requisiti nel rispetto dei tempi stimati. Implementa il codice seguendo standard di qualità e le pratiche previste Compila la Time Table

Page 15: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 15 ] - Better Software 2010

Ruoli e Attori del Processo

CommercialePresenta ai clienti soluzioni a valore aggiunto

Contatta e coinvolge il cliente nel progetto Gestisce l’Offerta commerciale Controlla i costi di progetto Richiede al cliente incarichi formali per eventuali modifiche onerose

Page 16: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 16 ] - Better Software 2010

Passi e Azioni

Passi del Processo Analisi

Analisi Iniziale Stima Offerta economica

Sviluppo Iterativo Piano Iterazione Sviluppo Iterazione Conclusione Iterazione

Release e Manutenzione Release Prodotto

Page 17: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 17 ] - Better Software 2010

Fase Analisi

AnalisiIniziale

Analisi e Stima

Offerta Economica

Doc Progetto: RP

Doc Stima: RP/RT

Offerta Economica: COMMERCIALE

Cliente RP

RP

Commerciale

RT

Page 18: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 18 ] - Better Software 2010

Tool Definitivo per Stimare

Page 19: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 19 ] - Better Software 2010

Stimare in Intesys

Page 20: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 20 ] - Better Software 2010

Stimare in Intesys

Elementi della stima Macro Use Cases del progetto, individuati e documentati Attività Fisse

Configurazioni ambienti e tempi di deploy Project Management Test e collaudo Formazione al cliente Documentazione

Spread

Si stima in “Perfect Engineering days” La pianificazione a calendario viene fatta successivamente

Page 21: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 21 ] - Better Software 2010

Offerta Economica

Page 22: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 22 ] - Better Software 2010

Sviluppo Iterativo

Piano di Iterazione

Sviluppo Iterazione

Conclusione Iterazione

Release

Agg. Attività/Task Progetto: RP

Definizione Time Table: AMM.RE.

Code: TEAM

Test: TEAM

Compilaz Time Table: TEAM

Agg. Attività/Task Progetto: RP

Ci sono altre funzionalità da

sviluppre?

Cliente RPSviluppatori

Cliente RT

Cliente RP

Sviluppatori

SI NO

Page 23: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 23 ] - Better Software 2010

Pratiche Sviluppo Adottate

Sviluppo Coding Standard Design Pattern e Framework

Applicativi Desing Session Pair Programming al bisogno Test Automatici per le parti

algoritmiche (Unit test e Functional Test)

Refactoring

Page 24: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 24 ] - Better Software 2010

Release e Manutenzione

Release Redazione del Documento Tecnico Redazione del Manuale Utente

Beta Test Consolidamento della Versione Installazione e configurazione Go Live

Manutenzione Sistema di Ticketing Manutenzione Bugs Manutenzioni Evolutive nuovi Progetti

Page 25: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 25 ] - Better Software 2010

Prodotti del Processo

PRODOTTI DEL PROCESSO

Page 26: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 26 ] - Better Software 2010

Documento di Progetto

Documento di Progetto Obiettivo, Requisiti e Vincoli Pianificazione Analisi

Dominio Applicativo Attori Elementi del dominio

Flusso Informativo Soluzione Proposta

Descrizione Integrazioni Specifiche software

sottoforma di Use Cases

Obiettivo: Minimo livello di documentazione necessaria

Page 27: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 27 ] - Better Software 2010

Codice

Page 28: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 28 ] - Better Software 2010

Altri “Prodotti”

Documento Tecnico Scelte Architetturali adottate Informazioni tecniche (DB, framework, File System, etc..) Informazioni di Deploy e Faq

Manuale Utente Scenari applicativi Funzionalità del sistema Esempi

Manuale Amministratore Installazione e Configurazione del sistema Funzionalità amministrative

Page 29: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 29 ] - Better Software 2010

Tools di Supporto

Page 30: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 30 ] - Better Software 2010

Time Table

Strumento per il supporto a tutto il Processo Modulo Gestione Progetto

Definizione Progetto Definizione Team Definizione Attività/Task Progetto Gestione Assegnazioni Reportistica tempistiche e allineamento stime originali

Gestione Time Tracking Su attività Assegnate Su attività task non Assegnate

Controllo di Gestione Verifica carichi dei team Reportistica relativa all’insieme dei progetti

Page 31: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 31 ] - Better Software 2010

Time Table

Page 32: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 32 ] - Better Software 2010

Sistema di Ticketing

Manutenzion: Gestione delle Change Request / Bugs

Sistema opensource di Ticketing Gestione dei Ticket Assegnazione del Ticket

Gestione richieste via Email

Page 33: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 33 ] - Better Software 2010

Parallelo con XP

Tabella comparativa Processo Intesys - XP

XP Intesys Note

User Stories – mattoncini della pianificazione docProgetto - Use cases

Release planning in fase contrattuale

Iteration planning

Dedicated Team open work space Disposizione ad uffici

A stand up meeting Al bisogno

The Project Velocity

Design sessions

Create spike solutions to reduce risk

Refactor

The customer is always available Si, feedback immediati

Test Driven Development

Pair programming Al bisogno

Collective ownership Team piccoli

unit tests before released Solo per i progetti che li richiedono

Page 34: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 34 ] - Better Software 2010

Parallelo con SCRUM

Tabella comparativa Processo Intesys - SCRUM

XP Intesys Note

Sprint planning meeting Incontro di inizio iterazione

Daily scrum meeting Al bisogno

Sprint review

Sprint retrospective Al bisogno

Product backlog Time Table

Sprint backlog Time Table

Release burndown chart Time Table

Product owner Project manager

Team Resp tecnico e Sviliuppatori

ScrumMaster

Page 35: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 35 ] - Better Software 2010

PRO

Incentrato sui principi delle Metodologie Agili – si mappano sui principi e valori aziendali

“Customizzato” secondo le esigenze aziendali

Adottato in modo Flessibile in base al tipo di progetto

Supportato da strumenti

Page 36: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 36 ] - Better Software 2010

Criticità e Miglioramenti Possibili

Flessibilità → non si crea uno “standard”, ogni protetto è a sé

Introduzione di una figura di Process Master (à la SCRUM Master)

Strumenti di governo migliorabili

Processo in Evoluzione

Page 37: Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile in Azienda

[ 37 ] - Better Software 2010

Thank you for your attention!Grazie per la vostra attenzione!

Relazione curata da:

Paolo Quaglia, Responsabile Area Sviluppo Software, Intesys [email protected]

LinkedIn: www.linkedin.com/in/paoloquaglia

Intesys S.r.l.Via dell’Artigianato, 3 - 37135 Verona

voice +39 045 503663 - fax +39 045 503604