June 2008 Blog Posts

Creatività & profitto

Ok, storie di artisti vissuti in povertà non mancano e forse nemmeno di grandi inventori "sfortunati". Per stare nel nostro campo (l'informatica)  Sir Clive Sinclair  la dice lunga :D    -    Altrettante le storie di artisti popolari e dalle opere determinanti quanto gli inventori di successo. I successi raggiunti con la creatività quali caratteristiche hanno in comune   ??? Mi vengono in mente successi nella architettura, nell'arredamento, nella moda, nella pubblicità, nelle auto sportive e di lusso    (( ( l'Italia ha una forte tradizione in questi settori ) ))    in cui creatività si traduce in prodotto     La frase più in tema che ho in mente  "il compito del design è di stare...

Passionate Teams, cooperative customers

  Riporto queste slide di Claudio Perrone sulla agilità, la comunicazione efficace e l'approccio creativo. Interesanti !  Non sarebbe stato male andare in svezia e assistere all'intera presentazione ;-)   | View | Upload your own   Tags :  Team Work | Agile | Team | Comunicazione | Cliente | Creatività |

Anche l'informatica ha un cuore

  Mi annoto 2 frasi di Michael Atiyah dall'articolo di ieri sul corriere La matematica ha anche un cuore L'informatica nasce come branca della matematica dalle ricerche sui fondamenti della matematica e dagli studi sulla calcolabilità di funzioni (es. numeriche finite, infiniti e infinitesimali e logiche) e quindi ce la metto dentro ;-)    « Il matematico persegue la propria indagine per ragioni non troppo diverse da quelle per cui il pittore dipinge o il musicista compone »  « In matematica, come nell' arte, non c' è alternativa allo scambio intellettuale tramite cui si tramandano le tecniche, la conoscenza di base e lo spirito di...

Situazioni da team: un compito improbabile

  Hanno assegnato al tuo collega una User Story  o un task di sviluppo e lui valuta che skill esperienza conoscenze che servono non corrispondono abbastanza alle sue. Gli input che gli servono molto probabilmente non riuscirà ad averli neanche da altri colleghi o qualcun altro. Cosa gli consigli di fare? Per il successo del progetto e per lui. Update 27/06/2008: idee dai commenti Sintesi personale dai commenti, ecco due possibili alternative  - vai dal manager e glielo dici, se insiste accetti la situazione (sperando che faccia tesoro di un fallimento e sperando di non perdere troppo la tua credibilità verso gli utenti/clienti) - insisti per essere affiancato o per avere il tempo di apprendere e in caso negativo rinunci a prenerti in...

Perché passare a soluzioni "ASP.NET REST-ful"... IMHO!!!

Segnalo questo post interessante e di taglio pratico su REST : Perché passare a soluzioni "ASP.NET REST-ful"... IMHO!!!

DryadLINQ data parallel applications (spocchia da developer ?)

  Un altro progetto molto interessante di Microsoft Research, DryadLINQ : Dryad provides reliable, distributed computing on thousands of servers for large-scale data parallel applications. LINQ enables developers to write and debug their applications in a SQL-like query language, relying on the entire .NET library and using Visual Studio.   Questa frase mi è sembrata un po' spocchiosa come se la semplicità non fosse un valore, o ho frainteso ? The goal of DryadLINQ is to make distributed computing on large compute cluster simple enough for ordinary programmers.   Stiamo parlando di programmazione parallela a Single instruction stream, Multiple data stream su sistemi distribuiti. Cioè secondo...

Un progetto Microsoft Research sul multi-threading

  Il progetto di Microsoft Research si pone l'obiettivo di realizzare una libreria per supportare un modello di programmazione chiaro e consistente per l'accesso concorrente a risorse condivise tra 2 e più thread. Il progetto si chiama C# Software Transactional Memory (SXM), alcune estratti dalla descrizione: The SXM is a software transactional memory package written in C#... Threads synchronize by means of memory transactions, short-lived computations that either commit (take effect) or abort (have no effect)... - - - Un altro progetto di Microsoft Research sempre sulla programmazione multi-threading  è AME: Automatic Mutual Exclusion, dalla descrizione sembra quasi un approccio di baby-sitting del developer. Ecco alcuni estratti della descrizione:...

Situazioni da team: azzardi tecnologici

  Un tuo collega per passione, per curiosità, per interesse o per semplice aggiornamento professionale decide di sperimentare in un progetto  per un cliente alcune soluzioni tecnologiche che non conosce e quindi non ha una ragionevole certezza di padroneggiarle a sufficenza. Lo ritieni un comportamento professionale? Cosa faresti al suo posto ?   Update 21/06/2008: idee dai commenti Sintesi personale dai commenti - trovo che emerge una varietà di almeno 4 possibili risposte / comportamenti - Il cliente non deve pagare sotto alcuna forma la mia inesperienza ed io non posso legare il mio successo professionale ad una botta di fortuna o di sfortuna.  Lo studio e...

Due definizioni equivalenti di buon disegno

  Flessibile riesco a fare una modifica intervenendo localmente in parti isolate del codice Robusto faccio una modifica del codice e questa incide solo sulle parti strettamente/logicamente correlate del programma Riusabile riesco facilmente ad estrarre dal codice le funzionalità per riutilizzarle Basso accoppiamento: la dipendenza dei componenti software del sistema da altri componenti software del sistema è bassa Alta coesione: i componenti software del sistema possono collaborare tra di loro in svariate combinazioni per ottenere nuove funzionalità .     Tags :  Progettazione Software |

Situazioni da team: disaccordo sulla architettura

Per lo sviluppo di una funzionalità gli altri membri del team concordano su una soluzione architetturale che detesti, cosa fai ?  Update 17/06/2008: idee dai commenti cercherei di capire perchè il team stia facendo quella scelta e perchè la trovino più adatta a quella che farei io Dopodiche calcolo a spanne il guadagno che la mia soluzione avrebbe rispetto a quella proposta e valuto di conseguenza se vale la pena portare altri argomenti alla discussione o se non convenga lasciare perdere ...

Comunicazione & dialogo

  Mi annoto queste cose che mi sono venute in mente pensando al dialogare - trovo che sono complementari - che si sostengono a vicenda   capacità di persuadere  e  apertura all'essere persuaso asserire e sostenere la propria posizione e essere capaci di vedere il valore che c'è in altre posizioni saper decidere in autonomia e saper condividere la decisione con chi ne avrà conseguenze misurare l'efficacia della comunicazione con i risultati che produce e accettare che l'altro è una variabile indipendente essere un agente del cambiamento e cambiare se stessi     Tags :  Team Work | Comunicazione | Team building |

Creatività collettiva

  E' un gioco di parole, un neologismo in lingua inglese,   sc enius invece che   g  enius: "Scenius sta per intelligenza e intuizione di un'intera scena culturale. E' la forma collettiva del concetto di genialità." ...Individui immersi un uno scenario prolifico fioriranno e produrranno le loro opere migliori. Sostenuto dalla scena agirai come un genio. I tuoi simili e l'intero ambiente ti ispirerà... Il padre di questo neologismo è Brian Eno, e per chi non lo conosce basta dire ad esempio U2, X-Files, Coldplay e anche il suono di avvio in Windows95 Riporto altre frasi :   The geography of scenius is nurtured by several factors: •  Mutual appreciation...

L'intelligenza che emerge dalla rete

Negli anni '80 Marvin Minskey diffonde la metafora di mente come rete di agenti privi di mente , si osservano colonie di formiche da cui collettivamente emergono comportamenti intelligenti. Una form adi Intelligenza collettiva. Uno dei primi esempi è Game of Life di John Conway apparso intorno agli anni 70 da cui si possono osservare schemi complessi che emergono dall'implementazione di regole assai semplici. Qui la descrizione: http://it.wikipedia.org/wiki/Gioco_life_di_Conway E qui una implementazione eseguibile on-line: http://www.bitstorm.org/gameoflife/ Boids di Craig Reynolds , è una evoluzione di Life e simula il volo di uno stormo di uccelli. Qui è descritto ed è possibile vederlo in azione : http://www.red3d.com/cwr/boids/...

Incoraggiare la creatività, casi reali (continua ancora)

Queste parole sono di Microsoft     Fredom to take risks                       Do something unexpected, try something new, and you’ll be applauded for it–even if it falls flat. One of the most important beliefs we have is that really great ideas happen when people make bold moves. So you won’t be razzed if you try something crazy, because it just might work. There’s a history of idea incubation and risk-taking here. That’s the benefit of having the resources of an industry leader in your corner. E questi due piccoli esempi: - Tour Photosynth and SeaDragon - Roundtable Discussion: Future   Tags :  Aziende | Creatività | Innovazione |

Ma Turing che c'entra con la progettazione di applicazioni multi-threading?

  Oltre alle già affascinanti conseguenze del teorema di teminazione di Turing , alcune di queste riguardano direttamente la programmazione multi-threading. Dal teorema di terminazione deriva che non esiste un programma/tool/macchina capace di analizzare del codice e riuscire sempre e comunque a indicare se si bloccherà per deadlock oppure no.   Certo esistono tool che analizzano staticamente il codice e riescono a tracciare il grafo di allocazione delle risorse evidenziando i circuiti sul grafo, ma nulla il tool può dire se ci sono le condizioni o meno perchè a run-time questi circuiti potenziali possano accadere e causare un deadlock o meno. Diavolo di un Turing!   Tags...

Incoraggiare la creatività, casi reali (continua)

  Anita Roddick  fondatrice  di Body shop (The Body Shop) sul rischio dice Penso che il rischio non piaccia a nessun imprenditore, che sia uno di quei miti che girano sul mondo degli affari. Il nuovo imprenditore, oggi, si la scia guidare maggiormente dai valori: se fa quello che agli altri sembra riscchioso è perché è convinto di farlo. Può darsi che altre aziende dicano che sto correndo dei rischi, ma questa è la mia strada e a me non sembra rischiosa Il rischio, come la bellezza sta nell'occhio di chi osserva. La variabile nascosta, in questo caso, è il coninvolgimento personale.   Fu cosi ad esempio che...

Programmi più intelligenti del proprio programmatore ?

  Sembra di no, che non sia possibile.        Anche nei vecchi film di fantascenza si trovano robot, androidi, programmi di intelligenza artificiale o "semplici" programmi degli scacchi che riescono a essere intelligenti quanto il loro geniale programmatore e non di più Anche dall'esperienza professionale quotidiana sembra che no. E alpiù sarebbe dannoso. Il lavoro del programmatore è creare del codice che si comporta esattamente e solo in modo aspettato e cioè che corrisponde alle specifiche date. Qualsiasi differenza è ... un bug. E la sua professionalità consiste nella abilità di addomesticare il codice alla prevedibilità.   Dall'informatica si sa invece che : il comportamento di un computer/programma non è _in_generale_...

Incoraggiare la creatività, casi reali

  Tom Melohn da presidente della North America Tool and Die (NATD) ha portalo l'azienda a incrementare le vendite del 25% annuo e a produrre un utile sul capitale investito pari a quello delle maggiori aziende americane. Alla radice di questo cambiamento l'incoraggiamento delle persone a    correre dei rischi in termini di creatività.      Fonte: Lo spirito creativo, D. Goleman Tags :  Team Work | Leadership | Aziende | Creatività | Innovazione |

Libro: Object-Oriented Reengineering Patterns

Segnalo il post di Antonio Ganci sul libro Object-Oriented Reengineering Patterns disponibile online on pdf e ordinabile in formato cartaceo: http://blogs.ugidotnet.org/AntonioGanci/archive/2008/06/09/92985.aspx Contiene la prefazione di Martin Fowler e una recensione di Kent Beck. Rilancio qui la considerazione proposta nei comments ad Antonio Lo scopo del disegno è rendere una applicazione facile da evolvere e modificare: - ha senso distinguere il design dal redesign ? - imparare il design non dovrebbe significare imparare a fare redesign cominciando con applicazioni legacy ?  

Bruce Sterling intervista Alessandro Ludovico

            ...

Essere italiani è di moda. E' ufficiale !

Era il 1980 quando i Blondie cantavano per la colonna sonora di American Gigolò 'Call Me' Per il testo della canzone l'italiano era insieme al francese una lingua per pronunciare frasi d'amore. Sfogliando una rivista londinese di design scopro che l'italiano nel 2008 è la lingua della nazione dove è nato il grande design. Cosi dice una pubblicità sulla rivista inglese sotto una grande fotografia dove descrive il prodotto in candido italiano e due righe sotto lanconicamente in inglese: "If you don't speak the language of the county where great design was born, please look up PizzaKobra ai iGuzzini.com" Una scelta di comunicazione cosi sfacciata da giustificare...

SOA + ROA + Mobile Agent = ?

La Service Oriented Architecture si poggia sulla facilità per un sw di inviare la richiesta di un servizio a un sw su un sistema autonomo e remoto. E ricevere pure la risposta! La Resource Oriented Architecture si poggia sulla facilità di accedere a risorse distribuite e ottenerne in locale la copia fedele che il sw può elaborare. Ma cosa fare quando le risorse sono anche sparse, ingombranti da trasmettere e lontane da chi esegue il sw ? Fanno il loro ingresso i Mobile Agent, sw che possono migrare da un nodo all'altro della rete e fare una elaborazione accedendo anche ai dati...

Oltre la gerarchia, casi reali (continua)

  La assicurazione Amex Life Assurance era una azienda che reagiva molto lentamente alle esigenze dei clienti con risultati disastrosi. L'azienda era strutturata secondo una rigida gerarchia e una scarsa comunicazione tra reparti e livelli differenti. Sarah Nolan (Sarah M. Nolan) intervenendo sull'organizzazione gerarchica riusci a ridurre drasticamente il tempo di reazione e a incrementare i profitti del 700%. Insieme a 5 dirigenti si fece assegnare un nuovo ufficio completamente vuoto staccato dall'edificio principale e insieme si trovarono difronte all'incarico di reinventare una divisione.  Al termine del lavoro i livelli della gerarchia furono ridotti da 10 a 3, le rigide distinzioni di mansioni furono...

Programmazione OO, una definizione alternativa

  La definizione di programmazione Object Oriented più diffusa è quella che si poggia su polimorfismo, ereditarietà e incapsulamento. Ha quel che di misterioso e intangibile che mi ha sempre affascinato e incuriosito. Esiste anche un modo alternativo di definire programmazione Object Oriented che ha il fascino della praticità e del quotidiano   ed è la somma di tre stili di programmazione.  Il primo è lo stile di programmazione modulare (conosciuto anche come principio di data hiding) in base al quale una struttura data e le procedure che la elaborano (stato e comportamento) formano un modulo dentro cui restano nascosti i dettagli implementativi.  (vedi sul wiki) Il secondo è lo stile...

Oltre la gerarchia, casi reali

  Alla SAS le compagnie aree scandinave (SAS Group) Jan Carlzon è stato presidente e direttore generale ed è intervenuto in un momento di forte difficoltà economica della compagnia. Alla organizzazione gerarchica in cui le istruzioni fluiscono dall'alto al basso ha preferito una organizzazione in cui sono le informazione a fluire mettendo in condizione i dipendenti di prendere velocemente decisioni nel momento in cui sono necessarie.  Con questa visione rivoluzionaria e con un piano contiunuo di formazione in due anni ha riportato in attivo la compagnia emettendola nuovamente in condizione di eccellere per puntualità e servizi al cliente.   Jan dice  l'informazione di parla delle tue...

Comportamenti sociali

In che contesti un comportamento egoista produce maggiori vantaggi  di un comportamento altruistico ? E in quali casi è il contrario? In che condizioni una propensione cooperativa  conviene rispetto un comportamento avido e in quali no ? E' possibile che un team sviluppi un nuovo comportamento, agisca in modo coordinato senza l'intervento di una coordinamento/direzione/guida centralizzata ? A una festa conoscienti e nuove conoscenze si riuniscono in piccoli gruppi, lo fanno in modo totalmente casuale e imprevedibile? In che modo la velocità con cui le persone di una azienda sciolgono un team, si rimescolano e formano un nuovo team e la quantità di nuovi arrivi in un team influenzano la...

Trasparenza delle informazioni, casi reali (continua)

Un altro caso reale di valore generato dalla condivisione trasparente delle informazioni tanto per un team quanto per l'intera azienda    La Skaltek (www.skaltek.com) produce e vende grandi macchinari per la produzione di fili e cavi metallici, macchinari realizzati appositamente per ogni singolo cliente. Oystein Skalleberg è un ingegnere e ne è il fondatore.  Al successo a livello mondiale dell'azienda contribuisce il modo insolito con cui incoraggia la creatività dei suoi dipendenti. Alla Skaltek c'è una riunione settimanale di tutti i dipendenti in cui nella quale si fa un rapporto completo del flusso di cassa della settimana precedente: vendite, stipendi, trasasferte, tasse, costi, ammortamenti e il numero...

Tener duro

  E' una frase celebre di Edison, si lui Thomas il genio sta nel tener duro !   è la perseveranza che stà nel assecondare le proprie intuizioni affrontando le difficoltà e attraversando con fiducia i periodi di frustrazione barricarsi con ostinazione dietro formule, prescrizioni, metodologie, pratiche senza ascoltare la propria intuizione, ignorare gli errori, essere chiusi verso idee nuove o differenti dalle proprie è un comportamento più simile al preconcetto cioè come si può sperare di ottenere dei risultati nuovi e differenti continuando a fare le cose come le abbiamo sempre fatte, allo stesso modo? mi sento di riscriverla così   il genio stà nel assecondare l'   i n t u...

Trasparenza delle informazioni, casi reali

  L'accesso trasparente alle informazioni tanto per un team quanto per l'intera azienda genera  valore Le tesi più diffuse sono che con la trasparenza emergono le difficoltà in modo che possano essere affrontate e superate ed emergono le opprtunità in modo che possano essere colte  -  e che la disponibilità delle informazioni mette i dipendenti in condizione di assumersi respansabilità efficacemente Più di mille tesi riporto alcuni casi reali di aziende   Body shop è una catena di negozi di cosmetica naturale (The Body Shop) E' stata fondata nel 1970 e la sua disinvoltura nei confonrti della verità sembrò poco meno che ridicola agli occhi dell'industria cosmetica tradizionale. Il successo...

Sviluppare e mantenere una relazione posivita con la controparte

Un elenco di suggerimenti per manterere una buona relazione con la controparte nella gestione di un conflitto e durante una negoziazione.   - Resta razionale anche quando la controparte agisce emotivamente - Cerca di comprenderla anche quando ti fraintende - Anche quando non ti ascolta, consultala prima di prendere decisioni che possono influenzarla  - Sii onesto e degno di fiducia anche quando tenta di ingannarti - Evita le tattiche coercitive anche quando l'altra parte le usa - Sii aperto alla persuasione e cerca di persuadere - Prenditi cura dell'altra parte e sii disposto ad apprendere da lei anche quando rifiuta questo interesse - Attacca il problema senza attaccare la persona...