SlideShare a Scribd company logo
1 of 148
Software ...e tutto ciò
    che comporta


  alberto.brandolini@avanscoperta.it
           twitter: ziobrando
2 giorni 6 ore e 40
      minuti
Fare Software ...e
tutto ciò che comporta


  alberto.brandolini@avanscoperta.it
8 ore e 16 minuti
Fare Software ...ed
alcune cose che comporta



  alberto.brandolini@avanscoperta.it
Prefazione
Le dovute presentazioni
About me
Nell’IT dai tempi dello ZX Spectrum
Generalmente in progetti di grandi
dimensioni
NonSoloCodice
Trainer (Freelance & Skills Matter)
Technical Writer
Blogger: http://ziobrando.blogspot.com
Twitter: ziobrando
My e-mail:
alberto.brandolini@gmail.co
www.avanscoperta.it
avanscoperta.wordpress.com
alberto.brandolini@avanscoperta.i
t




                           © Alberto Brandolini 2009
Augmented Reality
Vedere ciò che ci circonda con occhi diversi
nel 1988
   John
Carpenter
ci era già
arrivato...
nel 1988
   John
Carpenter
ci era già
arrivato...
Hey sono io nella foto!


             Cosa si è fumato il Brando
                        oggi?

 Era meglio se
 seguivo l’altra
    track...
Parte I
 Costruire software
Del come qualche passo in avanti sia stato fatto
     e di quanti ne restino ancora da fare
Software
Computer software, or just software is a general term
primarily used for digitally stored data such as computer
programs and other kinds of information read and
written by computers. Today, this includes data that has
not traditionally been associated with computers, such
as film, tapes and records.[1]

The term was coined in order to contrast to the old term
hardware (meaning physical devices); in contrast to
hardware, software is intangible, meaning it "cannot be
touched".[2] Software is also sometimes used in a more
narrow sense, meaning application software only.
Main Entry: soft·ware
Pronunciation: ˈsȯft-ˌwer
Function: noun
Date: 1958
: something used or associated with and usually
contrasted with hardware: as a : the entire set of
programs, procedures, and related documentation
associated with a system and especially a computer
system; specifically :computer programs b : materials
for use with audiovisual equipment


A '''computer program tells a computer what to
do. It is a sequence of instructions to be
executed in order. A computer program consists
of a set of instructions that the computer
understands.
1) Il software scatena
emozioni forti

2) Chi produce software è in
grado di alterare l’umore
della gente
A '''computer program tells a computer
what to do. It is a sequence of
instructions to be executed in order. A
computer program consists of a set of
instructions that the computer
understands.
Il software è ciò che
       permette
all’hardware di fare
ciò di cui l’utente ha
       bisogno
Qual è il nostro lavoro?




Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?




Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?

  Capire?



Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?
                       Fare?
  Capire?



Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?
                        Fare?
  Capire?
                    Tradurre?



Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?
                        Fare?
  Capire?
                    Tradurre?
   Immaginare?

Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?
                        Fare?
  Capire?
                    Tradurre?
   Immaginare?      Assemblare?

Quali sono gli skills necessari?
Qual è il nostro lavoro?
      Indovinare?
                         Fare?
            Costruire?
  Capire?
                    Tradurre?
   Immaginare?      Assemblare?

Quali sono gli skills necessari?
Produrre valore
del come da qualche parte ci sia qualcosa di
          profondamente sbagliato
Il processo ideale
b ud
   g   et
                   a l ue
               v




                            time
Può funzionare
b ud
       ge
          waterfall ideale
        t




                      v a l ue
                                 time
waterfall reale
b ud
       ge t




                            lu e
                      v a


                                   time
Successo o
fallimento?
Successo!!
 b ud
        ge t




                              lu e
Expectations            v a


                                     time
… più o meno
bu
     dg
          et
               P.A. Waterfall


                        v a l ue

                                   time
Si può fare di
    meglio
agile “aggressivo”
b ud
       ge t
                       v a l ue

Exp e c t at i o n s
Continuous deployment
Test driven development
Continuous Integration
Code coverage
Pianificazione agile
Interazione con il
business
...
Interludio
   Le foto delle vacanze
Come abusare di una platea compiacente per
  millantare doti atletiche ormai sbiadite
3 semplici
3 semplici
osta il primo moschettone
3 semplici
osta il primo moschettone


          Sposta il secondo
            moschettone
3 semplici
osta il primo moschettone


          Sposta il secondo
            moschettone


                Vai alla piattaforma
                     successiva
3 semplici
3 semplici
Red
3 semplici
Red

      Green
3 semplici
Red

      Green

         Refactor
Vogliamo osare
 l’impossibile


...è che “non regressione” è un
         po’ ...limitante...
Là, dove nessun uomo
si è mai spinto prima
Aspettative e Vincoli
Del come il miglior modo per non scontentare
 nessuno è fare in modo che non si aspettino
                   granché
Cose da decidere
prima di partire
Cose da decidere
  prima di partire




Budget
Cose da decidere
  prima di partire




Budget   Scope
Cose da decidere
  prima di partire

Staff


Budget   Scope
Cose da decidere
  prima di partire
                 Logistica
Staff


Budget   Scope
Cose da decidere
  prima di partire
                 Logistica
Staff


