Software solido e usabile: come integrare ingegneria dell usabilità e del software Giorgio Brajnik e Andrea Baruzzo Dip. di Matematica e Informatica Università di Udine e Interaction Design Solutions srl www.designcoaching.net Ordine Ingegneri PN - 16 dicembre 2014 c IDS Srl 2014 Software solido e usabile 1 / 44
Scopo del seminario Capire l impatto di una buona ingegneria dei requisiti nel successo di un progetto software Avere una panoramica di varie tecniche di ingegneria del software e di usabilità Capire come innestare tecniche di usabilità in pratiche di ingegneria del software c IDS Srl 2014 Software solido e usabile 2 / 44
Indice Ingegneria dei requisiti e gestione agile User-Centered Development Esempi di artefatti Domain Driven Design Design for Testability Model-based GUI Testing c IDS Srl 2014 Software solido e usabile 3 / 44
Indice Ingegneria dei requisiti e gestione agile User-Centered Development Esempi di artefatti Domain Driven Design Design for Testability Model-based GUI Testing c IDS Srl 2014 Software solido e usabile 4 / 44
Cause? Cause di fallimento (Standish Group 2010): 1. poco input da utenti: 13% 2. requisiti incompleti: 12% 3. requisiti che cambiano: 12% c IDS Srl 2014 Software solido e usabile 5 / 44
Come venirne fuori? Adottare: 1. un approccio di gestione agile 2. un approccio user-centered 3. principi solidi di progettazione 4. verifiche rigorose e frequenti c IDS Srl 2014 Software solido e usabile 6 / 44
Sviluppo pilotato dai requisiti non si scrivono 120 pagine di requisiti che pochi leggono, e nessuno capisce veramente e si presume che siano la base per un contratto ma invece li si individua grossolanamente all inizio raffina/rivede mano a mano che si procede prioritizza mano a mano che si procede e verifica mano a mano che si procede c IDS Srl 2014 Software solido e usabile 7 / 44
Cadenza di rilascio frequente iterazioni di 1-4 settimane volte a un rilascio per ciascuna eventualmente timeboxed eventualmente con limited work-in-progress con scope vincolato c IDS Srl 2014 Software solido e usabile 8 / 44
Change management Il cliente/committente può decidere in corsa cosa è meglio (incluso fermarsi) per mutazioni di mercato per mutazioni di condizioni economiche/priorità perché ha capito qualcosa in più sul problema c IDS Srl 2014 Software solido e usabile 9 / 44
Indice Ingegneria dei requisiti e gestione agile User-Centered Development Esempi di artefatti Domain Driven Design Design for Testability Model-based GUI Testing c IDS Srl 2014 Software solido e usabile 10 / 44
User Centered Design 1. Coinvolgimento precoce e comprensione degli utenti 2. Misure empiriche di usabilità 3. Procedimento iterativo: 3.1 Pianificazione dell indagine 3.2 Sintesi di un prototipo 3.3 Valutazione del prototipo c IDS Srl 2014 Software solido e usabile 11 / 44
Catalogo di tecniche interviste strutturate a soggetti interessati (e utenti) analisi utenti e loro livelli di esperienza; profili task analysis studi sul campo (contextual design) definizioni del problema brainstorming e focus groups personaggi scenari d uso casi d uso essenziali user testing formativo... c IDS Srl 2014 Software solido e usabile 12 / 44
Beneficio dello UCD riduzione incertezza sul prodotto aumento efficienza del processo c IDS Srl 2014 Software solido e usabile 13 / 44
Caso di studio: CLIMAX (Per un agenzia assicurativa) c IDS Srl 2014 Software solido e usabile 14 / 44
Esempio di formulazione di problema c IDS Srl 2014 Software solido e usabile 15 / 44
Esempi di stakeholder c IDS Srl 2014 Software solido e usabile 16 / 44
Esempio di personaggio c IDS Srl 2014 Software solido e usabile 17 / 44
Caso di studio: OTOUCH (Eurapo Srl e Aragon Engineering Srl) c IDS Srl 2014 Software solido e usabile 18 / 44
Esempio di profilo utenti c IDS Srl 2014 Software solido e usabile 19 / 44
Esempio di profilo utenti II c IDS Srl 2014 Software solido e usabile 20 / 44
Esempio di caso d uso essenziale c IDS Srl 2014 Software solido e usabile 21 / 44
Demo di user testing formativo c IDS Srl 2014 Software solido e usabile 22 / 44