January 2009 Blog Posts

Evento - 30 Gennaio 2009: Results Day

Tommaso Torti ha immaginato e lanciato questa inizativa del 30 Gennaio 2009: Results Day    Partecipo e quindi ecco mio il resoconto dei successi &  degli insuccessi nell'applicazione dei principi agili ottenuti dopo l'evento dell'Agile Day 2008. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -...

Persone vs Processi

Ho trovato interessante questo post sul mettere l'insegnamento dei valori prima di quello dei processi : Teaching Values vs. Process Il commento spontaneo é stato : I prefer to contribute to build understanding-feeling-tuning between peoples in the team more then to build a new process, in Italian we call this 'intesa' who played some team sports probably have already experienced this E voi cosa ne pensate ? Tags :  Team Work | Agile | Comunicazione | Team building | Leadership |

Mary Poppendieck on The Role of Leadership in Software Development

Segnalo questa presentazione interessante:   http://www.infoq.com/presentations/poppendieck-agile-leadership Tags :  Team Work | Agile | Lean Agile | Leadership |

Un Progetto alla volta, anche per il tuo Manager

Mi annoto da un post interessante come i progetti si concludono prima quando ogni persona/team ne segue uno alla volta    Il punto é decidere dal portfolio dei progetti quale progetto seguire (sino a quando e´prevista la prossima valutazione delle prioritá del portfolio progetti). E metterci il focus al 100% su quel  progetto Make a Real Commitment When you commit to a project, make it a full commitment, meaning that all the necessary people are on the project full time and that they have all the necessary resources they'll need, such as a project room,...

Mantieni l'integrità del sistema

Lean Software Development descrive principi e pratiche utili a introdurre i metodi agili nella propria organizzazione. E lo fa dal punto di vista del Manager e del Responsabile tecnico di progetto Un principio del Lean Software Development è Mantieni l'integrità del sistema Sviluppa ogni programma, funzione, maschera cosi che gli utenti la trovano  semplice, intuitiva, uniforme e consistente Impementa ogni metodo, classe, componente, applicativo cosi che i programmatori lo trovano in condizioni buone  per cambiarlo, correggerlo e...

Coding: migliorare lo stile

Il nostro lavoro é quello di programmare computer, la abilitá di scrivere del buon codice é spesso sottovalutata a favore della conoscenza delle tecnologie Un po come fanno gli sportivi e i musicisti il trucco é esercitarsi A Coding Dojo is a meeting where a bunch of coders get together to work on a programming challenge. They are there to have fun and to engage in DeliberatePractice in order to improve their skills: http://codingdojo.org/ Ho partecipato anche a una variante dove tutte le coppie in contemporanea scrivevano codice per poi discutere insieme le diverse soluzioni Update 14 AGO - ThePrimeFactorsKata - TheBowlingGameKata - Groovy Sales Tax Problem -...

Self-organizing team, anzi self-reproductive

   Alcune frasi da un post su team che sanno auto-organizzarsi ... sostenersi ... perpetrarsi  grazie ai successi che raggiungono per se e per la propria azienda :   A new product development team, consisting of members with diverse backgrounds and temperaments is ... Given unconditional backing from the top ... engage in strategic initiatives that go beyond the current corporate domain ... often risk their reputation and sometimes their career to carry out their role as change agents for the organization at large. ... Within the context of evolutionary theory, such a group is said to possess a self-reproductive capability. ... Another study by Nonaka has shown that...

2009 European Year of Creativity and Innovation

         has the objective to raise awareness of importance of creativity and innovation for personal, social and economic development, to disseminate good practices, stimulate education and research, and promote policy debate and development   La comunutá europea saprá innovare se stessa per prima oppure delegare a chi ha la creativitá nel proprio DNA ? Tags :  | Creatività | Innovazione |

Empower del team: conclusioni

Secondo me il punto chiave del quinto principo del  Lean Software Development è che si guadagna di più a investire sulla qualità, sul talento e i punti di forza del team e sulle potenzialità di crescita, sui compiti sfidanti e sulla competizione con i proprio concorrenti mentre si perde a puntare sul risparmio, sul cautelarsi dalle debolezze e le carenze del team e sulla lotta tra colleghi e reparti Come ci si sente a dirigere e controllare il team ?       per esempio con progetti complessi ci si sente sommersi dai dettagli da studiare e dalle decisioni da prendere, caricati di lavoro...

Genio collettivo per aziende con Twitter o Yammer

Per amplificare la comunicazione informale e continua tra team remoti : Yammer la versione commerciale di Twitter Nel frattemo anche Twitter ha ne suo backlog lo sviluppo di una funzionalità per gestire gruppi                 Tags :  Team Work | Team | Comunicazione | 

foreach l'insidioso

