Design Emergente Più Cambiamenti Più Profitti
-
Upload
uxconference -
Category
Technology
-
view
1.345 -
download
1
Transcript of Design Emergente Più Cambiamenti Più Profitti
ah
Francesco Cirillo
Design Emergente:Più Cambiamenti, Più Profitti
Design Emergente: Più Cambiamenti, Più Profitti
Questo intervento sostiene:
2
Design Emergente: Più Cambiamenti, Più Profitti
Obiettivi
3
Mostrare come il cambiamento dei requisiti aumenti il profitto
Trasmettere l’essenza di XP
Design Emergente: Più Cambiamenti, Più Profitti
Il software è un “prodotto”?
4
Design Emergente: Più Cambiamenti, Più Profitti
Arrivare ad un prodotto innovativo
5
Design Emergente: Più Cambiamenti, Più Profitti
Perché i progetti falliscono?
6
Design Emergente: Più Cambiamenti, Più Profitti
Come fare profitti con i cambiamenti?
7
Design Emergente: Più Cambiamenti, Più Profitti
Perché i progetti falliscono?
8
VelocitàVelocitàComplessitàComplessità
Design Emergente: Più Cambiamenti, Più Profitti
La risposta di XP
9
Sostituire il motore dei valori con: comunicazione, feedback, semplicità, coraggio, rispetto
Applicare pratiche volte a ridurre la complessità: di business, tecnica e di comunicazione
Design Emergente: Più Cambiamenti, Più Profitti
Semplice = far crescere il software
10
Programma fatturazione v0.1 :-)
Design Emergente: Più Cambiamenti, Più Profitti
Facile = la prima cosa che mi viene in mente
11
Design Emergente: Più Cambiamenti, Più Profitti
I fondamenti del Design Emergente
Meno strutturalmente complesso è il sistema corrente, e meno intrinsecamente complesso è il problema da risolvere, e minore sarà lo sforzo e quindi i costi e i tempi necessari per introdurre la nuova funzionalità
Se per complessità marginale consideriamo l’incremento di complessità del sistema necessario per introdurre la nuova funzionalità, al fine di favorire il cambiamento nel tempo, lo sforzo da applicare dovrà essere indirizzato a ridurre la complessità marginale fino a renderla negativa
12Tempo
Complessità del sistema
Design Emergente: Più Cambiamenti, Più Profitti
Da dove si parte?
13
“Since the whole system development starts from what the users wish to be able to do with the system, we build the system from the users’ point of view. In this way, it will be easy to discuss the requirements model with the users, and changes to the model will be simple to make”
--Ivar Jacobson
Design Emergente: Più Cambiamenti, Più Profitti
User Story
14
Design Emergente: Più Cambiamenti, Più Profitti
Il videogioco di ChengQi
15
Design Emergente: Più Cambiamenti, Più Profitti
Il videogioco di ChengQi
Movimento orizzontale cannoncino
Movimento verticale
UFO
Movimento orizzontaleastronave
Balistica proiettile
UFO
Balistica proiettile
cannoncino
Incremento punteggio
Morte cannoncino
Collisione proiettile
cannoncino
Partita Space
Invader
Collisione proiettile barriera
Collisione proiettile
UFO e nave
Strategia attacco UFO2
Strategia attacco UFO1
Strategia attacco UFO3
Strategia attacco
astronave
4 settimane
Rotazione 360°
cannoncino Movimento verticale asteroide
Collisione proiettile asteroide
Collisione asteroide
cannoncino
Partita Asteroids
2,5 settimane
16
Design Emergente: Più Cambiamenti, Più Profitti
Prosimo passo: ridurre la complessità marginale
Mantenere bassa la complessità del sistema
Mantenere bassa la complessità intrinseca del problema
17
Design Emergente: Più Cambiamenti, Più Profitti
Mantenere bassa la complessità del sistema
Il Refactoring: Aumentare la capacità del codice di rivelare le intenzioni di
design, a qualsiasi membro del team, alla prima occhiata Migliorare la struttura interna del sistema, consentendo alle
necessarie astrazioni di emergere
“Our job is to solve problems, not spoonfeed compilers (…)We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently”. --Dave Thomas
18
employees.forEach(printSlip);
Design Emergente: Più Cambiamenti, Più Profitti
Mantenere bassa la complessità del sistema
Malleabilità
Continua applicazione di sforzo Assicurare che le strutture dipendono dalle funzionalità
19
Design Emergente: Più Cambiamenti, Più Profitti
Step 1:Stanze disponibili in un giorno per un albergo con
una stanza
Step 2:Stanze disponibili in un giorno per un albergo con una stanza con
una prenotazione in un giorno
Step 3:Stanze disponibili in un giorno per un albergo con una stanza con
una prenotazione in un periodo
Obiettivo:Fare una
prenotazione in un albergo per un
periodo di tempo
20
Mantenere bassa la complessità intrinseca del problema
Design Emergente: Più Cambiamenti, Più Profitti
Il cambiamento come opportunità di business
21
Identificare nuove opportunità di business
Assicurare ritorno investimenti rapido e frequente
Consentire di cambiare quando necessario
Design Emergente: Più Cambiamenti, Più Profitti
Dove continuare?
22
Design Emergente: Più Cambiamenti, Più Profitti
Domande?
23