Budget   Scope
Cose da decidere
  prima di partire
                 Logistica
Staff


Budget   Scope
Cose da decidere
  prima di partire
                 Logistica
Staff


Budget   Scope
Cose da decidere
  prima di partire
                 Logistica
Staff


Budget   Scope
Decisioni irreversibili
L’architettura del software
 di occupa delle decisioni
 difficilmente reversibili…
L’architettura del software
  di occupa delle decisioni
  difficilmente reversibili…


    Ma le decisioni più
irreversibili hanno poco a
      che vedere con
       l’architettura
Ma la cosa già
  decisa...
Ma la cosa già
  decisa...



 Legacy
Adorazione del monolite
Invischiati nella BBOM
Abbiamo i test?
Nel 2010

-...devo ancora aspettare dei 2 ai 5
  giorni perché un bonifico abbia esito
-...devo ancora recarmi allo sportello
  per cambiare una prenotazione
  ferroviaria da Roma a Faenza
IT == sprecoDiSoldi
Parte II
      Cosa stiamo facendo
          realmente?

I mille dubbi del giovane sviluppatore alle
prese con l’immaterialità del proprio lavoro
Il
prodotto
•
Cos’è il
prodotto?
•
Quanta parte
di questo è
software?
Complessità
      Application Complexity




               Domain Complexity
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Complessità
        Application Complexity




                 Domain Complexity



 User
Intermezzo
breve storia di uno username
Di chi è la palla?
One product - one team

 un product owner con una
 visione complessiva del prodotto


 un team con tutte le competenze
 necessarie alla realizzazione del
 prodotto
or
        s s        m
      e
    in t    Ar on ati
  s
 u lys        ch




                             er
B a Project it
   n             ec




                         Web
                       design
 A                  t
        Manager
       t
   lis
UX
 ia
 ec




                      A
       Cu


                     Q
sp




                  Develope
      Arc



           st
              om      rs
                 er Coach
          hit
           s
              ec
Abbiamo tutte le competenze?
         skill o ruoli?
  Abbiamo le strutture per
     lavorare assieme?
   Sono tutte disponibili?
        In che forma?
     Con che contratto?
            dove?
           quando?
               ...
Parte III
       L’apprendimento
del come far meglio il proprio lavoro significhi
          far bene il proprio lavoro
Noop.nl big Agile Practices Survey:

     “Build a system
    metaphor” tra le
   pratiche agili meno
...e se provassimo a vederla diversamente?




Il software è il prodotto
    secondario di un
       processo di
    apprendimento.
• Eliminate waste --> cosa è realmente
  necessario? Ridurre il carico cognitivo
• Amplify learning --> amplify learning2
  == imparare ad imparare
• Decide as late as possible … :-/
• Deliver as fast as possible -->
  iterazioni brevi, collaborazione
  creativa con gli esperti, verifica sul
  campo
• Empower the team --> empower the
  team
• Build integrity in --> imparare in
  maniera consistente
• See the whole --> no specializzazioni
    –
Posso pianificare
l’apprendimento?

Posso imparare più
velocemente?

Posso imparare meno cose?
Prima elementare Burn Down
           Chart
         10
                      2
         9
                              3
         8
                                      4
         7
                                              5
         6
                                                      6
Numeri




         5
                                                              7
         4
                                                                      8   Vacanza
         3
                                                                                  9
         2

         1

         0
              0   1       2       3       4       5       6       7       8   9       10

                                              Settimane
1   2   3   4   5   6   7   8   9 10
2   4   6   8 10 12 14 16 18 20
3   6   9 12 15 18 21 24 27 30
4   8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
L’arte di imparare
andando un po’ a cercare qualcosa interessante
                  si trova
L’istruzione in

la scuola inizia a 7 anni
no voti individuali fino ai
12-13 anni
molte attività di gruppo
pochissimi esami
I migliori docenti

Studiati i docenti che ottenevano
sistematicamente risultati sopra la
media in quartieri disagiati
Nessun metodo comune -->
continuamente in evoluzione
entusiasmo come unico tratto in
comune.
Il metodo
multisensorialità
sperimentazione
argomenti e tempi scelti dai bambini
non dai docenti (pull vs push)
no pressione
ambiente stimolante
one-on-one mentoring
Esempi vs
  parole
L’esperimento
Tre gruppi di studenti
selezionati come migliori
Tre docenti selezionati come
migliori Obiettivi di eccellenza


   Obiettivi raggiunti
L’esperimento
Tre gruppi di studenti
selezionati a caso
Tre docenti selezionati a caso
Obiettivi di eccellenza


   Obiettivi raggiunti
Cosa imparare?
 Problem Domain   Conventions Admin duties

PMP     Legacy code           Office space
Project Management                  Agile
                        XP TDD
CMMI     SOA         Domain Driven Design
               CQRS
    Web 2.0        EDA              Scrum
  Software Craftmanship              Kanban
          Back to Basics System Thinking
 Groovy
                   JQuery Git
                           User Experience
Ruby languages
     Scala Erlang Information Architecture
Possiamo farcela da
Organizational bandwidth
    Marketing
                                     another team




                              team


Domain Experts




                                             offshore team



                 Operations
Communication tools
Miglioramenti massivi sulle
forme di comunicazione e
condivisione
Convergere su una proposta è
un arte
Set di strumenti tipici
largamente insufficiente
FARE

