Ingegneria del Software



Documenti analoghi
Introduzione all Ingegneria del Software

Approcci agili per affrontare la sfida della complessità

Introduzione all Agile Software Development

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

Gestione dello sviluppo software Modelli Agili

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari

Progetto di Informatica III

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

Innovazione di processo e di prodotto in un azienda del settore domotica

Agile Principles Agile People. Gaetano Mazzanti Gama-Tech

Concetti di base di ingegneria del software

AGILE IL TEAM, MA IL CLIENTE? Trasmettere al cliente valori, vantaggi e necessità dello sviluppo agile

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress Relatore: Bruna Bergami

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

Tutto il materiale inspirato a Steve Blank

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Agili, snelli e scattanti!

EVMS (Earned Value Management System) impatti organizzativi della sua implementazione CARLO GAVAZZI SPACE

Extreme programming e metodologie agili

Ciclo di vita del software

extreme Programming in un curriculum universitario

Un team agile allo sprint. 28 Febbraio 2013 Emiliano Soldi

Ciclo di vita del progetto

Agile e Scrum in pratica

Corso di Amministrazione di Sistema Parte I ITIL 1

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director

Rational Unified Process Introduzione

Generazione Automatica di Asserzioni da Modelli di Specifica

STAKEHOLDER ENGAGEMENT

La portata del software

SAP per centralizzare tutte le informazioni aziendali

Trasformazioni Agili: l importanza di un partner qualificato

L approccio Festo Consulenza e Formazione

EUROPEAN PROJECT MANAGEMENT QUALIFICATION - epmq. Fundamentals. Syllabus

Ingegneria del Software. Processi di Sviluppo

Coaching. Nicola Moretto

Corso di Ingegneria del Software. Modelli di produzione del software

4.1 Che cos è l ideazione

Sistemi informativi secondo prospettive combinate

Ciclo di vita dimensionale

Città di Minerbio Provincia di Bologna. CICLO DELLA PERFORMANCE Indirizzi per il triennio

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

Il Processo Software

Raccontare le storie, coinvolgere il team Massimo Sarti

