Software Agile Methodologies

Metodologie agili per lo sviluppo del software

indietro
Descrizione del corso

L'obiettivo professionale di uno sviluppatore di software è di rilasciare un prodotto di massima utilità (valore di business) per i suoi clienti. La maggior parte dei progetti però falliscono o falliscono nel fornire il valore atteso. La tendenza di sviluppo caotico propria dei progetti ad alta complessità come quelli di software è colpevole in buona parte di questi fallimenti. E, tutto ciò, malgrado il fatto che abbiamo avuto un'alternativa: la metodologia. Le metodologie impongono per lo sviluppo del software un processo disciplinato, con lo scopo di rendere lo sviluppo del software più prevedibile ed efficiente. Le metodologie tradizionali danno una grande enfasi alla pianificazione, prendendo spunto da altre discipline ingegneristiche. Però queste metodologie non si sono distinte per aver portato a risultati molto soddisfacenti e non sono neanche molto popolari.

In reazione a queste metodologie, negli ultimi anni è comparso un nuovo gruppo di metodologie. Conosciute all'inizio come metodologie leggere, adesso il loro nome affermato è di metodologie agili. I principi e i valori dei metodi e delle metodologie agili vengono in aiuto alle squadre di sviluppatori per fermare il ciclo di sviluppo inflazionistico del software e per raggiungere gli obiettivi di focalizzarsi su tecniche semplici. In questo momento esistono vari processi software agili proposti e parzialmente validati: SCRUM, Crystal, Feature Driven Development, Adaptive Software Development (ADP) e soprattutto Extreme Programming. Queste metodologie hanno caratteristiche comuni come: lo sviluppo iterativo ed evolutivo timeboxed, la pianificazione adattiva e l'enfasi sul rilascio evolutivo-incrementale. Loro obbiettivo strategico è sempre la manovrabilità.

In un mondo in cui cambiamenti rapidi nella tecnologia utilizzata ed esigenze del business estremamente dinamiche sono all'ordine del giorno, è quasi impossibile pianificare e programmare dal principio in modo accurato un progetto software non banale. Esistono proposte molto interessanti per la conduzione agile dei processi come ad esempio Extreme Project Management (XPM) che descrive come sviluppare progetti nel tempo e col budget pianificati agendo soltanto sui requisiti (scope) del progetto.

Il corso si prefigge l'obiettivo principale di fornire al partecipante gli elementi di base per capire l'attuale paesaggio delle metodologie agili. I partecipanti al corso saranno in grado di acquisire ed approfondire le conoscenze necessarie sui principi e i valori promossi da queste metodologie per ottenere il massimo beneficio dal loro utilizzo.

Obiettivi del corso

Gli obiettivi principali del corso sono i seguenti:

  • fornire una panoramica generale sui metodi e le metodologie agili;
  • presentare in dettaglio alcune delle metodologie più utilizzate.

Destinatari

Il corso prevede un pubblico ideale composto da figure professionali che partecipano ad un progetto software che utilizzi le nuove tecnologie OO come: capi progetto, analisti di sistemi, analisti del software, architetti software e programmatori e che desiderano acquisire conoscenze sui recenti sviluppi nel campo dei processi software.

Prerequisiti

Richiesta esperienza di partecipazione ad alcuni progetti software importanti e conoscenze sulle problematiche dello sviluppo di software.

Durata
3 gg.
Argomenti trattati

 

1° giorno

1. Introduzione al processo software

  • Ciclo di vita di un prodotto software
  • Problematiche nello sviluppo del software.
  • Pianificazione predittiva e pianificazione adattiva

2. Metodologie agili

  • Panoramica delle metodologie agili

2° giorno

  • Programmazione estrema (XP)
    • Principi, Concetti, Valori, Pratiche
    • Pianificare un progetto XP
    • Pianificazione dei rilasci
    • Storie
    • Pianificazione delle iterazioni
    • Organizzare una squadra di sviluppo
  • Processo uniforme (UP)
    • Principi, Concetti, Valori, Pratiche
    • Pianificare un progetto XP

3° giorno

3. La gestione estrema dei progetti (XPM)

  • Valori
  • Skill delle persone
  • Strumenti
  • Il processo RAP
indietro