IMPARARE
FARE

IMPARARE
Conclusioni

In cui il relatore, dopo aver sproloquiato tenta
                di tirare le somme
Eleviamo le aspettative:
possiamo fare di meglio
sappiamo fare di meglio
   è lecito chiedere di
          meglio
Mettiamo il nostro
  capitale umano in
condizione di fruttare
scimmiottar
         e?
scimmiottar
                   e?
...o osare
l’impossibi
le
scimmiottar
                   e?
...o osare
l’impossibi
le
smettiamo di
    imboccare il team
                             -Requisiti
             -Requisiti
   -      -Requisiti
Requisiti                 -Requisiti
                                  -
                               Requisiti
            -Requisiti -Requisiti
       -Requisiti
      -Requisiti
Capo,
ho un’idea!
Capo,
ho un’idea!
Capo,
ho un’idea!
Capo,
ho un’idea!
Ringraziamenti
Provato ed affamato, il relatore ringrazia e
     risponde alle domande del caso.
   alberto.brandolini@avanscoperta.it
            twitter: ziobrando

More Related Content

What's hot

Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingJacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingFrancesco Fullone
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.Jacopo Romei
 
Triboo WEBinar - L'Arte di presentare in PowerPoint
Triboo WEBinar - L'Arte di presentare in PowerPointTriboo WEBinar - L'Arte di presentare in PowerPoint
Triboo WEBinar - L'Arte di presentare in PowerPointtriboomanagement
 
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Pietro Di Bello
 

What's hot (10)

Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingJacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
 
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
 
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
 
Campus La Camilla - Progetto Scratch
Campus La Camilla - Progetto Scratch Campus La Camilla - Progetto Scratch
Campus La Camilla - Progetto Scratch
 
Agile software lifecycle
Agile software lifecycleAgile software lifecycle
Agile software lifecycle
 
Scratch 2.0 modulo didattico
Scratch 2.0   modulo didatticoScratch 2.0   modulo didattico
Scratch 2.0 modulo didattico
 
Oralità e scrittura
Oralità e scritturaOralità e scrittura
Oralità e scrittura
 
Triboo WEBinar - L'Arte di presentare in PowerPoint
Triboo WEBinar - L'Arte di presentare in PowerPointTriboo WEBinar - L'Arte di presentare in PowerPoint
Triboo WEBinar - L'Arte di presentare in PowerPoint
 
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
 

Viewers also liked

Emily M Term 3
Emily M Term 3Emily M Term 3
Emily M Term 3figjam_31
 
Enterprise-Class DSL In Groovy & Grails
Enterprise-Class DSL In Groovy & GrailsEnterprise-Class DSL In Groovy & Grails
Enterprise-Class DSL In Groovy & GrailsAlberto Brandolini
 
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...Rinat Abdullin
 
Service Oriented Agility @ Italian Agile Day - Bologna 2008
Service Oriented Agility @ Italian Agile Day - Bologna 2008Service Oriented Agility @ Italian Agile Day - Bologna 2008
Service Oriented Agility @ Italian Agile Day - Bologna 2008Alberto Brandolini
 
Drive your dba crazy in 3 easy steps
Drive your dba crazy in 3 easy stepsDrive your dba crazy in 3 easy steps
Drive your dba crazy in 3 easy stepsAlberto Brandolini
 
Fifty shades of fail - redefining success and failure from a lean perspective
Fifty shades of fail - redefining success and failure from a lean perspectiveFifty shades of fail - redefining success and failure from a lean perspective
Fifty shades of fail - redefining success and failure from a lean perspectiveFrancesco Degrassi
 
Writing Domain-Specific Languages in Groovy
Writing Domain-Specific Languages in GroovyWriting Domain-Specific Languages in Groovy
Writing Domain-Specific Languages in GroovyGuillaume Laforge
 
Buzzword Deathmatch: Agile vs SOA
Buzzword Deathmatch: Agile vs SOABuzzword Deathmatch: Agile vs SOA
Buzzword Deathmatch: Agile vs SOAAlberto Brandolini
 
Il Web design nella Pubblica Amministrazione in 10 passi
Il Web design nella Pubblica Amministrazione in 10 passiIl Web design nella Pubblica Amministrazione in 10 passi
Il Web design nella Pubblica Amministrazione in 10 passiMassimo Azzolini
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Alberto Brandolini
 
Il mercato 2 ruote nella second hand economy
Il mercato 2 ruote nella second hand economyIl mercato 2 ruote nella second hand economy
Il mercato 2 ruote nella second hand economyDoxa
 
Comparing different concurrency models on the JVM
Comparing different concurrency models on the JVMComparing different concurrency models on the JVM
Comparing different concurrency models on the JVMMario Fusco
 
Design leadership and experience management
Design leadership and experience managementDesign leadership and experience management
Design leadership and experience managementLuca Mascaro
 
Projections explained
Projections explainedProjections explained
Projections explainedYves Reynhout
 

Viewers also liked (20)

Emily M Term 3
Emily M Term 3Emily M Term 3
Emily M Term 3
 
Produzione software
Produzione softwareProduzione software
Produzione software
 