Le collezioni tipizzate hanno il pregio di permettere al compilatore di scoprire più bug già in compilazione Per esempio il compilatore C# dovrebbe accorgersi del errore di questo codice grazie ai generics?     interface IPersistent { ... }    class Invoice : IPersistent { ... }    class Order : IPersistent { ... } ...            List<IPersistent> changedDocuments = new List<IPersistent>();            ...            changedDocuments.Add(anInvoice);            changedDocuments.Add(anOrder);            ...            foreach (Invoice changedInvoice in changedDocuments)            {                ...            } La risposta è no perché tenta un downcast, ecco il codice IL: L_002b: call instance !0 [mscorlib]System.Collections.Generic.List`1/Enumerator<class IPersistent>::get_Current() L_0030: castclass Invoice Credevo di avere le allucinazioni, un attimo di distrazione, insieme a...

Social networking prisma vs Antisocia NotWorking

Il prisma dei media sociali: http://www.briansolis.com/2008/08/introducing-conversation-prism.html Il progetto antisocial: http://project.arnolfini.org.uk/projects/2008/antisocial/ Segnalati da Bruce Strerling Colonna sonora: L'ombra della luce di Franco Battiato Tags :  Team Work | Complessità | Comunicazione | Creatività | Innovazione | Tools | Progettazione Software |

Come migliorare la qualità del codice giorno per giorno

Questo post di PierG dichiara una tra le cose più importanti che ho imparato in questi ultimi tre anni di lavoro: Quando il tuo software si è trasformato in un ammasso di codice legacy, rifarlo da zero probabilmente è la cosa peggiore. Infondo i problemi di quel codice sono comiciati quando il software è stato scritto da zero: perché dovrebbero andare meglio  riscrivendolo da capo ancora allo stesso modo ? In linea con una ipotesi che avevo condiviso qualche tempo fa: Il codice quando è Legacy lo è dal momento stesso in cui viene scritto Il punto è che scrivere...

La comunità di UGI si è espressa: il wiki va in pensione per un po :)

I risultati del questionario aperto a tutta la community mostrano che la community di UGI, noi, vediamo positivamente il wiki e abbiamo un certo interesse L'invito a discutere la scelta della Engine del wiki tra quelle emerse dal questionario non ha visto partecipanti L'invito a partecipare alla costruzione del nuovo wiki non ha visto partecipanti Tirate le somme in questo momento non sentiamo il bisogno urgente del wiki per discutere e creare contenuti in modo collaborativo AZIONI :  Fino ad aprile resterà attivo il redirect alla copia del wiki del Internet Archive Wayback Machine  e alla cache di Google per avere...

Microsoft is Dead !?!? No: Ozzie riporta Microsoft in Start up mode

