Italia !== Silicon Valley

4 June, 2011 (15:23) | rant, startup | 21 comments

“Grazie al ca@@o, non se n’era accorto nessuno, dovevi scriverci un post?”

No, é vero, non c’é bisogno di un post, ma penso che il problema sia profondo e debba essere analizzato meglio. Come tutti i sabati sono andato a prendere del sushi d’asporto, come tutti i sabati mentre aspettavo mi sono letto gli ultimi tweet, fra le mille cose questo post di Massimo Sgrelli ha catturato la mia attenzione, l’ho letto accuratamente e mi é partito il rant

Premesso che non conosco Massimo (male, mi piacerebbe conoscerlo), premesso che gli faccio comunque i complimenti per l’iniziativa (parlare é facile, fare lo é decisamente meno), premesso che la digestione del sushi non aiuterà le mie capacità cerebrali, devo dire che non concordo per niente con quello che ha scritto, ma proprio per niente

[...] mi accorgo che anche da noi alcuni paladini visionari del mondo che sta arrivando sono impegnati anima e corpo nella creazione di strutture in grado di coltivare e diffondere la cultura delle startup: Riccardo Donadon, Luigi Capello, Francesco Inguscio, Emil Abirascid e tanti altri ancora. Ognuno di loro sta sperimentando modi diversi per far maturare il nostro tessuto imprenditoriale giovanile nella convinzione che il prossimo Skype possa nascere e diffondersi a partire anche dall’Italia

Stiamo scherzando? Ma quale Skype? Ma quale Facebook? Ma quale Twitter? Qui non ci sono le risorse per fare bene neanche il sito del mio salumiere!?!?! Faccio notare che tutti questi signori hanno un modello di business a perdere, nel senso che per anni bruciano quantità inimmaginabili di denaro sia per acquisire che per mantenere un numero sempre maggiore di utenti per il semplice fatto che milioni di utenti hanno un valore a se stante, un valore che prescinde dal servizio erogato.

Questi dovrebbero essere proprio gli esempi da evitare, per tre ragioni:

  • In Italia quel tipo di soldi per queste cose non ci sono e non ci saranno (sicuramente non nei prossimi anni), e anche se ci fossero prego tutti gli Dei degli uomini che non vengano utilizzati per questo. In Italia abbiamo bisogno di successi, tanti successi, abbiamo bisogno di dimostrare che investire in questo settore può essere una concreta forma di guadagno. Dirò di più, anche un grande successo isolato non sarebbe utile, per dare fiducia serve continuità e metodo, di SuperEnalotto ne abbiamo già uno e ci basta
  • Se di soldi da investire ce ne sono pochi, e penso che su questo siamo tutti d’accordo, logicamente scegliereste tanti piccoli investimenti in business concreti portati avanti da persone che hanno alle spalle anni di successi professionali, o in pochi e grossi investimenti in idee “geniali” dove se ti va bene fai il botto? Ripeto, già ce l’abbiamo il SuperEnalotto
  • Questi business sono parassitari, lo scopo é quello di accumulare utenti per poi venderli (sto parlando dei loro dati ovviamente) al miglior offerente. Insomma fuffa che verrà usata per vendere altra fuffa, ecc…, come ho già detto più volte non sono un economista, ma il mondo non può campare di social network, il mondo non può vivere di veline, ci vuole quello che zappa la terra e tira fuori le patate (ops… velina… patata, giuro che non era intenzionale), questa é l’economia del nulla, é l’economia del cravattato duepuntozero. Possiamo andare oltre ed investire in business che creano valore per chi li usa?

Io mio rendo conto che la differenza maggiore tra noi e gli USA sta nel fatto che il processo di maturazione del talento imprenditoriale e l’ingresso nel mondo del lavoro dall’altra parte dell’oceano inizia molto prima che da noi. A 22 anni le persone sono già da qualche tempo in campo, il riscaldamento è ormai fatto ed i muscoli sono già ben visibili. Le persone a quell’età hanno già il fiato e la determinazione sufficiente a reggere l’intera partita e forse anche i supplementari. Allora mi chiedo se non ci sia un modo per affiancare al lavoro che i vari incubatori stanno facendo un modello diverso di “training” dei talenti, una palestra sul mondo del lavoro che li prepari a cambiare il sistema con la forza e determinazione dei big. Prendere i giovani 24 o 25-enni non è forse sufficiente, perché la loro vena creativa e forse anche di incoscienza è in fase troppo avanzata e si è quasi tutta consumata nelle aule dell’università