Enterprise-Class DSL In Groovy & Grails
Enterprise-Class DSL In Groovy & GrailsEnterprise-Class DSL In Groovy & Grails
Enterprise-Class DSL In Groovy & Grails
 
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...
SHA256E-s4653225--ef2748b2633ddfcaa46f215cc3d9bb9b4bc8bb05b6cacfa6f137c014e6e...
 
Service Oriented Agility @ Italian Agile Day - Bologna 2008
Service Oriented Agility @ Italian Agile Day - Bologna 2008Service Oriented Agility @ Italian Agile Day - Bologna 2008
Service Oriented Agility @ Italian Agile Day - Bologna 2008
 
Drive your dba crazy in 3 easy steps
Drive your dba crazy in 3 easy stepsDrive your dba crazy in 3 easy steps
Drive your dba crazy in 3 easy steps
 
Possiamo Fare Di Meglio
Possiamo Fare Di MeglioPossiamo Fare Di Meglio
Possiamo Fare Di Meglio
 
Agile Piano B
Agile Piano BAgile Piano B
Agile Piano B
 
Fifty shades of fail - redefining success and failure from a lean perspective
Fifty shades of fail - redefining success and failure from a lean perspectiveFifty shades of fail - redefining success and failure from a lean perspective
Fifty shades of fail - redefining success and failure from a lean perspective
 
Writing Domain-Specific Languages in Groovy
Writing Domain-Specific Languages in GroovyWriting Domain-Specific Languages in Groovy
Writing Domain-Specific Languages in Groovy
 
Buzzword Deathmatch: Agile vs SOA
Buzzword Deathmatch: Agile vs SOABuzzword Deathmatch: Agile vs SOA
Buzzword Deathmatch: Agile vs SOA
 
Il Web design nella Pubblica Amministrazione in 10 passi
Il Web design nella Pubblica Amministrazione in 10 passiIl Web design nella Pubblica Amministrazione in 10 passi
Il Web design nella Pubblica Amministrazione in 10 passi
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
Il mercato 2 ruote nella second hand economy
Il mercato 2 ruote nella second hand economyIl mercato 2 ruote nella second hand economy
Il mercato 2 ruote nella second hand economy
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Comparing different concurrency models on the JVM
Comparing different concurrency models on the JVMComparing different concurrency models on the JVM
Comparing different concurrency models on the JVM
 
Model storming
Model stormingModel storming
Model storming
 
Design leadership and experience management
Design leadership and experience managementDesign leadership and experience management
Design leadership and experience management
 
Context Mapping In Action
Context Mapping In ActionContext Mapping In Action
Context Mapping In Action
 
Projections explained
Projections explainedProjections explained
Projections explained
 

Similar to Software ...e tutto ciò che comporta

Blomming Lean Startup @ Better Software 2011
Blomming Lean Startup @ Better Software 2011Blomming Lean Startup @ Better Software 2011
Blomming Lean Startup @ Better Software 2011Nicola Junior Vitto
 
Master presentazione 1 come nasce un'idea
Master presentazione 1   come nasce un'ideaMaster presentazione 1   come nasce un'idea
Master presentazione 1 come nasce un'ideasculling77
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Carlo Beschi
 
20161216 Google Design Sprint & Design Thinking
20161216 Google Design Sprint & Design Thinking20161216 Google Design Sprint & Design Thinking
20161216 Google Design Sprint & Design ThinkingFrancesco Casale
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessRita Bonucchi
 
Installazione Software Applicativo
Installazione Software ApplicativoInstallazione Software Applicativo
Installazione Software ApplicativoADS - Regione Marche
 
Installazione Software Applicativo
Installazione Software ApplicativoInstallazione Software Applicativo
Installazione Software Applicativoguesta2d327d
 
Practicing design (unicatt+naba)
Practicing design (unicatt+naba)Practicing design (unicatt+naba)
Practicing design (unicatt+naba)Remo Ricchetti
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Nicola Costantino
 
Retrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalRetrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalPietro Di Bello
 
Come costruire un'azienda distribuita con Python
Come costruire un'azienda distribuita con PythonCome costruire un'azienda distribuita con Python
Come costruire un'azienda distribuita con PythonMaurizio Delmonte
 
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...InSide Training
 
ClueMapper: uno strumento Open Source per la gestione di progetti software co...
ClueMapper: uno strumento Open Source per la gestione di progetti software co...ClueMapper: uno strumento Open Source per la gestione di progetti software co...
ClueMapper: uno strumento Open Source per la gestione di progetti software co...Stefano Marchetti
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
 
L'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoL'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoextrategy
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Pietro Roversi
 

Similar to Software ...e tutto ciò che comporta (20)

Blomming Lean Startup @ Better Software 2011
Blomming Lean Startup @ Better Software 2011Blomming Lean Startup @ Better Software 2011
Blomming Lean Startup @ Better Software 2011
 
Master presentazione 1 come nasce un'idea
Master presentazione 1   come nasce un'ideaMaster presentazione 1   come nasce un'idea
Master presentazione 1 come nasce un'idea
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]
 
20161216 Google Design Sprint & Design Thinking
20161216 Google Design Sprint & Design Thinking20161216 Google Design Sprint & Design Thinking
20161216 Google Design Sprint & Design Thinking
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel business
 