Ray Ozzie è arrivato in MS dal 2005 ed è Chief Software Architect at Microsoft E' conosciuto per aver creato Lotus Notes e Lotus Symphony.  E' stato Mitch Karpor a reclutarlo per fare Lotus e nel 1984 (al tempo dell'annuncio del primo Windows) Ozzie discuteva con Gates su Windows come possibile sistema operativo per Lotus Notes Riporto a ruota libera alcune frasi di questo articolo che mi ha colpito e inspirato Ray Ozzie Wants to Push Microsoft Back Into Startup Mode dal Wired di Dicembre: Just packaging software, collecting the money, and then producing a new version a few years later (whether people...

Empower del team: esempi

Degli esempi dal principio #5 del  Lean Software Development Empower del Team Quando recluti persone per il team ingaggia senior in gamba : 2 senior con 1 junior fanno più e meglio di 1 senior con 4 junior Fai attenzione a scegliere persone responsabili di carattere (verso il codice, l'intero prodotto e il team) più gli incoraggi e gli lasci libertà più risultati ti portano Dagli la direzione, tienigli allineati agli obiettivi di business, spronagli alla semplicità...

Compensi in un team Agile - 3°

     Annoto queste ultime indicazioni e i suggerimenti che ho trovato su come definire i compensi ai membri di un team Agile      Yves Hanoulle di Paircoaching spiega che usare un incentivo economico per far fare a un membro del team qualcosa che non vuole ha effetti negativi perchè lo demotiva. Questo è un rischio che in Italia non c'è.  Quindi vedo (de)motivazione e compensi come argomenti distinti. Maarten Volders in una discussione su LinkedIn suggerice che queste cose fanno sicuramente felice un team di sviluppatori   PC molto veloci e tutti i gadget di cui hanno bisogno...

Product Owner: abbraccia l'incertezza

E' una presentazione davvero bella. Da indicazioni al Product Owner su come esprimere i requisiti e ai membri del team su come raccoglierli/scomporli/ragrupparli al meglio per Produrre il maggior valore di business $$$ Trovare le soluzioni/funsionalità che meglio realizzano l'obiettivo di business Procedere in modo da chiarire sempre meglio quello di cui si ha bisogno Garantire le funzionalità indispensabili al business in...

Preconcetti, abitudini e superstizioni

   Una cosa buona dell'età è l'esperienza cioè la capacità di riconoscere una serie di situazioni per cui si conosce come muoversi per reagire bene    Nell'informatica questa esperienza ha anche bisogno di specializzazione che permette di muoversi in modo rapido ed efficace anche se ora solo dentro uno schema fisso e definito (quello di specializzazione appunto)    L'altra faccia di questa specializzazione e velocità di reazione si chiama preconcetto che prende la forma di abitudine (ho sempre fatto cosi, qui in azienda abbiamo fatto tutti sempre cosi e ha funzionato, perché cambiare?) e superstizione (convinzioni su relazioni di...

Catalogo di Scrum Smell

E un elenco di segnali che qualcosa nella pratica di Scrum nel team ha bisogno di un miglioramento Sono indizi e non già prove, vanno verificati - A ogni smell corrisponde una soluzione Indicazioni per l'uso: non puntare il dito contro qualcuno, anche se a volte verrebbe voglia di farlo ,  meglio usarli per migliorare il proprio lavoro nel team eventualmente per suggerire una azione quando un problema emerge nella retrospective Il wiki con le smell: http://scrumcommunity.pbwiki.com/Scrum+Smells Alcune smell sulle user story: http://agiletools.wordpress.com/2007/12/20/toms-catalog-of-user-story-smells/ ...

NullableTypes su SourceForge da 5 anni

      E' il progetto open-source che consente di assegnare Null anche ai tipi nativi di .NET e lo fa nel 2003 con 2 anni di anticipo rispetto le estenzioni Microsoft di .NET e C# 2.0 che permettono di fare altrettanto      I NullableTypes hanno raggiunto i 13.000 download e cosa sorprendente nel 2008 (3 anni dopo che Microsoft ha rilasciato i suoi NullableTypes per .NET 2.0) ci sono stati ancora  800 download Un ringraziamento ai programmatori che hanno contribuito al progetto: Damien Guard, Eric Lau, Abhijeet Dev, Partha Choudhury, Bill Hwang, Massimo Prota  e a Eurosystem (una delle Software-House leader nel...

Empower del team

    Lean Software Development descrive principi e pratiche utili a introdurre i metodi agili nella propria organizzazione. E lo fa dal punto di vista del Manager e del Responsabile tecnico di progetto. Un principio del Lean Software Development è Empower del Team Ingaggia tecnici esperti e fai crescere il team, fallo guidare da un leader tecnico, delegagli responsabilità sfidanti, dagli libertà d'azione e lascia che la partecipazione sia su base volontaria per ottenere i risultati migliori Prendi junior e gente...

Managing Talented People 2°

Ancora sul tema di un post precedente Managing Talented People questo articolo mi è piaciuto: Are Cocky Developers Worth It? Un breve estratto “I’m okay with you feeling good about your “mad” skills, but there is a difference between confidence and cockiness. As a good teammate, you can use your confidence to share your vast experience with the team in peer reviews. The difference is, if you belittle someone, you are being cocky and frankly not helpful. We need the team to be confident, and you can lift the team up by being more respectful of their opinions and taking a...

Compensi in un team Agile - 2°

     Continuo a annotare le indicazioni e i suggerimenti che ho trovato su come definire i compensi a membri di team Agili      Il modo aperto e condiviso di stabilire i compensi alla Skaltek (www.skaltek.com) e alla St Luke's ( www.stlukes.co.uk ) è ricco di idee e possibilità di miglioramento  ad esempio discutere e conoscere quali elementi attualmente determinano il salario nel proprio team (es. skill, esperienza, prezzo di mercato, educazione, capacità di negoziare, bisogni dell'azienda al momento della contrattazione, etc)  ...

Quali applicazioni/siti Web preferire ?

Richard Stallman si scaglia contro le applicazioni Web. Dal suo ragionamento nasce un suggerimento che trovo utile e importante :         Conviene verificare che l'applicazione Web permetta di esportare e copiare i propri dati meglio se in un formato standard importabile in altri siti/applicazioni prima di scegliere una applicazione Web per se e per la propria azienda       (ad esempio il Blog di Ugi permette di esportare i propri post nel formato standard BlogML e Google permette di scaricare la propria posta con un client POP standard e di fare il back-up) Perchè usare una applicazione Web...

Compensi in un team Agile - 1°

     Annoto le indicazioni e i suggerimenti che ho trovato su come definire i compensi ai membri di un team Agile I 2 esempi riconosciuti come i migliori vengono da due casi reali : -  La Skaltek (www.skaltek.com) è una compagnia Svedese che produce e vende grandi macchinari per la produzione di fili e cavi metallici, macchinari realizzati appositamente per ogni singolo cliente - La St Luke's ( www.stlukes.co.uk ) è l'agenzia creativa indipendente di Londra più longeva, realizza campagne pubblicitarie per la televisione, la stampa e il web Alla Skaltek c'è completa trasparenza, non ci sono segreti finanziari ma, ogniuno...