L o. Walter Ambu japs: una soluzione agile (

Software solido e usabile: come integrare ingegneria dell usabilità e del software

Stima dell'effort. IT Project Management. Lezione 6 Stima dell effort Federica Spiga. Monitoring del progetto (Earned Value)

Coordinamento e comunicazione

Modulo 2. La produzione industriale del software Il ciclo di vita del software I modelli di sviluppo. La industrializzazione del software

Indice. Ingegneria dei requisiti e gestione agile. User-Centered Development Esempi di artefatti. Domain Driven Design. Design for Testability

figure professionali software

Dott.ssa Lucia Biondi

QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE

Il Processo Software

11. Evoluzione del Software

Programmazione e controllo

IS Governance. Francesco Clabot Consulenza di processo.

Il Valore è. Risorse. Performance. La Performance comprende: Esigenze imprenditoriali Qualità Immagine Benefici sociali Incremento dei ricavi

Test e collaudo del software Continuous Integration and Testing

I I SISTEMI INFORMATIVI INTEGRATI. Baan IV IV - Enterprise e Orgware NOTE

CONFUSIONE DEI TALENTI O GESTIONE DEI TALENTI?

Lo Sviluppo delle Capacità

Consulenza Direzionale Presentazione Società. Key Value for high performance business

Seminario Metodi Agili per la gestione dei progetti per Decision Makers

2. Ciclo di Vita e Processi di Sviluppo

Collaudo e qualità del software Quali test eseguire

ETA Management. ETA Management S.r.l. Via Volturno, Milano Tel Fax Milano, Gennaio 2009

Valorizzazione della professionalità di SW Quality Assurance

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

PROGETTAZIONE MECCANICA DESIGN INDUSTRIALE OUTSOURCING RICERCA E SVILUPPO GRAFICA DOCUMENTAZIONE TECNICA STUDIO TECNICO

GUIDA - Business Plan Piano d impresa a 3/5 anni

Processi principali per il completamento del progetto

METODI AGILI IL CONTROLLO DI GESTIONE PER. Loredana G. Smaldore

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione.

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Il metodo extreme Programming in sintesi

12. Evoluzione del Software

MAGAZZINO. Il magazzino all interno della struttura aziendale. per il servizio al cliente

Infrastruttura di produzione INFN-GRID

Il sistema di automazione nelle Raffinerie di olio alimentare

La gestione delle relazioni con il mercato

Dalla Business Idea al Business Plan - 1 -

Transcript:

Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei processi Elevata quantità di prodotti intermedi Scarsa attenzione ai team di sviluppo Incapacità di risposta veloce ai cambiamenti

Manifesto per Lo Sviluppo Agile We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck et. al Cosa si intende per l agilità? Caratteristica dei moderni processi di sviluppo software per la quale si ha una risposta efficacie (rapida ed adattabile) ai cambiamenti (I. Jackobson) Comunicazioni efficaci fra tutti gli stakeholders coinvolti nel progetto Coinvolgimento del cliente nel team di sviluppo Auto-gestione del team di sviluppo Realizzazione rapida di incrementi del sistema

Un Processo Agile Si adatta al team di sviluppo valorizzando le risorse umane Non è fortemente vincolante E guidato dalle descrizioni delle necessità del cliente Si basa su azioni a breve termine Da forte enfasi alla costruzione piuttosto che all analisi e modellazione Sviluppa incrementi software iterativamente Si adatta ai cambiamenti Un Processo Agile: Extreme Programming L extreme programming (XP) è il più diffuso processo agile Non è una tecnica di programmazione ma un vero e proprio processo composto da quattro attività strutturali Planning Design Coding Test

Extreme Programming (2) user stories values acceptance test criteria iteration plan simple design CRC cards spike solutions prototypes refactoring pair programming Release software increment project velocity computed unit test continuous integration acceptance testing XP - Planning Ha inizio con la descrizione di user stories che descrivono funzionalità desiderate Il cliente ad ogni user story assegna una priorità Il team di sviluppo valuta le user stories, fa una pianificazione ed assegna un costo Ogni user story per la quale si prevede un tempo di sviluppo elevato viene suddivisa in più user stories Il team di sviluppo definisce i criteri per il testing di accettazione Il team di sviluppo stima la velocità del progetto

XP - Design E una fase molto leggera rispetto agli approcci convenzionali E orientata agli oggetti Gli unici prodotti di questa attività sono: Class Responsibility Collaborations Card Schede di assegnazione delle responsabilità alle classi Spike solutions Soluzioni di punta (prototipi) per funzionalità critiche E un prodotto opzionale XP - Coding Incoraggia il pair programming Due sviluppatori per ogni terminale ( due teste sono meglio di una ) I due sviluppatori si possono concentrare su aspetti differenti Ad esempio: uno sulla implementazione delle funzionalità in senso stretto e l altro sull interfacciamento e sull integrazione con le altre user stories

XP - Test Esecuzione delle unità di test e dei test di accettazione del cliente Valori di XP XP si basa su 4 valori chiave: Comunicazione Semplicità Feedback Coraggio Ran Jaffries

Altri modelli di sviluppo agile ASD Adaptive Software Development DSDM Dynamic Systems Development Method Scrum FDD Feature Driven Development Modelli Agili vs Approcci Convenzionali

Modelli Agili vs Approcci Convenzionali (2) Boehm s curve!" #!" # Modelli Agili vs Approcci Convenzionali Quando sono da preferire i modelli agili? Nel caso di team di sviluppo piccoli, molto coesi e con elevata esperienza Quando si deve garantire la consegna di un prodotto in tempi estremamente rapidi Le dimensioni del sistema da realizzare possono precludere l applicazione dei modelli agili La realizzazione di sistemi di grandi dimensioni difficilmente può prescindere da una corretta documentazione di tutte le sue parti realizzate e da realizzare