Installazione Software Applicativo
Installazione Software ApplicativoInstallazione Software Applicativo
Installazione Software Applicativo
 
Installazione Software Applicativo
Installazione Software ApplicativoInstallazione Software Applicativo
Installazione Software Applicativo
 
Practicing design (unicatt+naba)
Practicing design (unicatt+naba)Practicing design (unicatt+naba)
Practicing design (unicatt+naba)
 
HCI to UX to HCI - Parte A
HCI to UX to HCI - Parte AHCI to UX to HCI - Parte A
HCI to UX to HCI - Parte A
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"
 
Retrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily JournalRetrospective, StandUp Meeting e Daily Journal
Retrospective, StandUp Meeting e Daily Journal
 
Come costruire un'azienda distribuita con Python
Come costruire un'azienda distribuita con PythonCome costruire un'azienda distribuita con Python
Come costruire un'azienda distribuita con Python
 
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...
Sai lavorare Agile? Un nuovo modo di pensare i progetti; un nuovo modo di lav...
 
Open domus 2016
Open domus 2016Open domus 2016
Open domus 2016
 
ClueMapper: uno strumento Open Source per la gestione di progetti software co...
ClueMapper: uno strumento Open Source per la gestione di progetti software co...ClueMapper: uno strumento Open Source per la gestione di progetti software co...
ClueMapper: uno strumento Open Source per la gestione di progetti software co...
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain model
 
Ux scrum e gilde...
Ux scrum e gilde...Ux scrum e gilde...
Ux scrum e gilde...
 
L'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoL'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svolto
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
 

More from Alberto Brandolini

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalitàAlberto Brandolini
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Alberto Brandolini
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Alberto Brandolini
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingAlberto Brandolini
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio managementAlberto Brandolini
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionAlberto Brandolini
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimationAlberto Brandolini
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkAlberto Brandolini
 

More from Alberto Brandolini (20)

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
 
La fatina dei denti
La fatina dei dentiLa fatina dei denti
La fatina dei denti
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
The alignment
The alignmentThe alignment
The alignment
 
Chasing elephants
Chasing elephantsChasing elephants
Chasing elephants
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 
The precision blade
The precision bladeThe precision blade
The precision blade
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
The sweet spot
The sweet spotThe sweet spot
The sweet spot
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimation
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talk
 
Event storming recipes
Event storming recipesEvent storming recipes
Event storming recipes
 
It's not simple at all
It's not simple at allIt's not simple at all
It's not simple at all
 

Software ...e tutto ciò che comporta

