2. CHI SONO
• Software Developer
• FormatoreTecnico Oracle & Microsoft
• Tecnologie & interessi:
• Java
• HTML 5
• Video Game Development
• Free & Open Source Software
• Metodologie Agili
3. COS'È ESATTAMENTE IL
SOFTWARE?
• L'insieme di istruzioni e regole in grado di fornire
ad un computer la capacità di compiere una o più
operazioni.
software |ˈsôf(t)wer|
noun
5. UN COMPUTER* SENZA SOFTWARE
È COMPLETAMENTE INUTILE
*PC di casa, portatile, cellulare, orologio,ATM, console, automobile etc…
6. ANNI '60
“Penso che nel mondo ci sia mercato forse per 4 o
5 computer” Thomas J.Watson
CEO di IBM
7. ANNI '60
• A differenza di quanto avvenuto con altre scienze
applicate, l'informatica:
• Cresce e si evolve in modo rapidissimo
• I progetti diventano sempre più complessi…
8. ANNI '60
• … e non si sa come
affrontarli:
• Sforamento dei budget
• Ritardi nel
completamento
• Scarsa affidabilità
9. CRISI DEL SOFTWARE!
• Nasce la consapevolezza che il processo di
costruzione di un’applicazione software deve
essere affrontato nello stesso modo adottato dagli
ingegneri per costruire sistemi grandi e complessi
come ponti, raffinerie, aerei.
• Nasce l'Ingegneria del Software
11. I MODELLI DI SVILUPPO
• Sono la risposta all'annosa domanda:
• Come diavolo organizzo il mio lavoro?
• Condizionano quella che sarà la "vita" del SW.
12. CODE & FIX
• Scrivere il programma, compilare e correggere
eventuali errori finché non ne siamo soddisfatti
• I criteri di qualità sono del tutto soggettivi
• Il lavoro non è strutturato, né documentato
• Le operazioni di manutenzione sono difficoltose (e
costose!)
15. WATERFALL
• Lavoro suddiviso in fasi consequenziali
• ogni stadio di sviluppo viene eseguito solo e
soltanto dopo il precedente
16. WATERFALL
• Il lavoro con approccio Waterfall è tipicamente orientato alle richieste del
cliente:
• Cosa vuole il cliente? *
• Come possiamo realizzarlo? *
• Ok, facciamolo. *
• Proviamo il risultato. *
• Consegnamo il prodotto. *
*Quando abbiamo finito, sarebbe meglio scrivere "qualche" documento a riguardo
17. WATERFALL
• Ma se qualcosa va storto?
• Il cliente cambia idea?
• Il nostro team cambia idea?
• Il mondo cambia?
• Ricominciamo daccapo.
18. I MODELLI AGILI!
• Nel Febbraio 2001, 17 sviluppatori software
pubblicano il Manifesto For Agile Software
Development
• Composto da 12 punti, il manifesto cambierà
radicalmente il modo di lavorare nell'industria
del software
19. THE AGILE MANIFESTO
1.La nostra massima priorità è soddisfare il cliente,
rilasciando software di valore, fin da subito e in
maniera continua.
2.Accogliamo i cambiamenti nei requisiti, anche a
stadi avanzati dello sviluppo.
20. THE AGILE MANIFESTO
3. Consegnamo frequentemente software funzionante, con
cadenza variabile da un paio di settimane a un paio di mesi,
preferendo i periodi brevi.
21. THE AGILE MANIFESTO
4.Committenti e sviluppatori devono lavorare
insieme e quotidianamente per tutta la durata del
progetto.
5.Fondiamo i progetti su individui motivati. Diamo
loro l'ambiente e il supporto di cui hanno bisogno
22. THE AGILE MANIFESTO
5.Una conversazione faccia a faccia è il modo più
efficiente e più efficace per comunicare
23. THE AGILE MANIFESTO
10. La semplicità - l'arte di massimizzare la quantità
di lavoro non svolto - è essenziale.
24. THE AGILE MANIFESTO
12. A intervalli regolari il team riflette su come diventare più efficace,
dopodiché regola e adatta il proprio comportamento di
conseguenza.
25. PERCHÉ ESSERE AGILI?
• Ciò che conta sono le persone: utenti finali,
clienti o colleghi
• C'è sempre da imparare
• Si cercano le soluzioni a problemi difficili con
semplicità
26. PERCHÉ ESSERE AGILI?
• Perché sviluppare software significa risolvere
problemi…
• …pensandoci bene, non è poi così diverso
dall'affrontare la vita di tutti i giorni, no?