Metodi per lo sviluppo del sw

Tecniche per lo sviuppo del software in ambienti condivisi

Destinatari: il corso è dedicato sia ai gruppi di lavoro che intendono amalgamarsi e iniziare un’attività produttiva, sia al management che vuole avere il polso dell’andamento.

Durata: 3 gg

Descrizione

Il corso nasce dalla necessità di identificare e applicare i più moderni ed efficaci metodi di sviluppo per raggiungere diversi obiettivi: migliorare le capacità di costruire software complesso realmente funzionante e riutilizzabile, realizzare software rispettando i requisiti e le aspettative di business, on-time e on-budget, massimizzare la distribuzione della conoscenza e rendere un gruppo di lavoro più affidabile.

Il seminario si focalizza su un metodo hands on sia manageriale che implementativo, per una dinamica del lavoro adattiva. In particolare si parlerà di:

-introduzione ai principi di Agile Software Development & Agile Project Management

-analisi comparativa tra approcci Waterfall e Agile, quali sono le differenze sostanziali nell’approccio e negli obiettivi

-benefici apportati dall’applicazione del metodo di lavoro agile

-ambiti di applicabilità, opportunità e rischi

-impatti sull’organizzazione, sull’operatività e sulle persone, indotti dall’adozione di un metodo di lavoro agile

-come cambia la natura dei deliverable, la gestione degli ambienti e del ciclo di vita del software

-metodologie e best practice di riferimento

-focalizzazione sugli aspetti operativi della metodologia, in termini di modello di funzionamento, regole fondamentali e loro applicazione nel contesto reale

-descrizione di dettaglio dello scopo, degli obiettivi e dei contenuti di ognuna delle fasi previste

-relazione e interdipendenza tra le fasi del processo

-input, output, e deliverables previsti

-attori coinvolti, rispettivi ruoli e responsabilità.

 

Argomenti

Gestione agile del ciclo di vita del software

• Che cos’è e a cosa serve

• Obiettivi dell’Agile Software Development Lifecycle

• Perché adottare questo approccio

Le attività e i progetti

• Sai cosa stai facendo, consapevolezza del proprio ruolo e contributo

• Semplicità e agilità nelle attività e nei deliverable

• Focus sulle attività ad alto valore

• Indipendenza dagli strumenti

Metodologie di riferimento

• AUP (Agile Unified Process)

• UML (Unified Modeling Language)

• CMMI (Capability Maturity Model Integration)

Principi, finalità e caratteristiche delle fasi produttive

• Inception

• Elaboration

• Construction

• Transition

Inception

• Definizione portata iniziale del progetto

• Definizione e validazione macro-architettura e macro-stima.

Elboration

• Analisi e modellazione del software

• Definizione strategia di validazione della soluzione

• Verifica di sostenibilità dell’architettura

• Prototyping e implementazione test driven

Construction

• Costruzione, test e documentazione del software definitivo su base incrementale

• Continuous integration: principi, tecniche e strumenti

Transition

• Validazione del software e rilascio nell’ambiente di produzione.