Ho i brividi ovunque e giuro che il sushi non c’entra. Penso che in Italia le risorse siano poche, non c’é spazio per il prossimo social network, ne per i mash-up dei social network già esistenti :-). Penso che in Italia ci sia bisogno di successi rapidi e concreti, di progetti con modelli di business win/win == l’utente paga X perché tu gli fai guadagnare/risparmiare Y dove Y >> X. Penso che in Italia i 19-enni buttati allo sbaraglio nel mondo dell’informatica abbiano fatto sufficienti danni (mi ci metto dentro anch’io), non abbiamo bisogno di altri 19-enni, abbiamo bisogno che quei pochi 30/40-enni che sono restati si mettano insieme e dimostrino che l’eccellenza fa la differenza, abbiamo bisogno che quei pochi 30/40-enni che sono restati passino la loro conoscenza a quei 19-enni la cui unica colpa é quella di non sapere di non sapere. Penso che in Italia non ci sia assolutamente bisogno di creatività, non c’è bisogno d’inventarsi cose nuove, basterebbe fare bene le migliaia di servizi che ad oggi sono implementati in maniera oscena, quelle stessi servizi che invece di creare valore sono dei debiti senza fine.

Insomma, l’Italia non é la Silicon Valley e fin qui ci siamo, quello che volevo dire é che sarebbe un errore gravissimo tentare di diventarlo, non ci sono neanche lontanamente i presupposti minimi, possiamo fare cose meravigliose ma dobbiamo partire da quello che abbiamo e dobbiamo sfruttarlo al massimo, vedetela così, costruireste un palazzo di 40 piani su delle fondamenta di legno marcio?

Il cravattato

6 October, 2010 (22:50) | programming | 20 comments

Chi è costui? Nell’ultimo post ho attaccato apertamente questa figura, quindi per dare la possibilità al lettore di capire se sto parlando di lui o meno ho pensato di descrivere un po’ meglio questo grottesco personaggio.

Uso il termine “cravattato” in tono dispregiativo per identificare quella classe di “colletti bianchi” che si piazza fra chi produce valore, chi lo vende e chi lo finanzia. Questi sono i giocatori principali della partita, in un mercato libero, colto, virtuoso e meritocratico anche il venditore potrebbe essere eliminato (cosa che si sta verificando sempre più spesso nel nostro ambiente), gli altri fanno da supporto.

Il “cravattato” è un ruolo che è stato sapientemente ingegnerizzato nel tempo. Di seguito alcune sue caratteristiche peculiari

  • E’ in una posizione di potere ma spesso non ha competenze specifiche, vedi il principio di Peter
  • Comanda, ma trova sempre chi è responsabile al posto suo
  • E’ ammaestratore della burocrazia aziendale
  • E’ maestro delle cerimonie delle metriche
  • E’ un anello forte della catena del nulla

Certo, persone di questo genere se ne trovano ovunque, qual’è il problema? Il mio problema è che nel mondo del software (quello conosco, di quello parlo e quello m’interessa migliorare) sono veramente numerosi

La presenza di cravattati nel mondo del software dipende sicuramente dall’impalpabilità del prodotto e dalla difficoltà nel misurarne il valore nel breve periodo. Il cravattato quindi è nato come un indispensabile tramite fra l’investitore e il programmatore, nel seguito è degenerato inglobando e nascondendo all’investitore i meccanismi di produzione del valore. Devo ammettere che le ragioni storiche della loro proliferazione probabilmente devono essere ricercate in una inadeguatezza e immaturità nella figura dello sviluppatore, ma oggi è la loro presenza uno dei freni nello sviluppo di questa professione, perchè?

Perchè i numeri sono molto più facili da gestire rispetto alle competenze individuali, assemblare un team di professionisti sarebbe, al confronto, assurdamente complesso e probabilmente al di fuori della sua portata. La proprietà fondamentale che deve avere lo sviluppatore è la gestibilità, perchè quello è il lavoro del “cravattato” e quindi lo sviluppatore deve essere:

  • Moderatamente competente, possibilmente con competenze mirate in modo che non possa vedere l’inadeguatezza del tutto
  • Moderatamente costoso, così da poterne comprare di più diminuendo contemporaneamente il budget (vedi sopra alla voce “maestro delle metriche”)
  • Giovane e manipolabile, sopratutto non deve essere conscio del proprio valore, ovvero non deve sapere quello che ho scritto nel post precedente
  • Facilmente intercambiabile, così che non possa sfruttare nessuna leva, ne nei confronti del cravattato, ne nei confronti dell’azienda

