ݺߣ

ݺߣShare a Scribd company logo
Design Emergente: Più Cambiamenti, Più Profitti
Questo intervento sostiene: Design Emergente: Più Cambiamenti, Più Profitti
  Obiettivi Design Emergente: Più Cambiamenti, Più Profitti Mostrare come il cambiamento dei requisiti aumenti il profitto  Trasmettere l’essenza di XP
Il software è un “prodotto”? Design Emergente: Più Cambiamenti, Più Profitti
Arrivare ad un prodotto innovativo Design Emergente: Più Cambiamenti, Più Profitti
Perché i progetti falliscono? Design Emergente: Più Cambiamenti, Più Profitti
  Come fare profitti con i cambiamenti? Design Emergente: Più Cambiamenti, Più Profitti
Perché i progetti falliscono? Design Emergente: Più Cambiamenti, Più Profitti Velocità Complessità
La risposta di XP Design Emergente: Più Cambiamenti, Più Profitti Sostituire il motore dei valori con:  comunicazione, feedback, semplicità, coraggio, rispetto Applicare pratiche volte a ridurre la complessità: di business, tecnica e di comunicazione
Semplice = far crescere il software  Design Emergente: Più Cambiamenti, Più Profitti Programma fatturazione v0.1 :-)
Facile = la prima cosa che mi viene in mente 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 Design Emergente: Più Cambiamenti, Più Profitti
Da dove si parte? Design Emergente: Più Cambiamenti, Più Profitti “ 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
User Story Design Emergente: Più Cambiamenti, Più Profitti
Il videogioco di ChengQi Design Emergente: Più Cambiamenti, Più Profitti
Il videogioco di ChengQi Design Emergente: Più Cambiamenti, Più Profitti Movimento orizzontale cannoncino Movimento verticale UFO Movimento orizzontale astronave 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
Prosimo passo: ridurre la complessità marginale Design Emergente: Più Cambiamenti, Più Profitti Mantenere bassa la complessità del sistema Mantenere bassa la complessità intrinseca del problema
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 Design Emergente: Più Cambiamenti, Più Profitti “ 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 employees.forEach(printSlip);
Mantenere bassa la complessità del sistema  Malleabilità Continua applicazione di sforzo Assicurare che  le strutture dipendono dalle funzionalità Design Emergente: Più Cambiamenti, Più Profitti
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 Mantenere bassa la complessità intrinseca  del problema
Il cambiamento come opportunità di business Design Emergente: Più Cambiamenti, Più Profitti Identificare nuove opportunità di business Assicurare ritorno investimenti rapido e frequente Consentire di cambiare quando necessario
Dove continuare? Design Emergente: Più Cambiamenti, Più Profitti
Domande? Design Emergente: Più Cambiamenti, Più Profitti

More Related Content

Design Emergente Più Cambiamenti Più Profitti

  • 1. Design Emergente: Più Cambiamenti, Più Profitti
  • 2. Questo intervento sostiene: Design Emergente: Più Cambiamenti, Più Profitti
  • 3. Obiettivi Design Emergente: Più Cambiamenti, Più Profitti Mostrare come il cambiamento dei requisiti aumenti il profitto Trasmettere l’essenza di XP
  • 4. Il software è un “prodotto”? Design Emergente: Più Cambiamenti, Più Profitti
  • 5. Arrivare ad un prodotto innovativo Design Emergente: Più Cambiamenti, Più Profitti
  • 6. Perché i progetti falliscono? Design Emergente: Più Cambiamenti, Più Profitti
  • 7. Come fare profitti con i cambiamenti? Design Emergente: Più Cambiamenti, Più Profitti
  • 8. Perché i progetti falliscono? Design Emergente: Più Cambiamenti, Più Profitti Velocità Complessità
  • 9. La risposta di XP Design Emergente: Più Cambiamenti, Più Profitti Sostituire il motore dei valori con: comunicazione, feedback, semplicità, coraggio, rispetto Applicare pratiche volte a ridurre la complessità: di business, tecnica e di comunicazione
  • 10. Semplice = far crescere il software Design Emergente: Più Cambiamenti, Più Profitti Programma fatturazione v0.1 :-)
  • 11. Facile = la prima cosa che mi viene in mente Design Emergente: Più Cambiamenti, Più Profitti
  • 12. 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 Design Emergente: Più Cambiamenti, Più Profitti
  • 13. Da dove si parte? Design Emergente: Più Cambiamenti, Più Profitti “ 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
  • 14. User Story Design Emergente: Più Cambiamenti, Più Profitti
  • 15. Il videogioco di ChengQi Design Emergente: Più Cambiamenti, Più Profitti
  • 16. Il videogioco di ChengQi Design Emergente: Più Cambiamenti, Più Profitti Movimento orizzontale cannoncino Movimento verticale UFO Movimento orizzontale astronave 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
  • 17. Prosimo passo: ridurre la complessità marginale Design Emergente: Più Cambiamenti, Più Profitti Mantenere bassa la complessità del sistema Mantenere bassa la complessità intrinseca del problema
  • 18. 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 Design Emergente: Più Cambiamenti, Più Profitti “ 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 employees.forEach(printSlip);
  • 19. Mantenere bassa la complessità del sistema Malleabilità Continua applicazione di sforzo Assicurare che le strutture dipendono dalle funzionalità Design Emergente: Più Cambiamenti, Più Profitti
  • 20. 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 Mantenere bassa la complessità intrinseca del problema
  • 21. Il cambiamento come opportunità di business Design Emergente: Più Cambiamenti, Più Profitti Identificare nuove opportunità di business Assicurare ritorno investimenti rapido e frequente Consentire di cambiare quando necessario
  • 22. Dove continuare? Design Emergente: Più Cambiamenti, Più Profitti
  • 23. Domande? Design Emergente: Più Cambiamenti, Più Profitti