Editor's Notes

  1. Ok, Brando. Ti sei messo nei casini un’altra volta. Come puoi presentare un titolo così. Ho preparato l’argomento ed il risultato è:...
  2. Decisamente troppo
  3. Riduciamo ancora un po’ lo scope...
  4. ancora decisamente troppo.
  5. Ok, diciamo che non è “tutto” ma “qualcosa sotto ai nostri occhi a cui non sempre facciamo caso”
  6. Non vi tedio più di tanto con preamboli ...sapete già cos’è l’augmented reality.
  7. Quello che forse non tutti sanno è che non è una novità. Nel 1988 il fil Essi Vivono aveva già divulgato l’idea, che alcune devices permettessero di vedere qualcosa in più.
  8. Permettevano infatti di vedere ciò che ad occhi normali era precluso. Che la terra era in realtà popolata da DUE specie, di cui una decisamente non umana.
  9. Che si mescolavano ai normali umani anche se questi non erano in grado di riconoscerli.
  10. L’altro aspetto angosciante era la continua presenza di messaggi subliminali, ovunque. In giornali, cartelloni pubblicitari, televisione. Tutti orientati al mantenimento dello status quo.
  11. Obbedisci
  12. Non discutete l’autorità
  13. Applicato alla platea il risultato sarebbe qualcosa di simile...
  14. Il momento più imbarazzante della mia giornata è quando incontro un vecchio amico e mi chiede: “Brando, che lavoro fai?”. Gli altri alzano gli occhi al cielo o si dileguano… è lunga da spiegare, e non è affatto chiara. per cui sono andato a cercare qualche definizione ma non sono rimasto particolarmente soddisfatto.
  15. Anche sul webster… non c’entra granchè con quello che effettivamente faccio.
  16. La migliore definizione l’ho trovata in un bar. Un’illuminazione.
  17. E questo ci dà qualche risposta importante. Abbiamo del potere. Suscitiamo emozioni. magari non come Belen Rodriguez, ma meglio che niente!
  18. ma anche nella definizione di “Computer Program” c’è qualcosa di interessante. C’è l’idea di “ISTRUZIONI” in una forma che può essere COMPRESA.
  19. Non è tutto qui… perdonatemi. ma questa è la definizione di cui avevo bisogno ora :-)
  20. Questo, molto schematicamente dovrebbe essere il nostro lavoro. Trasformare il budget a nostra disposizione in valore per l’utente. Semplice ed encomiabile.
  21. Qualcuno è addirittura riuscito a fare soldi facendo questa cosa.
  22. Tuttavia per un sacco di motivi si cercano strade strane
  23. Che viste in maniera più realistica danno risultati sconfortanti.
  24. Possiamo parlare di successo o di fallimento?
  25. Se aggiungiamo una variabile… e la collochiamo al punto giusto, allora è un successo.
  26. Almeno per ora.
  27. Possiamo vedere altre variazioni sul tema… questa piuttosto diffusa.
  28. ma ovviamente non può essere messa in discussione.
  29. Eppure c’è qualcuno che sta facendo qualcosa di molto meglio. C’è chi sperimenta continuos deployment, chi fa scheduling aggressivo, chi parte con un progetto piccolo che si autofinanzia con il valore che genera immediatamente.
  30. Tutte queste cose migliorano il nostro modo di fare software, permettendoci di fare software più solido, in maniera più efficiente consistente e veloce. Ma il problema di fondo rimane sostanzialmente aperto.
  31. Qual è la cosa giusta da fare?
  32. Parco avventura: uno di quei posti tra gli alberi con corde e passaggi sospesi dove anche un ingegnere sovrappeso può sentirsi vagamente “Into theWild” una volta all’anno.
  33. … e di smaltire qualche caloria. :-/
  34. Ma la parte interessante è il fatto che ho portato con me mia figlia (o è stato il contrario...) che aveva esattamente l’età (6 anni) e la statura minima per accedere alla struttura. Ovviamente l’istruttore ci ha spiegato ed io le sono stato vicino per aiutarla...
  35. Ma sostanzialmente era necessario che imparasse a fare da sola. Spostando prima un moschettone e poi l’altro.
  36. Fino ad arrivare a compiere passaggi anche piuttosto difficili. Ora, perché vi mostro queste cose?
  37. Perché segretamente voglio che chiamiate il telefono azzurro? ...siamo di fronte ad un consulente che per dimostrare le sue teorie non esita ad usare la propria progenie come cavia. No, è perché in questa situazione ho visto qualcos’altro.
  38. Una regola semplice, ripetuta ad ogni passaggio. In maniera consistente.
  39. Una regola semplice, ripetuta ad ogni passaggio. In maniera consistente.
  40. Una regola semplice, ripetuta ad ogni passaggio. In maniera consistente.
  41. Una regola semplice, ripetuta ad ogni passaggio. In maniera consistente.
  42. Una regola semplice, ripetuta ad ogni passaggio. In maniera consistente.
  43. Vi ricorda qualcosa? A me ricorda molto il TDD. Ed il TDD ha avuto su me esattamente lo stesso effetto: mi ha permesso di muovermi “in sicurezza” anche quando ero goffo, quando ho sperimentato con linguaggi diversi da Java. Trovando il mio ritmo limitando i rischi.
  44. Vi ricorda qualcosa? A me ricorda molto il TDD. Ed il TDD ha avuto su me esattamente lo stesso effetto: mi ha permesso di muovermi “in sicurezza” anche quando ero goffo, quando ho sperimentato con linguaggi diversi da Java. Trovando il mio ritmo limitando i rischi.
  45. Vi ricorda qualcosa? A me ricorda molto il TDD. Ed il TDD ha avuto su me esattamente lo stesso effetto: mi ha permesso di muovermi “in sicurezza” anche quando ero goffo, quando ho sperimentato con linguaggi diversi da Java. Trovando il mio ritmo limitando i rischi.
  46. Ma il punto dell’esempio non è che cosa possa riuscire a fare una bambina di 6 anni. Ma quello che può fare un responsabile dell’ufficio vendite di un’azienda di serramenti in alluminio di Treviso che ci vediamo penzolare sopra la testa a 20 metri d’altezza lasciando un urlo disumano.
  47. … Credendosi un novello tarzan!!!
  48. Questi strumenti non servono solo per fare le veccie cose stando tranquilli. Servono a sperimentare, ad avere la tranquillità di tentare nuove strade.
  49. Vogliamo spingerci lontano.
  50. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  51. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  52. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  53. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  54. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  55. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  56. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  57. Anche chi si professa agile, in un modo o nell’altro deve fare i conti con il fatto che la maggior parte di queste cose sono decise prima di cominciare. - “Siamo un team Java” “Si lavora qui, lo so che stiamo un po’ stretti ma…” “Abbiamo già la licenza di SourceSafe” … senza renderci conto di quanto questo inibisca la nostra capacità di produrre qualcosa di sensato.
  58. Ma i punti fermi di oggi si trasformeranno nei vincoli di domani. Una delle definizioni che trovo più interessanti parlando di architetture software associa l’architetto alla capacità di prendere decisioni difficilmente reversibili, o il cui costo di reversibilità è più alto di quelle normalmente prese dal programmatore. Però ci sono decisioni ancora più irreversibili, che sono prese altrove e che impattano in misura ancora maggiore le possibilità di successo del progetto. Chi assumo? Con che contratto? Con che stipendio?
  59. Ciononostante, ignoriamo la contraddizione ed obbediamo.
  60. Ma la peggior cosa decisa in anticipo è il codice legacy. Il colore non è casuale. Le strategie più diffuse per la gestione sono:
  61. Il codice legacy è stato scritto da un’intelligenza suprema. Tanto tempo fa. Forse è sempre esistito. La maggior parte degli sviluppatori non sa esattamente a cosa serva.
  62. Il codice è una Big Ball Of Mud ma dobbiamo comunque lavorarci - ovviamente per AGGIUNGERE features. Chi becca il task o la story sbagliata dorme in ufficio, ma poi trascinerà anche i colleghi...
  63. Chi tocca muore. Cerchiamo sistematicamente di NON passare dal legacy, anche a costo di contorsioni. Nel codice o nella pianificazione.
  64. Mummificazione. Wrappiamo il legacy con strati e strati di codice che non serve a nulla. Così, invece che spostare una piccola mummia dobbiamo gestire una piramide.
  65. Ma hanno deciso così...
  66. L’ultimo approccio è ancora più radicale. Buttiamo via tutto. ...ma abbiamo i test?
  67. L’ultimo approccio è ancora più radicale. Buttiamo via tutto. ...ma abbiamo i test?
  68. In quale curvatura dello spazio tempo sono i miei soldi nel frattempo? Qualcuno si è reso conto dei costi che queste cose hanno sul sistema Italia?
  69. In questo scenario, la percezione che hanno le aziende sia che investire nell’I.T. sia sbagliato. Difficile dire che hanno torto, perché questa è stata la loro esperienza. Il fatto è che non è vero. Le aziende che investono BENE nell’IT possono trarre ENORMI benefici.
  70. All’ultima QCon a Londra Martin Fowler ha citato il dialogo tipico con uno sviluppatore. “Ciao cosa combini?” “Sto lavorando ad un nuovo progetto” “Figo, di che si tratta” “Di una Web application in Java” “Ok, ma che deve fare?” “Si interfaccia a dei servizi web attraverso un ESB, più qualche widget AJAX nel frontend” “…” Se non ci concentriamo su “a che cosa serve” il nostro software è difficile che si possa fare qualcosa di buono.
  71. Dove sta la complessità? In larga parte è intrinseca nel dominio. Poi c’è la complessità della nostra applicazione che finisce per innestarsi sopra al dominio, aggiungendo complessità tecnologica, realizzativa, architetturale, etc.
  72. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  73. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  74. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  75. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  76. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  77. Se siamo stati bravi - ma solo se siamo stati bravi - la maggio parte della complessità è nascosta all’utente, che nel suo percorso di interazione con il nostro sistema ne vede solo una porzione. Dal punto di vista della UX (grazie a Gianluca Brugnoli che mi ha illuminato sull’argomento) questi sono Touch Points. Dal punto di vista dell’applicazione sono Use Case. Sono la stessa cosa. ...non tutti i Touch Points sono Use Case però… alcune interazioni sono con il cassiere allo sportello, con il treno, etc.
  78. Ho un conto online che uso di rado. Ovviamente, ogni volta che devo usarlo sono dolori. Recupero la macchinetta diabolica che genera la one time password ed il documento della banca con le credenziali. la schermata mi dice inserire ID-qualcosa e la password. Il documento con le credenziali contiene ben 4 codici numerici di 8 cifre ciascuno chiamato ID-quacosaltro. Ovviamente li provo tutti. Nisba. Call center. Filiale (non nella mia città) per recuperare le nuove credenziali. Nisba. Call center. Scopro che id-qualcosa non è una cosa che è sul foglio ma è scritta nel retro del generatore di One Time Password in caratteri microscopici, proprio sotto la scritta “Made in China”… geniale.
  79. L’applicazione però funziona perfettamente. Chi si fa carico di questa cosa? Come è possibile coordinarsi per evitare che “eh, ma questo è un problema del customer-care”. Non ci interessa di chi è la colpa. Ci interessa che non succeda. La palla non deve toccare terra. Mai.
  80. Tra i vari processi Agili, Scrum è quello che si sbilancia di più sul problema. Dicendo che ci deve essere una sola persona responsabile del prodotto. E che il team deve avere tutte le competenze necessarie. Dentro il team, non come composizione di pezzi sparsi.
  81. … ma è un problema tutt’altro che banale, perché si tende a vedere questi ruoli come specialisti, ed ognuno ha le sue esigenze, di contratto, di calendario, di pianificazione, di spazi di lavoro. facile a dirsi.
  82. Spesso non abbiamo certe competenze, spesso non sappiamo nemmeno di non averle :-( Abbiamo bisogno di un Web Designer o di qualcuno che all’occorrenza lo sappia fare? Gli specialisti sono un GROSSO problema. Possiamo fare lavorare tutti nello stesso posto? E’ in superficie o sottoterra? Ci sono gli spazi e gli strumenti? Entra la luce? Quando sono disponibili le risorse? Chi le paga? Come? Quanto tempo ci mette l’amministrazione a preparare un contratto? E a rinnovarlo? E a pagare?
  83. Ma in genere non entriamo nel merito di queste questioni...
  84. Risultato abbastanza interessante. Credo che sia la meno capita. Il succo è “se riesci a definire una metafora del sistema allora lo hai capito in maniera sufficientemente profonda” ma anche “la metafora ti permette di capirlo più velocemente”. Che sia causa o effetto o entrambi il succo è “dovete capire bene che aggeggio è quello che state sviluppando, altrimenti state solo ammucchiando codice”.
  85. Il software “that matters” implica complessità ed apprendimento. Proviamo a vederla in un altro modo.
  86. Se è un processo di apprendimento, vorrei che fosse il più efficiente possibile. La prendo alla lean.
  87. L’apprendimento non è un processo lineare. In prima si imparano i numeri. Uno alla settimana. Ottimo, per non comprare il motorino a mia figlia quando avrà 14 anni mi basterà dirle “solo se mi dici quanto costa!”. In realtà non funziona così e probabilmente non c’è nemmeno bisogno di andare così lentamente. ma andare lentamente è NECESSARIO perché i bambini imparino correttamente. Qualcuno saprà contare fino a 20 o 50 già alla 4a settimana. Ma imporre quel ritmo sarebbe controproducente. E’ necessario lasciare lo spazio perché il bambino faccia quello “scatto” da solo. Altrimenti non lo farà mai e cercherà di imparare tutto a memoria...
  88. Idem per le tabelline. Io ho giocato con questo quadrato - che trovavo nell’ultima pagina del quaderno Pigna - fino allo sfinimento. Scoprendo che il 5 finisce sempre in 5 0 5 0 c’è una simmetria sulla diagonale la colonna del 9 è reversibile la diagonale dei quadrati ha tutte cifre distanti tra loro la progressione dei numeri dispari se mi sposto in diagonale da un quadrato, ho sempre un numero inferiore di 1 (es 49 --> 48) Per avere questo livello di conoscenza, giocare con la tabellina era fondamentale.
  89. Ok, siccome di apprendimento si tratta, sono andato a spulciare un po’ di materiale che in un modo o nell’altro mi è capitato sotto mano.
  90. La Finlandia è sistematicamente intesta alle graduatorie del PISA. Ha poche risorse naturali, ma produce conoscenza e tecnologia. Il loro sistema scolastico ha caratteristiche interessanti.
  91. Una recente ricerca negli stati uniti aveva il compito di individuare i metodi utilizzati dai migliori docenti. Si è scelto di studiare quelli che tiravano fuori il meglio, sia pure partendo dalle condizioni peggiori. Non è stato trovato nulla - no silver bullet - tranne il fatto che a questi insegnanti piacesse fare il loro lavoro e cercassero di farlo bene. O sempre meglio.
  92. Le scuole basate sul metodo Montessori hanno una filosofia particolare: usano dei grandi numeri di legno, per rendere i concetti concreti, permettono ai bambini di sperimentare le cose con grande libertà (acquisendo sicurezza). Sono i bambini a scegliere cosa imparare, e solo allora il docente interviene dando le informazioni necessarie.
  93. Questo esperimento invece prendeva in esame gli studenti di un college americano. 3 gruppi di 30 studenti, ad inizio anno, selezionati come “i più promettenti” per fare parte di classi di elite,con obiettivi di eccellenza. Assegnati a 3 docenti selezionati con lo stesso criterio. Obiettivi ampiamente raggiunti.
  94. A fine anno è stato detto agli studenti che in realtà erano stati scelti a caso. Anche i docenti erano stati scelti a caso. La motivazione ha fatto il resto.
  95. Quanta roba dobbiamo imparare per fare bene il nostro lavoro, quanta serve veramente? quanta serve ora? Quanta posso permettermi di ignorare? Quanta di sapere solo superficialmente?
  96. Le notti insonni con il libro aperto non sono più un’alternativa sostenibile. ma alcuni di noi sono parte di un gigantesco fenomeno di apprendimento collettivo, una comunità che impara simultaneamente e si coordina su twitter, una cosa io, una cosa tu. Non è una cosa da poco. Probabilmente è la prima volta nella storia che succede qualcosa del genere...
  97. ma per quanto possiamo essere bravi ed organizzati ad assorbire le informazioni, per molte ci scontriamo con la capacità dell’organizzazione di fornircele. In questo caso ho “stiracchiato” le mappe concettuali di DDD mettendo l’enfasi sulla “larghezza di banda” organizzativa. Quanta informazione può passare effettivamente tra due contesti diversi? Scrum dice di stare tutti assieme, ma non sempre si può e non possiamo fare finta che sia tutto perfetto.
  98. Purtroppo, anche mettendo tutte le persone nello stesso posto non è detto che si parlino. E anche se si parlano non è detto che si capiscano. Ed anche se si capiscono non è detto che si ricordino che cosa si sono dette. Eliminare il deliverable tradizionale come forma di comunicazione è una gioia, ma cosa usiamo per comunicare? una semplice conversazione? Siamo capaci di argomentare senza discutere? Di gestire i conflitti e di organizzare il consenso? E di farlo in tempi rapidi? Come si usa una lavagna? (la domanda è meno scema di quanto sembri). la sala riunioni è accessibile? Utile? Silenziosa? A volte dobbiamo inventarci gli strumenti di ragionamento.
  99. Alzata di mano: è più importante fare o imparare? ...cambiamo il panorama e ripetiamo la domanda...
  100. Nessuno si offenda (tra l’altro sono pregiati esemplari di cinta senese) ma se trattiamo il team in questo modo, buttando i requisiti … non otterremo granché.
  101. Sempre ammesso che si possa fare qualcosa di diverso. Ovviamente :-)
  102. Cosa ci manca perché si possa verificare un evento di questo genere?
  103. Cosa ci manca perché si possa verificare un evento di questo genere?
  104. Cosa ci manca perché si possa verificare un evento di questo genere?
  105. Cosa ci manca perché si possa verificare un evento di questo genere?