Ovvero, affinchè il cravattato possa fare bene il suo lavoro il programmatore deve essere mantenuto mediocre. L’eccellenza, qual’ora crescesse spontanea della passione dei pochi, non verrebbe ripagata, strati e strati di cravattati filtrerebbero il flusso di valore prodotto in modo che chi di dovere non sappia mai chi ne è l’artefice.

Tutto questo mi fa incazzare, non solo perchè sono un programmatore, ma anche perchè sono conscio del fatto che buona parte dei soldi che spendo tutti i giorni vengono consumati dai cravattati, ovvero dai parassiti dei flussi di valore.

Tutto questo mi fa incazzare ancora di più perchè da che mondo e mondo l’intermediario dovrebbe prendere una piccola parte della transazione, non il 70-90% (mia valutazione assolutamente spannometrica derivata da esperienze professionali)

Tutto questo mi fa incazzare ancora di più perchè da che mondo e mondo l’intermediario è al servizio degli intermediati, secondo quale logica l’intermediario dovrebbe essere il “capo” di una delle due parti? Secondo quale logica la capacità produttiva dovrebbe essere limitata per favorire l’intermediario?

Concludendo: ben venga la figura dell’intermediario, ben vengano le figure di supporto, ben venga tutto l’aiuto possibile, purchè non ci si dimentichi una cosa: nel mondo della produzione del software l’elemento principale è il programmatore, tutto il resto è eliminabile, che vi piaccia o no :-)

Non so niente di economia, ma…

3 October, 2010 (17:31) | programming | 20 comments

una cosa l’ho capita, il potenziale di un buon programmatore è stratosferico, talmente alto da essere considerato da molti una minaccia alla propria posizione di potere, talmente pericoloso da aver innescato (a partire dagli anni 90) un lavoro mediatico atto a denigrare l’immagine stessa della nostra professione. Vi spiego il perchè

Prendiamo in considerazione l’esempio di una casa automobilistica che chiameremo X e dell’azienda Z fornitrice di tappetini per la automobili prodotte da X. Z è felice di avere un cliente così importante che gli procura tanto lavoro, ma Z è anche preoccupata perchè qual’ora X dovesse decidere di cambiare fornitore si ritroverebbe con una montagna di tappetini che sul mercato non valgono niente

X è molto felice perchè tiene per le palle Z

X: Quanto ti costa produrre un tappetino?
Z: 4,5
X: Bene, te ne do 5 e ringraziami
Z: …ok (pensando: come faccio a piazzare 500.000 tappetini per quel modello d’automobile?)

X sa il fatto suo, tiene in casa solo l’assemblamento delle parti più importanti in modo che i singoli fornitori non possano avere un mercato, ovvero non possano avere acquirenti se non loro o le case automobilistiche che comunque applicherebbero a Z lo stesso tipo di politica e quindi non costituirebbero una valida alternativa

Cosa succederebbe se X avesse un fornitore W in grado di produrre un’intera automobile da zero? Rivediamo la conversazione di cui sopra

X: Quanto ti costa produrre un’automobile?
W: 4.500
X: Bene, te ne do 5.000 e ringraziami
W: AHAHAHAHAHAHAHAHAHAHAHAHAHA (pensando: sul mercato tu le vendi a 65.000, a questo punto mi conviene vendermele da solo le MIE macchine)

Eh si, X si è trasformato in un mero venditore, in questo caso W tiene per le palle X, infatti nessun imprenditore sano di mente farebbe mai una cosa del genere… aspetta un momento però… è esattamente quello che succede nel mondo del software (C.R.A.V.A.T.T.A.T.O? Lo senti vero? Lo senti che il tuo momento si avvicina? Stiamo arrivando baby, stiamo arrivandooo…)

Dopo vent’anni di fallimenti il cravattato si deve arrendere, la produzione industriale del software non funziona, il software lo produce chi lo scrive, non ci sono cazzi, ad oggi lo capirebbe anche una scimmia lobotomizzata, ma perchè c’è voluto così tanto? Semplice, perchè sarebbe come ammettere che i programmatori non sono come Z ma sono come W, una cosa semplicemente inaccettabile

Chiaro, i tempi non sono ancora maturi, per due ragioni:

  • Il cravattato venderà cara la sua pelle
  • Ad oggi di programmatori che hanno una professionalità tale da creare in autonomia un prodotto completo ce ne sono ancora troppo pochi, non abbiamo l’identità e l’orgoglio professionale che la nostra professione si merita, di strada da fare ne abbiamo ancora molta purtroppo

Ma la realtà delle cose è questa, quindi vi faccio una domanda: volete essere tenuti per i coglioni o volete tenere per i coglioni? Il vostro potenziale è infinito, nel ventunesimo secolo l’uomo che sussurra alle macchine è Re

I Kanban sono Agili?

12 September, 2010 (17:10) | agile, lean | 5 comments

Leggendo un commento di Piergiorgio e un post di Tony entrambi riferiti al mio ultimo post, ho capito che probabilmente non mi sono spiegato bene sulla faccenda del “poco Agile”, termine che suona molto vicino all’offesa :-)

Parto quotanto la parte incriminata

Per ogni fase ci possono essere un numero limitato di user stories, in questo modo si possono facilmente identificare eventuali stalli, fasi problematiche, sprechi di vario genere ecc…, peccato che tutto questo sia molto lontano dall’essere Agile… perchè? Semplice il limite è imposto sulle fasi, si presuppone quindi che ogni fase sia un sottosistema dimensionabile a piacere per equilibrare il flusso delle user stories fino al loro completamento, una fabbrica insomma, alla fine siamo tornati al waterfall (il cravattato ci prova sempre, non c’è niente da fare)

Molto più Agile e sensato sarebbe limitare la capacità produttiva del team sulle dimensioni del team stesso, banalmente una user story per sviluppatore, al limite per coppia di sviluppatori. Ad ogni sviluppatore assegnamo una calamita, le user story appese alla lavagna sono in lavorazione, una user story può essere appesa usando solo una di quelle calamite, una calamita può essere usata solo con una user story alla volta ed il gioco è fatto. Le fasi possono essere ancora conservate, possono essere utili per stanare certi problemi, ma l’enfasi dovrebbe essere sugli sviluppatori e non sulle fasi (“Individuals and interactions over processes and tools” vi ricorda qualcosa?)

Premettendo che ognuno può fare quello che vuole (ammesso che ne paghi direttamente le conseguenze), sarebbe meglio che lo facesse sapendo quello che sta facendo e perchè lo fa. Quello che ho notato è che chi ha adottato le Kanban Board lo ha fatto senza porsi delle domande fondamentali: qual’è l’oggetto della limitazione? Qual’è la misura del miglioramento? Come misuro la capacità produttiva del mio sistema? Ecc…

Ok lo ammetto, è una mia supposizione il fatto che la maggior parte non si ponga queste domande. Questa supposizione derivata dal fatto che mi sembra applicata troppo “by the book”, dove il “book” non riguarda affatto la produzione del software ma una catena produttiva manifatturiera.

Le Kanban Board nel mondo del software generalmente sono divise per fasi e la limitazione è applicata appunto su queste fasi, perchè? Partendo dal presupposto che lo scopo è quello di stabilizzare e velocizzare il flusso delle user story nelle varie fasi, stiamo dicendo che è possibile “dimensionare” ogni fase a piacere? Quindi, per esempio, chi sviluppa non fa deploy di quello che ha sviluppato? Evidentemente, altrimenti non si spiega perchè la fase dello sviluppo è dimensionato a 5 user story e il deployment a 1

Sempre a proposito delle fasi, negli impianti manifatturieri il fatto che ogni fase sia limitata è una coseguenza banale del fatto che le linee produttive sono per loro natura limitate, ma vale la stessa cosa nel software? Nel nostro team siamo in 5, non possiamo essere nella fase di test tutti e 5? O non possiamo fare deploy tutti e 5? Perchè? A meno che non ci siano 3 analisti che si occupano della fase di analisi, 5 sviluppatori che si occupano della fase di sviluppo, 2 persone che si occupano dei test, ecc… Allora sarebbe un’altra storia, ma trattare il team a dipartimenti specializzati e ridimensionabili a piacere è quello che vogliamo? Personalmente mi fa venire la nausea, ma basta esserne consapevoli

Domanda ancora più importante: il total flow in questo caso come lo si immagina? O meglio, qualcuno misura il Lead Time? Domanda lecita visto che non ne sento molto parlare, almeno non tanto quanto sento parlare di Kanban Board, e visto che la riduzione del Lead Time dovrebbe essere l’obiettivo finale…

Insomma, non vorrei che il seguire una moda possa fare più male che bene, sopratutto quando non ci si prende la briga di studiarla, di comprenderne il funzionamento e sopratutto senza domandarsi come misurare il miglioramento secondo i propri obiettivi. In particolare l’applicazione classica per fasi mi sembra pericolosa da questo punto di vista e suggerivo un’alternativa che mi sembrava meno rischiosa. Dato che l’approccio è di tipo sistemico, una volta messa in campo una Kanban Board “storta” si corre il rischio di stortare tutto :-)