Team Work

There are 383 entries for the tag Team Work

Altre indicazioni utili dalle simulazioni sociali

Ho scovato questo libro in rete Social Simulation: Technologies, Advances and New Discoveries (Premier Reference) una conferma indiretta che sulle simulazioni sociali c'è un grosso interesse e nuovi risultati continuano ad emergere. Mi annoto in sintesi (...) e collego ai post precedenti Chapter I: Fairness, commitment and inequality Una conferma sulla teoria del individualismo illuminato Una aggiunta su come la possibilità/eventualità di stringere rapporti di cooperazione con partner più forti (es. con maggiore conoscenza o esperienza) promuove l'uso di strategie più eque perché favorisce la...

Team Building

Una mind-map dal open-space tenuto da Jacopo Franzoi alla UGIALT.NET conference Leggi il post completo di Jacopo qui: http://jfranzoi.wordpress.com/2009/06/28/about-how-pleasant-a-saturday-can-be/ Tags :  Team Work | Agile | Team building |

Scrum: un processo di sviluppo Empirico 2 (Scientists Give Their Opinion)

Riporto dal sito di Ken Schwaber Scientists Give Their Opinion Why do the defined processes advocated by SEI CMM not measurably deliver? We posed this question to scientists at DuPont Chemical's Advanced Research Facility, where research into biochemical processes is applied to process automation. The scientists inspected the systems development process. They concluded that many of the processes, rather than being repeatable, defined, and predictable, were unpredictable and unrepeatable. With that, the scientists explained the difference between predictable (defined) and unpredictable (empirical). ... A defined process is predictable; it performs the same every time. An empirical process requires close watching and control, with frequent intervention....

Scrum, XP e le pratiche di Engineering 2 (XP @ Scrum)

Riporto dal sito di Ken Schwaber XP @ Scrum Scrum has been employed successfully as a management wrapper for Extreme Programming engineering practices. Scrum provides the agile management mechanisms; Extreme Programming provides the integrated engineering practices. An article written by Ken Schwaber and Kane Mar on one implementation is at the Prentice Hall InformIT web site.      Continua la lettura: http://www.controlchaos.com/about/xp.php Vedi anche Scrum, XP e le pratiche di Engineering Tags :  Team Work | Agile | Pratiche |

Scrum: quando non é divertente, c'e qualcosa che non funziona

Uno delgli Smell di Scrum:  quando non é divertente, c'e qualcosa che non funziona Tags :  Team Work | Agile | Team | Progettazione Software |

Shock therapy self-organization in Scrum

Una presentazione interessante di Jeff Sutherland : Shock therapy self-organization in Scrum e qui il video 2 slide divertenti Scrum Sensei When you need me, but do not want me, then I will stay. When you want me, but do not need me, then I have to go. Nanny McPhee The Senior Agile Programmer "Unfortunately, no one can be told what the Matrix is. You have to see it for yourself." Morpheus serve saper essere forti e flesibili con la Shock Therapy  : l'esperienza dello ScumMaster é fondamentale perché serve la certezza della reale utilità nel applicare le regole li, in quel preiciso momento e...

The Thinking Tool called Agile

Da Crisp ecco il pdf con le slide  indicato per chi é interessato al percorso di adozione/Uso di metodi Agili Tags :  Team Work | Agile | Lean Agile | Leadership |

Scrum, XP e le pratiche di Engineering

I metodi Agili come Scrum e XP non sostituiscono le pratiche di software engineering come ad esempio: - Analisi e definizione dei requisiti - Definizione delle specifiche - Disegno e modellazione del sistema - Implementazione - Versioning e Release management - Verifica e validazione - Stima E nemmeno si sovrappongono.      I metodi Agili fanno si che ogni pratica di engineering sia impiegata nella misura in cui serve allo specifico progetto (che emerge dal loop di inspect-adapt) con semplicità (dovuta all'uso costante/iterativo della pratica, dalla sua specializzazione  e dalla consapevolezza del fattore  umano/sociale) Cosi nella pratica in molti casi si scoprono degli...

Community-Based Innovation

The model is based upon the open, voluntary, and collaborative efforts of users - a term that describes enthusiasts, tinkerers, amateurs, everyday people, and even firms who derive benefit from a product or service by using it. Innovative communities have been influential in product categories as diverse as automobiles, sports equipment, and personal computers. OOPSLA 2008 presentation    Community-Based Innovation: From Sports Equipment to Software   by  Sonali K. Shah, Assistant Professor in the Management and Organizations group at the University of Washington's Foster School of Business Questo studio conferma le intuizioni di Brian Eno: - Creatività: dove noi tecnici possiamo migliorare - Creatività collettiva   ...

Decisions by consensus without compromise

One of the Toyota Way principles is « Nemawashi », take decisions by consensus. ... The consensus-building process solicits ideas and review from everyone involved so that the final idea is usually a lot stronger than the original. But there’s one big misunderstanding about consensus. Consensus doesn’t require Compromise Leggi il post : http://blog.nayima.be/2009/06/19/nemawashi-decisions-by-consensus-without-compromise/ Guarda anche: Negoziazione integrativa : nasce dalle differenze Tags :  Team Work | Agile | Lean Agile | Conflitto | Negoziazione | Motivazione | Progettazione Software |

When to stand back, when to step in

Self-organizing teams still need managers. But those manager need to know when to step in, and when to stand back. Helicopter Managers step in too soon. Absentee Managers throw up their hands and say "you figure it out," no matter what the issue Here are four guidelines to help managers gauge their actions with self-organizing teams. Leggi l'articolo completo: http://www.estherderby.com/weblog/2009/06/when-to-stand-back-when-to-step-in.html Tags :  Team Work | Agile | Leadership |

Qualità subito

Il principio XP che guida questo modo di procedere è  Quality Ecco l'esempio di alcuni criteri di qualità che richiedono tempo e sono indispensabili già da subito e quindi vanno conteggiati nelle stime dei tempi : il codice deve essere nel Source Code Repository il software deve avere una Build Automatica con i rispettivi test il software deve avere degli script di deploy / un setup kit con la gestione del versioning ...

Qualità in Small-Safe-Steps

I principi XP che guidano questo modo di procedere sono Improvement, e Baby Steps Ecco degli esempi di miglioramenti della qualità che richiedono tempo e sono a rischio di errore e quindi vanno fatti in modo incrementale : Remove code duplication tra 2 diverse classi o pagine aspx, tra una una pagina asp e una aspx - quando è la nuova feature che si sta scrivendo che crea la duplicazione invece di eliminarla subito è più sicuro prima crearla rendendola evidente e scrivere i test e  solo poi provare a eliminarla. cosi si consegna la nuova feature funzionante,...

Qualità a tempo zero

Ecco esempi di miglioramenti della qualità del codice  che non richiedono tempo ma solo la conoscenza tecnica e la consapevolezza che sono utili: Rename di classi, metodi, argomenti, variabili con nomi che descrivono in modo chiaro cosa fa il codice - anche un nome lungo e prolisso è meglio di una lettera o un acronimo incomprensibile Replace dei commenti con estrazione di blocchi di codice in un nuovo metodo e introduzione di variabili intermedie con nomi esplicativi - il codice viene compilato ed eseguito per queto...

Flaccid Scrum - cominciamo dalla definizione

Unskilled developers - most developers working in a team are unable to build an increment of product within an iteration. They are unfamiliar with modern engineering and quality practices, and they don’t have an infrastructure supportive of these practices. Ignorant customer - most customers are still used to throwing a book of requirements over the wall to development and wait for the slips to start occurring, all the time adding the inevitable and unavoidable changes. Belief in magic - most customers and managers still believe that if they want something badly enough and pressure developers enough to do it, that it will...

A View on the Future of Agile e Beyond Agile

Queste slide sono anche l'occasione per scoprire la storia dell'Agile dalla sua nascita, come è vista l'adozione dell'Agile in italia e perchè e la Tecnica del pomodoro tutta italiana. Ecco le slide di A View on the Future: http://www.crisp.se/futureofagile/slides/davidanderson E qui la presentazione Beyond Agile: Cultural Patterns: http://www.infoq.com/presentations/beyond-agile Tags :  Team Work | Agile | Lean Agile | Pratiche | Leadership | Creatività | Innovazione | Progettazione Software |

Kanban learning: do __NOT__ multi-task !

Il multi-task nel lavoro delle persone produce più danni che vantaggi. Un dato di fatto chiarom noto e assodato. Compito del Coach, Scrum Master è schermare il team e fermare immediatamente il multi-tasking. Riporto un nuovo post a questo proposito :  Kanban learnings - Running multiple projects hides impediments (da Crisp) 6 months after we began using Kanban to two support / system administration teams they realized that the downside of having multiple projects running outweighed the possible upside. ...

Inspect & adapt: quanto tempo serve perchè una azione maturi i risultati

In Scrum c'è la reprospective a ogni Sprint. In XP c'è sono anche una retrospective trimestrale più strategica. SI raccoglie il feedback, lo si analizza (es. root cause analisys), si pensano delle azioni (es. Stacey Matrix) e si mettono in atto. Cominciando con il primo semplice passo utile. Quanto tempo aspettare prima di verificare quali frutti ha maturato l'azione  ? If we set the decision lenght of a goal too far - the goals will be eaten up by the imminent future and risk lose focus. If the...

Scrum vs Kaban

Differenze Iterations - In Scrum you work in iterations, Kanban sees development as a forever ongoing flow of things to do. Commitment - In Scrum team commits to what they will do during a sprint Estimations - In Scrum you must estimate. In Kanban it's optional. Crossfunctional teams - That's one of the pillars of Scrum. For Kanban it's optional. Similitudini Prioritized backlog self-organizing team transparency inspect & adapt pull scheduling ...

Esperienza di coding Agile in UGIdotNET

Ecco i risultati finali alle domande per sondare quanta esperienza di coding Agile c'è tra i membri di UGIdotNET: Esperienza di coding Agile in UGIdotNET Una lettura personale dei dati: Rispetto al Design dove la comunità Java era in anticipo, qui la comunità .NET invece non è affatto rimasta a guardare Tags :  Team Work | Agile | Pratiche |

Design strategies: Kent Beck presentation

I've seen this presentation, found it very useful : http://www.infoq.com/news/2009/06/responsive-design Some quick excerpt from the presentation here. A design goal: Steady Flow of ... Features ! A design definition: Beneficially Relating Elements (that's a thing and also an action) Design principle: safe steps Some design strategies: Leaps vs Parallel, Stepping Stone vs Simplification  (here slides that explain this http://www.slideshare.net/deimos/kent-beck-effective-design) Tags :  Team Work | Agile | Complessità | Pratiche | Creatività | Innovazione | Semplicità | Progettazione Software |

Lean, Agile, Scrum e XP

Una immagine meglio di 100 parole :) Fonte: http://www.crisp.se/bok-lean-agile-scrum-xp (in svedese) Dalla stessa azienda di Scrum and XP from the Trenches (inglese) Tags :  Team Work | Agile | Lean Agile |

Scrum is not a silver bullet

Scrum and Agile are based on the hypothesis that : there is no meta-solution for software development Just a framework within which we will be empirical – inspect and adapt Tags :  Team Work | Agile | Pratiche | Leadership |

Sprint Abnormal Termination

Interrompere uno Sprint-Iterazione e ripianificarlo é di gran lunga piu efficace che proseguire quando é in grave ritardo e quando attivitá non pianificate prendono la precedenze. Se da un lato lo Sprint-Iterazione "deve" essere atomica, dall'altro é necessario che sia possibile e facile fare un "rollback". Imho le due cose vanno a bracetto. Sprint Abnormal Termination Is the premature cancellation of a Scrum Sprint, due to one of several causes: Certainty that the Sprint Goal cannot be achieved Urgent bug fix or feature development request that cannot wait until the normal completion of...

Scrum: Roles & Responsibilities

Product Owner ► Prioritizes features according to market value ► Is responsible for the profitability of the product (ROI) ► Defines the features of the product and decides on release content ► Can change features and priority after every Sprint ► Accepts or rejects work results ScrumMaster ► Ensures that the team is fully functional and productive ► Enables close cooperation across all roles and functions and removes barriers ► Shields the team from external interferences ► Ensures that the process is followed. Invites to daily scrum, Sprint review and planning meetings Team ► Cross-functional, seven plus/minus two members ► Selects the iteration goal and specifies work results ► Has the right to...

3 domande per conoscere l'esperienza di coding Agili tra i membri di UGIdotNET

Qui 3 domande x conoscere l'esperienza nelle pratiche di coding Agile tra i membri di UGIdotNET Qui i primi risultati Tags :  Team Work | Agile | Pratiche |

In equilibrio tra focus e creatività (da David Allen di Get Things Done)

     La capacità di controllare gli impulsi, concentrarsi è importante per imparare e sviluppare nuove abilità, per le relazioni personali e sociali e per il lavoro:     impegnarsi, organizzarsi, superare le distrazioni, adoperare la memoria e il pensiero sequenziale razionale_ Come lasciare spazio alla creatività in tutto questo ? Usando la capacità di distinguere un idea da un impulso a distrarsi,  lasciare spazio all'idea nel luogo e nel momento in cui arriva, fermarsi per svilupparla e... catturarla! All'inizio può essere caotico, una volta abituati è produttivo e creativo - imparare/fare/realizzare ricomincia a essere divertente Fonte: Be creative amid chaos, David Allen Tags...

Un esempio di semplicità col TDD: state based vs interaction based

    ((( continuo la serie di post pratici sulla semplicità ))) Gino ha a disposizione l'intero giorno in pair programming col collega per chiarirgli la differenza tra state e interaction testing. Per farla semplice da dove comincia? Comincia in pair a implementare uno state based unit test evidenziando i passi : Istanzia l'oggetto usando Stub per eventuali dipendenze esterne Inizializza lo stato dell'oggetto da testare Richiama l'operazione da testare Verifica che lo stato finale dell'oggetto è quello...

Breaking changes Refactoring 2° di 2

    Per esempio sollevare una eccezione che prima era silenziata e ignorata - aggiungere un vincolo di unicità per due colonne di una tabella Team Work Nel tecnico esperto con competenze di refactorig prevale il coraggio di cambiare per migliorare il codice e la consapevolezza che i vantaggi sono maggiori dei rischi Nel tecniico che ha la conoscenza storica del sistema prevale la tendenza a limitare cambiamenti che possono compromettere il sistema Nel CTO attento alle esigenze degli utenti/clienti prevale la attenzione all'operatività del sistema in uso e alle conseguenze pratiche di un malfunzionamento Invece di  radicare queste differenze...

Breaking changes Refactoring 1° di 2

    Per esempio sollevare una eccezione che prima era silenziata e ignorata - aggiungere un vincolo di unicità per due colonne di una tabella Tecnica di coding      Fare l'analisi statica del codice  - tipo Find Usages con Resharper - in modo esaustivo può richiedere uno sforzo eccessivo ed essere insufficente ((( per es. perché c'è codice VB6 o C++ che il tool automatico non copre ))) e testare il sw in esecuzione può essere a rischio di errore ((( per es. la modifica può avere conseguenze sorprendenti/impreviste )))   Più di tutto con solo queste 2 tecniche non si...

Scrum + Lean sw development = Delivers

Here is the article on Scrum Alliance site: Scrum Delivers Tags :  Team Work | Agile | Lean Agile | Pratiche |

Agile Principles and anti-principles

I suggest the reading of this interesting post about Agile : Principles and anti-principles It is not an easy matter at all, just think about those two sentences: - a part of the essence of Agile is to find a good enough answer here, right now, in this context - We are different, this will never work in our organization And once again think about this quotes: - Almost every wise saying has an opposite one, no less wise, to balance it. George Santayana - There are two kinds of truth. There are superficial truths, the opposite of which are obviously wrong. But there are also...

Questionario: Esperienza & specializzazione nelle pratiche agili

Ripropongo qui le 2 domande               fatte sullo user group XPUG-IT per sondare l'esperienza e la specializzazione nelle pratiche agili :  Esperienza & specializzazione nelle pratiche agili E qui i primi risultati:  Report in pdf Tags :  Team Work | Agile |

Sul dare feedback negativi

       Li trovo utili quanto i feedback positivi per avvicinarsi al risultato ottimale Quando darli quando si sperimentano in prima persona conseguenze tangibili e indesiderate che sono la conseguenza diretta di una specifica azione quando ci viene richiesto esplicitamente un feedback in un rapporto di amicizia per una questione importante comunque il più presto possibile cioè il più possibile ravvicinato all'azione a cui...

Teamwork Is An Individual Skill

Una presentazione interessante sulle abilità che migliorano il lavoro di team: http://www.infoq.com/presentations/teamwork-an-individual-skill Bene si accosta ai post che raccolgo qui:  Complessità Negoziazione Team building  Tags :  Team Work | Agile | Team building |

Comportamenti che funzionano: la pratica 3/3

Riferimenti I comportamenti sociali sono prima di tutto pratica da provare, sperimentare, mettere in atto di persona. Per chi è interessato anche alle basi scientifiche e alla teoria ecco qualche parola chiave : Teoria dei giochi, giochi a somma zero, giochi a somma negativa, giochi a somma positiva, equilibrio di Nash, simulazioni sociali, distorsioni cognitive in condizioni di conflitto e dei meccanismi di scelta razionale, tit for tat, Robert Axelrod, la maledizione del vincitore, intelligenza collettiva, evoluzione della cooperazione, scienza della complessità e cooperazione Tags :  Team Work | Agile | Complessità | Leadership | Team | Conflitto | Negoziazione | Creatività | Innovazione | Team building |

Non siamo tutti uguali

     L'esperienza pratica, la letteratura, l'evoluzione e le similazioni sociali concordano che un comportamento di collaborazione integrativa e responsabilità condivisa produce più vantaggi di un comportamento autoritario e competitivo Manfred Macx in Accellerando di Charless Stross direbbe <<non credo nella nella scarsità, nei giochi a somma zero o nella concorrenza: il mondo è troppo vasto e l'informazione troppo densa per ammettere scimmieschi giochi generici>> Eppure non siamo tutti uguali e esistono tecnici,  programmatori, professionisti validi e capaci che si comportano in modo autoritario e competitivo cosi come ne esistono che si trovano bene ad essere guidati da leader direttivi e autoritari. Il punto...

Is Parallel Programming Hard?

Un articolo pubblicato su InfoQ che ribadisce i risultati emersi dall'articolo risultato dal brainstorming su XP-IT circa le applicazioni multi-threading e il TDD Un motivo in più per segnalarlo a chi sviluppa app multi-threading: Design di applicazioni multi-threading Tags :  Team Work | Agile | Pratiche | Creatività | Innovazione | Progettazione Software |

Semplicità: valutare l'andamento di un team Agile

Nel post Scrum: un processo di sviluppo Empirico sono linkati modi di valutare un team Agile Il post Keep the Peel and Throw Out the Banana di Francesco Cirillo va alla semplicità della questione : Guarda il codice, quando è pieno di IF/SWITCH, casi speciali, diversi tipi di logica accoppiata, bug frequenti, è un campanello d'allarme che dello sviluppo Agile il team ha tenuto la buccia e gettato la banana Guardandomi indietro e riflettendo trovo che nella pratica questo criterio è efficace Tags :  Team Work | Agile | Pratiche | Leadership | Software | Semplicità |

Comportamenti che funzionano: la pratica 2/3

Impararne di nuovi e vantaggiosi Milioni di anni di evoluzione ci portano in dote un patrimonio l'attitudine a  comportamenti sociali spontanei e istintivi (so che sei voltato a guardare un collega o il capo e un'ondata di dubbi sull'evoluzione ti assale: ma un singolo caso non basta a metterla in dubbio capito !!! :D) E' sufficente evitare di ostacolarli e comprometterli e invece credere nelle persone, superare l'ansia di controllo, dare spazio e tempo, sospendere il giudizio, fare leva sulla responsabilità la passione e la liberta, incoraggiare l'iniziativa. Riconoscere i successi del team e premiarlo nel suo insieme. Evitato di compromettere...

Comportamenti che funzionano: la pratica 1/3

Sui comportamenti sociali utili e efficaci Una squadra di calcio impara nuovi schemi di gioco che la portano meglio al gol In una discoteca a Budapest c'è l'usanza di concedere 10 minuti di ballo e chiacchiere a ogni corteggiatore/trice che si fa avanti - è divertente semplice e evidente che i nuovi arrivati imparano subito. Anche nel film A Beautiful Mind sul matematico Nash c'è una scena simile sul corteggiamento In Svezia in diverse scuole agli alunni vengono assegnati compiti in gruppo da cui acquisiscono l'abitudine a collaborare efficacemente che poi impiegano con successo  al lavoro Tags :  Team Work | Agile |...

Un po di Italia anche a Stoccolma

Andreas Gursky è un fotografo tedesco vivente e ben quotato. Tra le altre cose è conosciuto per le sue gigantografie iper-realistiche realizzate con tecniche di fotografia e ritocchi digitali Nel 2007 ha realizzato la serie intitolata "F1 Pit Stop" di 4 gigantografie "epiche" dedicate alla F1 Le foto sono ottenute componendo foto da differenti GP intorno al mondo Se avete la possibilità di entrare nel tempio della F1 a Maranello, nel ristorante aziendale potrete ammirare la gigantografia di Andreas Gursky dedicata alla Ferrari - Qui un assaggio La gigantografia è in mostra al Museo di Arte Moderna di Stoccolma...

Credere nelle persone

E' il comportamento più difficile da cambiare per un Coach di un team Agile, un Leader  e un Facilitatore : Rinunciare a esercitare il controllo e alle aspettative di risultati prestabiliti Scoprire nuovi modi di indirizzare e aiutare responsabilmente il team che sostituiscono le vecchie abitudini Superare l'ansia di controllo Agire facendo il meno possibile Come ? Un esempio pratico per esercitarsi : scopri come Exqusite Clock evolve liberamente col contributo collettivo e responsabile e come ogni contributo è indirizzato a essere utile e efficace : Tags :  Team Work | Agile | Complessità | Leadership | Team | Creatività | Innovazione | Semplicità |

Leadership e autorità

       Attraverso la leadership o l'autorità non si può cambiare un gruppo di persone scontente e non competenti in un gruppo di persone esperte e motivate           Dando spazio a responsabilità passione libertà e mettendo le persone in condizione di collaborare e rinunciando a esercitare il controllo si può ottenere il meglio da un gruppo         E ottenere risultati che sorprendono tanto quanto si è capaci di credere nelle persone (leggi questa ricerca) L'unico controllo che resta è estremamente ridotto e limitato, è sottile e ha lo scopo di aiutare il gruppo a raggiungere gli obbiettivi che si...

Lean Agile e i 7 principi

    Ricapitolando ecco i post sui principi del Lean Software Development: Eliminare gli sprechi : Il pricipio , Esempi , Considerazione finale Amplificare l'apprendimento : Il principio , Esempi , Considerazione finale Ritardare la decisione all'ultimo momento responsabile : Il principio , Esempi , Considerazione finale Rilasciare il più spesso possibile : Il principio , Altre info , Esempi e conclusioni ...

Sistemi autorganizzanti, intelligenza collettiva, cooperazione: la pratica

Nel tempo gli esseri umani si sono trasformati da nomadi a stanziali Nel tempo il modo di gestire le dispute si è evoluto dalla lotta al ricorso ad autorità sino a leggi eque e uguali (quasi) per tutti    Anche il modo di gestire i conflitti si è evoluto nel tempo dalle guerre alle transazioni sino a forme evolute di cooperazione integrativa Trasformazioni che hanno coinvolto piccoli gruppi, comunita, nazioni in ogni parte del mondo, in modo autonomo e senza l'aiuto di una regia esterna centrale - Anche nel funzionamento dei sistemi fisici e chimici l'autorganizzazione ha un ruolo...

Empowerment del team, in pratica

Cercare di essere tutto per qualsiasi membro del team in ogni momento - non è sostenibile alla lunga Intervenire quando il lavoro arriva a un momento di stallo per  superare l'ostacolo, quando scoppia un conflitto intervenire per trovare una mediazione - è una soluzione temporanea e rende il team dipendente Parlare poco e fare il meno possibile - creare uno spazio sicuro in cui lavorare e tenere (onorare) lo spazio per il team - essere disponibili, aperti, credibili, senza particolari aspettative - fare costantemente leva sulla libertà e responsabilità del team A fronte di una domanda che richiede...

Linq code refactoring: good programmer and bad one

IMHO the difference between a good programmer and a bad one is that a good programmer always strives to do things the straight way while a bad programmer feels smart when he discover and use dirty tricks  -  While refactoring long methods with Linq/Linq2Sql code and so trying to extract some Linq/Linq2Sql code into a new method it do emerge the need to return anonymous types from the extracted method. The C# compiler can complains for this You can Google and find a trick to return anonymous types. While in the first moment it looks interesting by a...

Five Ways that Team Members Build Trust with Each Other

Chi è genitore conosce bene e in pratica cosa significa costrure la fiducia e avere una percezione corretta: quando il figlio inizia a camminare, quando impara ad attraversare la strada, ad andare in motorino e a frequentare nuovi amici. E tutti noi siamo stati figli :) Ognuno impara a misurare e valutare la fiducia sulle proprie abilità, per esempio di affrontare una curva in auto a una certa velocità, una discesa sterrata in moutain-bike o una pendenza sulle piste di sci. Attraverso una sequenza di tentativi, miglioramenti e successi, e la memoria storica di questi Fiducia nel riuscire a svolgere un compito,...

I believe that software development is for the most part a social activity

Mi segno un post interessante: Communication, communication, communication e un libro da valutare : qual'è la sua validità scientifica oggi ?      ci sono libri/articoli che collegano questi giochi a "simulazioni sociali" o semplici set di regole generative ? cioè : mi può essere utile ? Tags :  Team Work | Agile | Complessità | Leadership | Team | Comunicazione | Conflitto | Negoziazione | Team building |

Soft skill (essere)

    Vuole dire un certo numero di abilità personali, emotive, individuali e di gruppo cioè che sono distinte e si aggiungono a quelle tecniche e di ragionamento meccanicho razionale La definizione su wikipedia è chiara e interessante tanto nella versione inglese Soft Skills che in quella italiana Soft Skill     E' attraverso queste capacità che una persona nella azienda di cui fa parte che è una organizzazione fatta di persone contribuisce e collabora con gli altri Riporto degli esempi pratici di come queste abilità possono tradursi in pratica per un facilitatore di un meeting o un leader che promuove...

Brian Eno on Creativity (We ceded the ground before we ever started)

The smallest seed planted at the right time can lead to something great In fact most great things seem to come from nowhere and evolve from practically nothing Unfortunately many of us live our lives thinking that there are folks of such staggering genius walking around, with symphonies and novels fully formed in their heads, that we come to the conclusion that we are not people of great ability, and this affects how we live and how we see things We ceded the ground before we ever started Tags :  Team Work | Agile | Complessità | Creatività | Innovazione |

Creatività: dove noi tecnici possiamo migliorare

  Douglas Bowman - Visual Designer - lascia Google e si  racconta:    When a company is filled with engineers, it turns to engineering to solve problems. Reduce each decision to a simple logic problem. Remove all subjectivity and just look at the data Yes, it’s true that a team at Google couldn’t decide between two blues, so they’re testing 41 shades between each blue to see which one performs better. Without conviction, doubt creeps in. Instincts fail. “Is this the right move?”    Brian Eno si racconta:   You can either take the attitude that it has a...

The bad apple, bad decisions

Segnalo 2 post (il primo segnalato dal ex collega Gian Marco) che un po si completano a vicenda The Bad Apple: Group Poison un cattivo elemento che finisce per danneggiare tutto il team Alcuni tratti che puo avere una  bad apple: The Depressive Pessimist will complain that the task that they're doing isn't enjoyable, and make statements doubting the group's ability to succeed. The Jerk will say that other people's...

Processi che ti aiutano (EMERGENCY? = USE PHONE) & allegre fantasie

      Questo post Simple Guidelines for Workday Quality Over Quantity [Email] mi ha fatto ricordare un vecchio episodio        Una compagna di team mi fece notare che restando focalizzato sul codice che stavo scrivendo rischiavo di ignorare mail molto urgenti (visto il contesto in cui stavamo lavorando la preoccupazione era legittima)        La mia idea (che avevo mancato di sottoporre e condividere col team) era che per le cose veramente urgenti le persone normalmente usano il telefono: te lo immagini chiamare i pompieri o l'autoambulanza con una e-mail ?               Un processo che investe in questa naturale abilità delle persone è...

Brian Eno: amplificare la creatività nel team (e con gli U2)

Qualcosa va storto e non si sa cosa fare - la reazione spontanea  è quella di affidarsi alle abitudini consolidate Nei team affiatati il punto di forza della "telepatia" si bilancia con l'eccesso di diplomazia: nessuno vuole mettere  a rischi l'equilibrio che si è creato Brian suggerisce 2 giochi per rompere le regole e aprirsi a nuove cose e a nuovi modi di fare Imporsi dei limiti per incrementare la creatività - per esempio con gli U2 gli ha fatto scambiare gli strumenti cosi che uno suonasse quello dell'altro - obbligarli a suonare con solo una parte della scala Fare...

Design Under Constraint: How Limits Boost Creativity

The same principle applies to design. Given fewer resources, you have to make better decisions The idea of operating within constraints—of making more with less—is especially relevant these days. From Wall Street to Detroit to Washington, the lack of limits has proven to be a false freedom More recently, the very iPhone on which you listen to Davis' landmark album is a one-buttoned example of restraint in pursuit of an ideal, while the sublimely simple Google homepage is forever limited to 28 words Fonte: W.I.R.E.D. Tags :  Team Work | Agile | Creatività | Innovazione | Semplicità | Progettazione Software |

Self-organizing teams and Resilience: Esther Derby

Mi annoto questi 2 post  Project is a human system working towards a desired goal. However, the project is running within an environment that is changing continuously. The project needs ways to deal with these changes and still keep performing its [...] : Structure For Resilience Video Intervista sui team auto-organizzanti e sulle fasi di evoluzione di questi team: - Managing their own work and monitoring their own progress ...

Informatica e Design 3° (Generative Systems)

Game designer Will Wright (SimCity, The Sims) and musician Brian Eno discuss the generative systems used in their respective creative works. Ancora info su questi argomenti ? ~  schemi complessi che emergono dall'implementazione di regole assai semplici come una foresta che nasce da pochi semi (John Conway)  in questo post     ~  simulazioni sociali in questo post ~  NetLogo un sw per eseguire e implementare principalmente simulazioni sociali ma anche sistemi genereativi in questo post Tags :  Team Work | Agile | Complessità | Team | Creatività | Innovazione | Semplicità | Progettazione Software |

Informatica e Design 2° (Brian Eno)

L'area di intersezione tra informatica e design è in continua espansione. In termini di prodotti, tecnologie e applicazioni e anche designer e artisti digitali che sconfinano nella programmazione e programmatori che si dedicano a prodotti informatici di design e artistici La potenzialità che intravedo riguarda la possibilità che programmatori possano scoprie da designer e artisti digitali come lavorare e come affrontare in team problemi in modo creativo e anche contribuire in termini di metodologie e pratiche di programmazione Naturalmente i team agili sono i candidati ideali avendo nel loro nucleo gli aspetti di creatività esplorazione dinamiche di team Brian Eno è un precursore...

Un esempio di semplicità col pattern MVC

((( continuo la serie di post pratici sulla semplicità. La sfida di Gino qui ora è trovare qualcosa ancora da togliere, da sottrarre per arrivare all'essenziale da cui cominciare, al minimo indispensabile a cui non si può rinunciare  ))) Gino conosce il pattern Model-View-Controller, le sue varianti, le sotto-varianti e gli adattamenti ai diversi framework grafici.    Si dice che sa applicare MVC bendato con le mani legate dietro la schiena come fosse Chuck Norris   ((( minchia! ))) Gino ha un giorno intero di tempo e il suo collega è interessato a capire come si applica il MVC e...

Paradossi per riflettere sui sistemi complessi

How can we give direction without giving directives? How can we lead by serving? How can we maintain authority without having control? How can...

Un buon Senior, un buon Leader e l'arte di chiedere

Grazie a Gian Marco per aver segnalato questo articolo Sulla leadership da The Bad Apple: Group Poison    There was just one guy, who was a particularly good leader. And what he would do is ask questions, he would engage all the team members, and diffuse conflicts A group leader [can intervene and potentially] change the dynamics and performance of a group by going around and asking questions, soliciting everyone's opinions, and making sure everyone is heard Sulla expertise da Are You An Expert? Being an expert isn't telling other people what you know. It's understanding what questions to ask, and...

Ancora su Selling Scrum

      Ecco un documento che prova a descrivere il punto di vista di un Project Manager sulla adozione dei metodi agili in un suo progetto: Se fossi un project manager...       Inoltre, oltre a incoraggiare i team che possono avere benefici ad adottare i metodi Agili, ora che sono mainstream è utile anche assicurarsi che l'azienda ha capito quali sono i cambiamenti che i metodi Agili promuovono e lasciargli decidere se li desidera Con una adozione di successo dei metodi agili le persone del team imparano ad assumersi responsabilita, tutte le opinioni vengono ascoltate, le decisioni...

Un esempio di semplicità col TDD

((( continuo la serie di post pratici sulla semplicità. La sfida di Gino qui ora è trovare qualcosa ancora da togliere, da sottrarre per arrivare all'essenziale da cui cominciare, al minimo indispensabile a cui non si può rinunciare  ))) Gino 'e molto ferrato su unit testing, TDD, mocking e tecniche di refactoring per la rottura delle dipendenze.   Si dice sappia fare gli esami del sangue moccando la siringa e il paziente e che sappia separare i semi dall'anguria con un solo short-cut di Resharper   ((( minchia! ))) Ha a disposizione l'intero giorno in pair programming col collega per introdurre lo...

In Sintesi: Design di applicazioni Multi-Threading

Ecco in sintesi una serie di indicazioni utili e per me illuminanti e sorprendenti sul multi-threading: le applicazioni multi-threading sono di un ordine di grandezza più complesse delle altre appicazioni quindi è sensibilmente sconveniente portare in causa il multi-threading quando può essere evitato il ruolo e la principale utilità dello unit-testing e del TDD per le applicazioni multi-threading è quello di portare a disaccoppiare la gestione deil multi-threading dalla logica di business ...

The game is not over until it's over

Come ricordavo qui non è finita fino a quando non è davvero finita : ) E si vede in questa spettacolare azione di Rugby che capovolge il risultato alla fine dei tempi supplementari: guarda il video dal post di Andrea Lo sport sano come palestra del lavoro di gruppo Tags :  Team Work | Agile | Team | 

Product Owner: Pig or Chicken?

Sarà che nel team ho 2 Product Owner, sarà che sono donne !!!   (che Svezia questa Svezia :) e mi ha colpito anche scoprire che qui per gli uomini è normale stare a casa un periodo per la nascita un figlio)   -   Sarà invece che sembra il momento del Product Owner, ecco un altro post per guardare lo sviluppo agile da altri occhi oltre a quelli del developer : Product Owner: Pig or Chicken? Lo trovo utile anche al developer, per guardare di più anche il mondo che c'è intorno Tags :  Team Work | Agile | Leadership | Team | Product Owner | 

Confessions of a serial Product Owner

Una collega ha segnalato nel wiki aziendale un pdf che da una prospettiva inconsueta e interessante sui metodi Agili: Confessions of a serial Product Owner Assolutamente centrato per chi è abituato a coprire il ruolo di Project Manager di un team di sviluppatori. L'autrice, svedese naturalmente, è Anna Forss Il pdf si può scaricare da qui Sempre per Project Manager e Responsabili del team di sviluppo richiamo un altro post interessante: Product Owner: abbraccia l'incertezza Tags :  Team Work | Agile | Pratiche | Leadership | Team | Product Owner |

Un esempio di semplicità con Resharper

((( continuo la serie di post pratici sulla semplicità. La sfida di Gino qui ora è trovare qualcosa ancora da togliere, da sottrarre per arrivare all'essenziale da cui cominciare, al minimo indispensabile a cui non si può rinunciare  ))) Gino conosce tutti gli short-cut di Resharper, praticamente li ha inventati lui  ((( minchia! ))) Il collega che ha introdotto al refactoring ci ha preso gusto e ora Gino vuole avviarlo ... all'uso di Resharper! Per farla semplice da dove comincia? Gino fa il giro dei PC del team e si assicura che tutti abbiano la stessa versione di Resharper e abbiano selezionalo...

L'eccitazione della scoperta, la necessità del no sense e dell'immateriale

Una frase da What Bruce Sterling Actually Said About Web 2.0 at Webstock 09 Creative people don't want to "do it right." They want to share the excitement you had when you yourself didn't know how to do it right. Creative people are unconsciously attracted by the parts that make no sense. And Web 2.0 was full of those. Il cerchio si chiude con la frase di un post segnalato da Bruce Sterling in Boym on Sottsass However absurd this decorative element is, it is absolutely essential for the object’s existence. The functional is connected to the nonfunctional...

Guarda l'insieme: conclusioni

Secondo me il punto chiave del settimo e ultimo principo del  Lean Software Development è che per completare con successo progetti complessi, per far crescere un team una organizzazione serve capire le dinamiche con cui i vari componenti in gioco interagiscono, fare attenzione a non confondere il sintomo con la causa, pesare l'effetto di una azione sull'obiettivo ultimo Come ci si sente a spegnere incendi, ampliare i processi e irrigidire l'applicazione delle norme, analizzare scomporre misurare e ottimizzare ?       per esempio una piacevole sensazione di controllo, poi sorpresa quando problemi che sembravano risolti si ripresentano magari in forma diversa e...

Un esempio di semplicità sul Refactoring

Gino sa tutto sul Refactoring: sa fare refactoring bendato e con una mano legata dietro la schiena ((( minchia! ))) Si è seduto alla tastiera col suo collega e ha 2 ore di tempo per introdurlo al refactoring.  Per farla semplice da dove comincia? Gino comincia dal codice che il collega ha appena scritto. Fa check-in per avere una baseline sicura a cui fare rollback e usa un tool automatico per evitare errori insidiosi. Coimincia a fare questi 6 refactoring insieme al collega: * Estrae codice dai metodi troppo lunghi (>> 30...

Hai un'idea geniale? R E G A L A L A !

Questo articolo su  W.i.r.e.d. IT  racconta l'inizio di qualcosa che può diventare una nuova  (((rivoluzione))) ~ (((evoluzione))) Hai un’idea geniale? Fai come Mr Arduino, regalala. E diventa ricco Sei affascinato dai possibili scenari futuri che si aprono?  Allora ti piacerranno anche i 2 post "premonitori" Riconoscere una buona idea?   e    Isole nella rete Tags :  Team Work | Aziende | Creatività | Innovazione | 

Motivazione nel gruppo di lavoro: partecipazione volontaria

    Mi annoto queste forze che in un gruppo di persone  liberano l'energia  e la voglia di fare   Una volta lette mi sembrano quasi ovvie perché rispecchiano  le migliori esperienze che ricordo di gioco di squadra, sportive e lavorative         La partecipazione volontaria e la libertà d'azione: catalizzano l'interesse, coinvolgimento, passione e responsabilità Cioè un presupposto essenziale per trovare risposte, scoprire soluzioni, produrre i risultati migliori        Una domanda chiara (sull'argomento che si vuole affrontare) e aperta (nei modi, nelle alternative che si possono esplorare e nelle soluzioni a cui si può giungere) un gruppo di persone eterogeneo e fiducia nelle persone...

Semplicità

Come programmatori di computer siamo abituati a risolvere problemi complicati, analizzare le possibili combinazioni, lavorare a concetti astratti. Con tutte le nostre forze E cosi che anch'io ho perso l'abitudine alla semplicità Inizio una serie di post con esempi reali di semplicità (segui il tag Semplicità) Tags :  Team Work | Agile | Semplicità |

Spazio, forma e comunicazione

Il cerchio è la forma geometrica della comunicazione umana paritetica lascia spazio a una comunicazione genuina, aperta e libera Quadrati e rettangoli (sedie e tavoli disposti a) separano le persone. Possono tenere a distanza soggetti in forte conflitto Linee parallele (di sedie) rivolte verso un palco/una cattedra/un pulpito mettono in chiaro chi debba parlare e chi debba ascoltare, sottolineano l'autorita Fonte: OST Tags :  Team Work | Agile | Leadership | Comunicazione | Conflitto | Negoziazione | 

Guarda l'insieme: esempi

Degli esempi dal principio #7 del  Lean Software Development Guarda l'insieme    In una gara di F1 di un pilota può fare uno o più pit-stop. La strategia di gara migliore è quella che lo porta davanti agli avversari all'uscita dell'ultimo pit-stop e non quella che lo tiene davanti a ogni pit-stop     Quando i tempi di sviluppo si allungano o i bug aumentano, la complessità del codice sale o le build si rompono più spesso è utile guardale le cose nell'insieme, capire le...

Siamo poi d'accordo su cos'è cattivo codice ? : Risultati

Ecco le opinioni raccolte su cos'è cattivo codice per noi: Le 3 cose che sono state scelte di più come casi di cattivo codice (95%) sono: Nomi di variabili senza senso, incomprensibili, irrintracciabili Mancanza assoluta di naming convention e metodi con nomi fuorvianti Trovare nel codice la stessa cosa fatta in 10 modi diversi Le 3 cose che sono state considerate di meno come casi di cattivo codice (32-33%) sono:  Mancanza di documentazione sulle configurazioni e sul deploy Assenza totale di Unit...

Sulla persuasione (Selling Scrum)

     Uno che vende numeri del Lotto invece di giocarseli mi lascia perplesso tanto quanto uno che vuole venderti "Scrum" invece di prodursi buon software - nonostante il titolo questo post sulla persuasione l'ho trovato utile : Selling Scrum: How to persuade people to change! Alcune frasi But if you are in a position to give instructions or give orders, you cannot do this unless you have a lot of confidence about what you are saying. However, people's ideas are unreliable things and I would be impressed if we were right half the time. ... ... We are all human and we...

Design di applicazioni Multi-Threading

     Dalla la serie di post e riflessioni che feci sul disegno di applicazioni muti-threading è partito uso scambio interessante su XP-IT e istruttivo Il risultato è una raccolta di indicazioni link e commenti - unica - perché centrata sul  *design*  del multi-threading: Design di applicazioni Multi-Threading       La trovo molto interessante perché si posso trarre idee semplici (una volta emerse si :) ) e efficaci per ridurre la durata/superfice di lock/sincronizzazioni disaccopiare le responsabilità ...

Working Effectively with legacy code: link & riferimenti & sintesi

Raccolta di link, riferimenti, sintesi a complemento del libro Working Effectively with legacy code di M.C.Feathers e su coding (clicca sul titolo per visualizzare)

Imparare a programmare divertendosi 3°

Ormai sta diventando una mini serie Per bambini & per adulti con curiosità entusiasmo apertura coraggio e ben disposti a prendere atto della prova dei fatti  e anche con il ricordo di una passione, la programmazione dei computer, comunciata per divertimento Gioia & divertimento una volta ancora come sinonimo di   apprendimento - impegno - realizzazione - soddisfazione Che questa volta ci porta qui : http://hacketyhack.net/ Tags :  Team Work | Agile | Leadership | Team | Creatività | Innovazione |

Siamo poi d'accordo su cos'è cattivo codice ?

Come ricordava un commento a un post precedente non basta elencare i difetti del codice per risolvere i problemi Per migliorare una code-base il primo passo è  quello di essere d'accordo su cos'è cattivo codice  su quali sono i difetti da rimuovere E' cosi facile?        Partecipa al sondaggio   cliccando qui E poi guarda i risultati (clicca qui) Ultimo aggiornamento: - su 10 dei punti siamo in accordo nel considerarli come cattivo codice - su 12 punti non c'è sufficente accordo  Tags :  Team Work | Pratiche | Team | Conflitto | Negoziazione | Disciplina | Progettazione Software |

Coerenza retrospettiva

        Durante la retrospective un team agile riflettere sugli impedimenti che lo hanno ostacolato nella iterazione appena finita e immagina nuovi approcci che hanno la possibilità di funzionare          &        impara dagli approcci che si sono dimostrati validi alla prova dei fatti        Quello che il team fa quando si guarda indietro e cerca di imparare è crecare la coerenza retrospettiva cioè quelle cose che non è facile scoprire in anticipo o a volte è impossibile perché il progetto si svolge in una situazione di incertezza con cambiamenti frequenti, repentini e imprevedibili     => ? Oltre...

Situazioni da team: sperimentazioni pericolose

    Qualche tempo fa avevo raccolto opinioni su quanto fosse professionale quando nel team 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 Qui il post con ogni singolo feedback e la sintesi finale: Situazioni da team: azzardi tecnologici      In questo post ho trovato una posizione interessante sull'argomento e consiglio di leggerlo: Keeping up is not enough Se qualcuno vuole commentare ancora sull'argomento, naturalmente...

Guarda l'insieme

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 è Guarda l'insieme Guarda alle interazioni e al risultato complessivo che producono, migliorandole complessivamente ottieni benefici maggiori che ottimizzare a singole parti : - gli utenti di una azienda interagiscono con il software e con i colleghi per riuscire nel proprio lavoro...

Esempio di un Open Space riuscito (Domain Driven Development)

Guardando i video della recente UGIALT.NET conference mi ha colpito l'open space a mio avviso riuscito . Annoto alcune cose che ho osservato  •  gli argomenti discussi, i tempi e i modi gli decidono dalle persone che sono li intanto che la discussione va avanti, anche in base a quello che succede e a dubbi e interessi di ognuno     invece     di essere pre-stabilita  da  qualcun altro e condotta in modo unilaterale  •  la conversazione è fatta dalle conoscenze, dalle domande, dai dubbi e dalle singole esperienze pratiche concrete e reali del quotidiano lavorativo dei partecipante e le risposte che si...

Qual'è secondo te codice pessimo?

Quando apri un sorgente e ti viene da ... imprecare :) quando c'è un certo programma da modificare e quindi ... prendi ferie quando guadri lo schermo per ore senza capici niente ... e non sei nemmeno innamorato :)  ... cosa c'è in quel "codice" che ti fa  schifo  ribrezzo ? Tags :  Team Work | Pratiche | Team | Disciplina | Progettazione Software |

Mantieni l'integrità del sistema: conclusioni

Secondo me il punto chiave del sesto principo del  Lean Software Development è che per relizzare prodotti software di successo nel tempo serve l'equilibrio tra agire localmente (quando l'utente usa una funzione, fa una richiesta, definisce le priorità e quando il programmatore scrive un test, fa un refactoring, rilacia una funzionalità, fa un test di accettazione) e pensare globalmente (quando si guarda all'intero dominio applicativo, alla evoluzione del prodotto, alla soddisfazione degli utenti, alla economicità delle soluzioni, alla efficenza degli sviluppi, a che direzione strategica prendere) Come ci si sente con un prodotto eterogeneo, parziale, bacato ?       per esempio l'utente si...

Imparare a programmare divertendosi 2°

Torno sul imparare a programmare divertendosi Who uses Processing? Processing is used by a very diverse group of people, from children first exploring computer programming to professional artists, designers, architects, engineers, and scientists. Processing has a shallow learning curve to make writing code easier for beginners, but it also allows more experienced programmers to write sophisticated software Gioia & divertimento una volta di più ancora come sinonimo di   apprendimento - impegno - realizzazione - soddisfazione Fonte: Processing 1.0 Hits the Web Tags :  Team Work | Agile | Leadership | Team | Creatività | Innovazione |

Scrum: un processo di sviluppo Empirico

Scrum e i metodi agili impiegano dei processi di sviluppo empirici (vedi su wikipedia) cioè che si adattano mentre il processo procede a seconda di quanto accade nel progetto Mentre i processi iterativi incrementali sono definiti nel senso che il processo segue per tutta la durata del progetto gli stessi passi pre-stabiliti e pre-definiti I processi empirici sono : Trasparenti : ogni cosa che ha qualche impatto sul buon esito del progetto devono essere facilmente accessibili e visibili per tutti  (es. i test che passano e quelli che no, la build che fallisce o quella che ha successo,...

Ancora su persone Versus processi

Riporto la prosecuzione del thread sul mettere l'insegnamento dei valori prima di quello dei processi : Teaching Values vs. Process  (qui completa su Linked-In)- Eccola : - 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 - I like that word "intesa". Luca, how do you go about building that on a team? - I try to learn/teach/build it by example. With actions. I strive to act in a transparent, trustworthy and effective manner every...

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 Tags :  Team Work | Agile | Lean Agile | Pratiche | Progettazione...

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...

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 | 

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...

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/ ...

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)  ...

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...

Genio collettivo con Twitter

Rapid exchange of tools and techniques   è   1   degli ingredienti dello  sc enius  cioè il nome che Brian Eno ha dato alla nuova genialità collettiva Mi annoto questo articolo su Twitter come strumento utile allo scopo: How Twitter Creates a Social Sixth Sense e questo su Qwitter: Qwitter, the Darwinian side of social networks La trovo una buona idea per un team distribuito: da provare! Tags :  Team Work | Team | Comunicazione | 

Si può fare!

     Le possibilità che una idea inusuale - che sovverte il senso comune - che contraddice l'esperienza - che ignora i riferimenti assodati - che sgretola i preconcetti - che diverte possa funzionare sono molto più di quante si crede     Specialmente nella programmazione software che è libera dai  vincoli che regolano il mondo fisico: in 20 anni di lavoro non ho ancora visto un problema di programmazione che non potesse essere risolto con una buona idea      In questo video divertente delle persone camminano sulle acque - quanti secondi servono per convincersi che è un falso ?  ...

Imparare a programmare divertendosi

       Boku è un linguaggio di programmazione visuale per creare video-giochi - adulti e bambini possono cosi imparare le basi della programmazione  divertendosi gioia & divertimento ancora una volta come sinonimo di   apprendimento - impegno - realizzazione - soddisfazione Fonte: PDC 2008: Boku for Xbox Teaches Programming to Kids  (altri link interessanti nel post) Tags :  Team Work | Agile | Leadership | Team | Creatività | Innovazione | 

Root Cause Analysis

E' uno strumento utile nelle Retrospective e nei Quartly meeting Questo è un whitepaper che ho trovato interessante sulla Root Cause Analysis: http://www.DaivRussell.com/Fishboning.pdf La fonte è una discussione su Linked-In   trovo interessanti anche i commenti postati Tags :  Team Work | Agile | Pratiche | 

Cercasi direttore d'orchestra per un team di developer

  Un Master Developer per un team di sviluppo software e come un direttore d'orchestra ... Alcuni team sono come una Jazz Band e hanno bisogno di una guida che gli incoraggi a improvvisare Altri team sono come un'orchestra sinfonica e hanno bisogno di una guida per andare tutti a tempo seguendo lo spartito Da Lean Software Development Tags :  Team Work | Agile | Lean Agile | Leadership | Team |

Team Agili completamente distribuiti

Jeff Sutherland (co-creatore di Scrum) e Guido Schoonheim (CTO di Xebia) presentano un caso pratico di applicazione di pratiche agili in team distribuiti. Persone che sono in 2 continenti diversi lavorano nello stesso team e il team raggiunge prestazioni equivalenti a un team co-locato Jeff Sutherland: Reaching Hyper-Productivity with Outsourced Development Teams Questa presentazione è stata fatta al Agile 2008 Conference. Update : 1) Riporto il link all'articolo segnalatomi da Stefano Leli  Distributed Scrum: Agile Project Management with Outsourced Development Teams sempre di Jeff Sutherland 2) E anche il link al blogsegnalatomi da Stefano Fornari Scaling Software Agility  sul tema del scalare i metodi...

Valutare l'adozione delle pratiche agili nel proprio team?

Ecco un'altra opportunità interessante per valutare l'adozione delle pratiche agili nel proprio team: le iterazioni, il testing, requisiti, product owner, backlog, stime, avanzamento del progetto, interruzioni In 8 domande: Avoiding ScrumButt - Nokia Test creato da Bas Vodde alla Nokia Siemens Networks in Finlandia e successivamente modificato da Jeff Sutherland co-creatore di Scrum Qui un commento al test: La caratteristica più innovativa dei metodi agili è di adottare un approccio empirico cioè lo stesso metodo sperimentale  usato nelle scienze naturali e sociali come medicina, biologia, fisica e sociologia Conoscere questo test ci arricchisce di una casistica che si...

Giovanni Allevi

     Trovo che la musica classica assomiglia un po alla matematica e anche all'informatica cioè richiede impegno, metodo, studio, attenzione. Abilità, padronanza e talento. E la passione. E per la migliore musica classica come per la matematica e l'informatica ... impegno non significa sacrificio e gioia non significa svago, bensì   gioia è sintomo di impegno   e realizzazione Giovanni Allevi è un esempio di creatività nella musica classica, annoto queste frasi che lo riguardano: Giovanni per avvicinare Riccardo Muti non esita a travestirsi da cameriere alla cena di apertura della Scala. Per tutta la sera serve vini e porta vassoi, finché estrae dalla...

Riconoscere una buona idea?

Stavo riflettendo che non è sempre facile Citare un autore, un "guru", una sua idea presa da un suo libro/articolo/post, magari a sostegno di una propria tesi,  si Poi quando lui è li presente, cita la stessa idea e giunge a conclusioni opposte, è ancora facile riconoscere che l'idea è buona? Credo sia meno facile Quando una buona idea differente dalla propria viene da un collega  è facile riconoscerla ? Difficile: accettare che la propria idea è meno buona,  credere che riconoscerla  è come cedere la vittoria, temere che possa far perdere la stima E quando finalmente si riconosce una persona come esperta, come...

Ci vuole troppo tempo, non si può fare!!!

      In un team Agile quando il capo progetto (coach) smette di dire    "questo non lo possiamo fare cosi perché non c'è tempo"    e sprona il team a scrivere codice di qualità accade una cosa ... almeno strana !?!?!? Capita di sentire un membro del team dire     "Questo non lo posso fare, ci vuole troppo tempo !!!"           L'ho osservato diciamo pure vissuto in almeno 3 team differenti, di diverse nazionalità, sia con una code-base ampia e legacy che in progetti completamente nuovi e in parte coperti da  test, sia in domini applicativi ampi e molto complessi che in...

How to Choose Quality Candidates/Consultants for Your Large Company Agile Initiative

Nel post likato una dozzina di domande esplorano l'esperienza di un developer con i metodi agili. Sono domande rivolte a chi sta quotidianamente lavorando in un team agile. Spronano a riflettere  sul  contesto in cui si è fatto sviluppo agile, come le pratiche sono state adattate a quel contesto, cosa si è trovato confortevole e cosa disagevole, quanto le proprie attitudini e aspirazioni corrispondono al contesto specifico e al modi di applicare le pratiche agili di una diversa azienda. In breve il post è How to Choose Quality Candidates/Consultants for Your Large Company Agile Initiative Tags :  Team...

Eventi/Workshop Agili

Quando si affronta un tema, si analizza una questione, nella pratica ho imparato che i team agili generalmente hanno la tendenza a valutare apertamente idee e opinione differenti dando ad ogniuna la medesima dignità, cercando di evitare  preconcetti nei confronti di qualcuno o di qualche idea e possibilmente senza deferenza nei confronti di una tesi o di chi la espone C'è partecipazione volontaria e auto-organizzazione  e la cosa mi sorprende sempre un po', più di quando mi sorprende l'approccio classico basato su autorità e gerarchia Questo modo di fare sembra guidare anche l'organizzazine degli eventi legati ai metodi agili,...

Rilasciare il più spesso possibile: esempi e conclusioni

     Dal quarto principo del Lean Software Development alcuni esempi che ho preso dal libro Lean Software Development: Rilasciare il più spesso possibile Quando nel mercato qualcuno riusce a ridurre i tempi di consegna i concorrenti si adeguano per recuperare il vantaggio competitivo oppure ... Nel 1971 la Federal Express ha introdotto le consegne overnight dei pacchi. Anche la L.L.Bean si è adeguata e nel 1980 ha introdotto le consegne in giornata mentre la Sears Catalog non lo ha fatto ed è uscita dal mercato ...

Informatica x digital Design = Business

Un collega ha segnalato questo articolo l'invenzione di una società specializzata nel «multi-touch» Il pavimento che si muove sotto i piedi racconta un esempio reale di applicazioni sw creative a confine tra design e informatica: un nuovo business di successo     Mi ha ricordato questi 2 "vecchi" post Arte digitale e informatica e  Arte digitale e informatica - bis    Trovo interessanti le dinamiche di team che possono crearsi tra Designer prestati alla programmazione con una forma mentale molto creativa e programmatori che lavorano su prodotti di Design con una forma mentale molto strutturata & su come contaminarsi e creare sinergie   ...

Rilasciare il più spesso possibile: altre info

   Altre informazioni sul quarto principio del Lean Software Development Rilasciare il più spesso possibile Questo principio è di complemento anche a altri principi del Lean,         ad esempio il #3  Ritardare la decisione all'ultimo momento responsabile  perché senza velocità nei rilasci si è costretti ad anticipare le decisioni per avere più tempo per metterle in pratica        e il #2 perché il feedback che si ottiene con rilasci frequenti è utile ad Amplificare l'apprendimento        e pure il #1 perché ridurre al minimo codice realizzato e non ancora consegnato significa Eliminare uno spreco Tags :  Team Work |...

Rilasciare il più spesso possibile

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. Il principio #4 del Lean Software Development è Rilasciare il più spesso possibile Cioè riuscire a consegnare in modo affidabile e ripetibile più velocemente aumenta i guadagni e riduce i rischi dell'utente e del team di sviluppo sw Qual'è il tempo minimo (pratiche di coding Agile) che serve al team per produrre qualcosa di valore ? E qual'è il tempo massimo (processo e business) che il Product Owner può...

E' vero anche il contrario

In questo post Il codice che scrivi parla di te ? mi annotavo come alcune caratteristiche del carattere si possono riflettere nel proprio stile di scrittura del codice.    Inizio a pensare che è vero anche il contrario, cioè il proprio stile di scrittura del codice può influenzare il carattere/comporamento. Per esempio da qualche tempo ho iniziato a suddividere ogni user story in piccoli task di 2-4h ogniuno con test refactoring e pronto per il check-in.             Un modo di fare che aiuta a focalizzarsi in una cosa alla volta; incoraggia a osare di più (fare rollback e ricominciare dacapo...

Posta elettronica consegnata da vere lumache

      E' proprio da questo sito www.boredomresearch.net/rsm/  che prende il titolo il post precedente Ma gli androidi sognano anche lumache elettriche ? Tags :  | Creatività | Innovazione | Progettazione Software |

Ma gli androidi sognano anche lumache elettriche ?

If we can imagine it, there's a good chance it can be programmed Vint Cerf, Internet evangelist on the official Google blog E' chiamato       The Internet of Things       è un mondo, imminente, dove gli oggetti fisici e gli esseri umani insieme a spazi e informazioni virtuali interagiscono tra loro in tempo reale in uno spazio comune. In breve tutto è interconnesso E' la realizzazione del neologismo coniato da Bruce Sterling nel 2004        spime       cioè oggetti che possono identificarsi in base alla propria posizione e al tempo.  Ad esempio possono localizzarsi col GPS e...

Ritardare la decisione all'ultimo momento responsabile: considerazione finale

Secondo me il punto chiave del terzo principio del Lean Software Development è che si fa software più velocemente quando si riconoscono gli istanti di non ritorno e si usano a proprio vantaggio Come ci si sente a cercare di scrivere sw ignorando l'ultimo momento responsabile ?       per esempio ci si sente       tranquilli quando il progetto inizia e il tempo stimato è ancora tutto disponibile,       sorpresi quando le scelte prese danno risultati diversi da quelli che servono,       seccati quando non c'è il tempo per fare le cose in modo diverso come la pratica suggerisce,       preoccupati e rassegnati quando la dead-line si...

Quali sono le proprie motivazioni che portano a lavorare in team ?

In fondo io non volevo vivere altro che ciò che   da me voleva sorgere spontaneamente. Perché       era tanto difficile?    H. Hesse, Demian, 1919   Me lo chiedo perché quando ri-conosco quali sono le motivazioni che mi spingono e le mie aspettative, posso seguirle  e assecondarle e anche inseguirle divertendomi di più e riuscendo a farlo meglio.  E' così per tutti. Qui una lista delle possibili motivazioni, tra tutte queste si può provare a riconoscere anche le proprie. Il primo gruppo nasce da bisogni pratici   ___bisogni funzionali___   si tratta di concreta possibilità di interagire e produrre...

Le possibilità sono illimitate e il tempo no

Perchè durante la giornata ci sono cose da fare che si evitano e si rimandano incontinuazione e altre che la voglia di farle non manca e il tempo si trova sempre ? Sia nel lavoro che nella vita personale Ecco 4 caratteristiche di una attività che la possono rendere più o meno appetibile nel flusso delle attività quotidiane: Motivazione: l'attività X è più importante di ogni altra attività in quel momento e quindi viene fatta Leggerezza: l'attività X è talmente facile a farsi che basta...

Il codice che scrivi parla di te ?

Delle volte mi è capitato di notare delle similitudini almeno strane    Ad esempio tra l'approccio che ha un turista nel girare per una città o un museo e il modo che ha di cercare e scovare informazioni in internet con Google        Tra la costanza che ha una persona nella vita di tutti i giorni , la sua capacità di sopportare e superare la frustrazione e di mantenere     calma e fiducia     anche nelle difficoltà  e la sua capacità di affrontare e risolvere  bene problemi di programmazione impegnativi anche in condizioni difficili    Tra l'efficacia con cui una persona riesce tra...

Ritardare la decisione all'ultimo momento responsabile: esempi

Dal terzo principo del Lean Software Development alcuni esempi che ho preso dal libro Lean Software Development: Ritardare la decisione all'ultimo momento responsabile Enrico Zaninotto è l'economista italiano :) che ha mostrato con i suoi studi che quando si eliminano le cose che rendono irreversibile una decisione una volta presa la complessità scende velocemente E ha mostrato che rimandare le decisioni irreversibili a dopo riduce l'incertezza e è una strategia economica conveniente e vincente. Questo è il vantaggio economico che si vuole ottenere dalle pratiche di coding Agile E un po di storia Microsoft. Al Comdex trade Show del...

Ritardare la decisione all'ultimo momento responsabile

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. Il principio #3 del Lean Software Development è Ritardare la decisione all'ultimo momento responsabile Cioè tenersi aperte più possibilità di scelta il più a lungo possibile per decidere dopo aver raccolto più elementi e più fatti concreti. Aspetta a decidere (YAGNI) sino a quando rimandare ancora la decisione eliminerebbe automaticamente  una alternativa importante (Last Responsible Moment)        Usa le pratiche di coding Agile per scrivere  software...

Art Oriented Programming & Live Coding

'Live Coding'   è il termine usato per descrivere performance musicali dal vivo particolari Musica generata dal vivo con codice e algoritmi che vengono scritti e modificati sul palco in tempo reale usando l'editor e l'interprete come strumenti musicali live Alcune frasi da questo articolo on-line ART ORIENTED PROGRAMMING live coder insists on using the code as a speech act. Live Coding is not about finding an algorithm ‘that sounds beautiful’ (the beauty of mathematics and machines) but about interacting with the machine, constantly making alterations and development in the music. 'eXtreme Programming' & 'Live Coding'  questo articolo LIVE CODING: AN OVERVIEW parla invece della  relazione tra...

Situazioni da team: disaccordo con l'utente

L'utente (ma anche il committente o il cliente o il Product Owner) fa una scelta che per te è sbagliata su una funzionalità da realizzare, cosa fai ? accetti la sua decisione: in fondo è lui che paga e ti cauteli mettendo nero su bianco che la decisione è stata sua imponi la tua decisione: perchè sai che è la migliore e ti assumi la responsabilità, onori e oneri gli permetti di  fare una scelta...

Amplificare l'apprendimento: considerazione finale

  Secondo me il punto chiave del secodo principo del Lean Software Development è che si realizza software meglio quando si procede per piccoli passi (rilasci, iterazioni, user-story, check-in, cicli red-green-refactor, pomodori) che svelano  le alternative possibili e tentativi che migliorano la comprensione e guidano alla costruzione del software che realmente serve con del codice che tutti capiscono. Come ci si sente a cercare di scrivere sw nel modo giusto al primo colpo ?       per esempio preoccupati per la riuscita o al contrario esaltati dalla difficoltà, incerti sul avanzamento reale del progetto o sulla validità delle scelte fatte di fretta, innervositi ...

Amplificare l'apprendimento: esempi

Dal secondo principo del Lean Software Development alcuni esempi Amplificare l'apprendimento Quando arrivano nuove tecnologie, quando capita di applicarle per prima volta per quel dominio applicativo dove c'è ancora tutto da scoprire e da inventare, quando serve collaborare e condividere informazioni con altre persone che hanno dei compiti o delle conoscenze molto diverse. Perchè nella scrittura del codice non ci sono i vincoli fisici come nelle altre discipline ingegneristiche il vincolo maggiore è  l'immaginazione, perché il software è che è "facile" da modificare evolvere adattare e personalizzare e questo è importante per l'utente e crea anche la complessità. E...

Amplificare l'apprendimento

    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 è Amplificare l'apprendimento Cioè immaginare le possibili soluzioni e anche le loro varianti e con la pratica imparare scoprire esplorare. Rilasciare spesso e in continuazione, imparare dai risultati delle propria implementazione quando viene usata dall'utente come adattare il software in modo che si dimostri nella pratica ancora più utile all'utente. Tags :  Team Work | Lean Agile | Leadership |

Come se non ci fosse un leader

Lavorando in gruppo senza un leader incaricato ci sono vantaggi e degli svantaggi, un gruppo con un leader di processo può ottenere gli stessi vantaggi e forse anche rafforzarli. Un leader di processo si occupa solo di far progredire il processo. Per questo si prende cura della comunicazione nel gruppo, del fatto che ognuno sia motivato e le condizioni di lavoro siano buone e che le cose con l'esterno del team vadano lisce. Il compito principale di un leader di processo non è di risolvere problemi, fa in modo che il gruppo ci riesca. I vantaggi e gli svantaggi che ci sono quando...

Scene di leadership da film

Un dialogo avvincente in un film così e così (al minuto 2) Robert:  Essere un capo non è questione di abilità, ma di responsabilità. ...

Chi dorme ... è più creativo del 33%

Dr. Ellenbogen’s research at Harvard indicates that if an incubation period includes sleep, people are 33 percent more likely to infer connections among distantly related ideas... In other words, people are more creative after sleep, but they don’t know it. Fonte: http://lifehacker.com/5056071/sleep-boosts-creativity-by-33  E per favorire il sonno: De gregori - Buona notte fiorellino Tags :  | Creatività | 

Quando si può accettare o desiderare la mancanza di un Leader ?

Non che un team non si trova bene col leader che lo guida e preferirebbe un leader diverso, piuttosto si sente proprio di lavorare senza un leader incaricato. Mi annoto in sintesi alcune considerazioni dal Leadership Game di Ignace Hanoulle e Yves Hanoulle a cui ho partecipato. La risposta descrive una situazione ideale in cui il team tiene alti questi valori: creatività, rispetto, realizzazione personale, libertà, responsabilità e amicizia (conoscenza, apprezzamento, fiducia) nel team ci sono solo competizioni sane e non c'è una ricerca del potere che rovina i rapporti dentro il...

Dalla storia dei Pink Floyd 4 insegnamenti per il proprio team

Il libro racconta la storia di una band che ha realizzato alcuni tra gli album più venduti al mondo, è una storia di creatività, innovazione e  successo imprenditoriale. Riporto il link a questo post Four Non-Obvious Things Pink Floyd Can Teach Your Team e qualche  riga  di assaggio. Hiring Based on "Team Fit" is Over-Rated "personality fit" isn't always a requirement—though obviously it sure helps. The ability to get the job done is what matters. Barrett was let go only after he made it clear he could no longer contribute to the team's success. "Dark Side of the Moon contains the best songs...

Disegno versus Produzione 3/3 conclusioni

       Nel disegno si fanno emergere varie alternative possibili che vengono analizzate e esplorate in un processo iterativo fatto di prove e tentativi che migliorano via via la comprensione del problema e della soluzione sino alla definizione del disegno prescelto (vedi ad esempio Modificare metodi interminabili: strategia).        Il primo passo per l'efficenza è distinguere le (re)iterazioni di disegno che in questo modo generano valore dalle (re)iterazioni di produzione che invece sono un "rework" cioè rifare il lavoro che è uno spreco (l'esempio in questo commento)        Il secondo passo per l'efficenza è riuscire a distinguere anche tra le (re)iterazioni di...

Disegno versus Produzione 2/3

       _P_ er realizzare software le attività di disegno e produzione si combinano insieme. Trovo che sia molto facile confondere quello che è disegno da quello che è produzione e molte sviste sul disegno credo che nascono proprio da questo.    Riporto le distinzioni che ho trovato in questo articolo  POSITIVE VS NEGATIVE ITERATION IN DESIGN, G Ballard che propone dei criteri per distinguere vantaggi e sprechi nel disegno e nella produzione.         Il disegno agisce nel mondo del pensiero e della immaginazione per "creare una ricetta"  (strutturare un sw in namespace, in classi, in livelli, etc.),  la...

Disegno versus Produzione 1/3

       _P_ er realizzare software le attività di disegno e produzione si combinano insieme. Trovo che sia molto facile confondere quello che è disegno da quello che è produzione e molte sviste sul disegno credo che nascono proprio da questo.    Designare una applicazione è simile in un certo senso a fare una buona chiacchierata che lascia tutti con una visione più chiara delle cose.  Ci si confronta su più alternative possibili di design, si prendono le idee migliori da ogni alternativa, si verifica la fattibilità e si fanno stime migliori.    Quando invece è simile a uno scontro, le alternative...

Arte Generativa e software-art

C.STEAM 2008, a Torino la mostra dal 19 al 27 settembre l'intersezione tra design e informatica Tags :  Team Work | Creatività | Innovazione | Progettazione Software |

Eliminare gli sprechi: considerazione finale

Secondo me il punto chiave è che si può eliminare sempre e comunque e ci si risparmia il costa dello spreco insieme agli impacci che crea. Basta riuscire a imparare o scoprire il modo di farlo, il limite maggiore è l'immaginazione e la convinzione di poterci riuscire. Come ci si sente a vedere uno spreco che continua a ripetersi?  Irritati perché crea fastidi. Tristi e anche demoralizzati perchè si subisce questo problema. Come ci si sente a scoprire uno spreco e riuscire ad eliminarlo?   Soddisfatti perché si vede proprio che si lavora meglio dopo. Più sicuri e confidenti per essere riusciti...

Eliminare gli sprechi: esempi

  Dal primo principio del Lean Software Development degli esempi di spreco per ogniuna delle  principali categorie di sprechi Eliminare gli sprechi   Quando si raccolgono dei requisiti che poi restano accantonati per un bel po a prendere polvere è spreco (Partially done work)    Quando viene implementata una funzionalità che servirà dopo ma non subito è spreco (Extra features)    Quando due gruppi si rimpallano un lavoro o un problema...

Eliminare gli sprechi

    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 è Eliminare gli sprechi Un cliente/utente quando dice che una certa cosa secondo lui   non da più valore   al suo software, programmare quella cosa è uno spreco.  Anche una cosa che   rallenta   lo sviluppo e il rilascio di una funzionalità...

Perché si può volere un leader

Dal  Leadership Game di Ignace Hanoulle Yves Hanoulle a cui ho partecipato. Mi annoto in sintesi  le ragioni che possono rendere desiderabile essere guidati da un Leader con un approccio di tipo direttivo (che da indicazioni su cosa fare e come) nel realizzare un progetto : Perché assicura il coordinamento es. procura le risorse - assegna i task alle persone nel modo più appropriato - si assicura che i task più importanti non siano trascurati e quelli minori non siano seguiti più del necessario ...

Letteratura & Informatica ??? Si

In quella trasmissione in bianco e nero  a ora tarda un gruppo di persone con l'aspetto di intellettuali e accademici erano sedute in modo sparso e informale in una stanza parlavano di letteratura in francese (la trasmissione tv era in b/n, i sottotitoli ... no). Un quadro esistenzialista sembrava. Quando il professorone (il + vecchietto del gruppo) mi comincia a parlare di grammatiche, sintassi, semanti, ricorsione e mischiarla a argomenti letterari e filosofici. Ci mancava solo una canna!!!! L'altra sera mi sono sorpreso quando ho scoperto che Noam Chomsky quello che ha sviluppato la teoria delle grammatiche...

Managing Talented People

Trovo che la categoria di noi informatici è composta da persone davvero particolari... capacità superiore alla media nel affrontare le astruse complicazioni dell'informatica , passione per il proprio lavoro che tiene attaccati alla tastiera ore e ore, curiosità che spinge a cercare la soluzione per i problemi più difficili senza sfiduciarsi e arrendersi,  capacità di analisi di infiniti dettagli, tenacia nel lavorare con macchine sorde e incorruttibili questo a volte significa anche ... parlare in un gergo difficile da capire,  niente margini per dare quel qualcosa in più perché si stà già dando il massimo sempre e comunque, far...

Manager e politiche aziendali: troubleshooting

Studiando le dinamiche interne delle aziende con cui evolvono e si trasformano e quelle con cui si innovano si è scoperta l'importanza che hanno le politiche aziendali. Formalizzando matematicamente le politiche di una azienda (vedi Dynamic systems) e usando questo modello in una simulazione al computer si riesce spesso a predire i limiti di crescita determinati dalla struttura stessa di quelle politiche e cioè si riesce a predire i principali ostacoli e le maggiori difficoltà che l'azienda si troverà ad affrontare (vedi il pdf System Dynamics and the Lessons of 35 Years ). Nel momento in cui si raggiungono...

Codice con le rughe - 3/4 (e resto mancia)

Quand'è che un programmatore considera un codice sorgente "Legacy" ??? Quando e come quel codice è diventato Legacy ??? Visti i link, letti i commenti, l'idea che mi convince sempre di più è questa. Visto che non è una tecnologia superata a rendere un codice Legacy - visto che non è il fatto che il codice non è documentato e nessuno sa più cosa fa come e perché a renderlo Legacy  - visto che non è il tempo che passa e non è l'uso che lo consuma a renderlo Legacy - vista la difficoltà di leggere il codice rispetto la facilità a...

Codice con le rughe - 2/4

Quand'è che un programmatore considera un codice sorgente "Legacy" ??? Quando e come quel codice è diventato Legacy ??? Letti i commenti al post precedente faccio alcune riflessioni:    - L'idea che il codice diventa legacy perchè impiega tecnologie superate funziona poco.  Il codice sorgente di Sw di successo resta in onorato servizio diversi anni dopo la comparsa di nuove tecnologie alternative. Ad esempio Don Box disse 'mscoree is the last COM DLL' - chi fa software in ambiente Enterprise sa invece quanto è ancora indispensabile l'interoperabilità con COM perché il codice in questa tecnologia è ancora presente e vivo.     -...

Codice con le rughe - 1/4

Il software ha due caratteristiche davvero singolari che non ci sono negli oggetti comuni di tutti i giorni e nella maggior parte dei prodotti industriali. William Gibson in Mona Lisa overdrive sembra conoscerle bene, è così che Angie, 3Jane e Continuity realizzano il sogno della Tessier-Ashpool di raggiungere l'immortalità nella matrice. Il software per quanto viene utilizzato (compilato o eseguito) non si usura ne si consuma -  e  - col passare del tempo non invecchia ne deperisce. Allora cos'è che fa diventare il codice sorgente Legacy  ???   quand'è che un programmatore considera un codice sorgente "Legacy" ??? Update E quindi _quando_ e _come_ quel...

Web Service: Mobile Agent + servizi + risorse

Aggiorno e dettaglio un idea che avevo già accennato sulla progettazione di Web Service e di applicazioni che li utilizzano. Un Web Service può fornire un servizio: un risultato finito e fruibile come l'esito della ricerca delle citazioni di un dato articolo tra i libri di una banca dati, o l'invio automatica di un allarme fatto dal sistema di controllo della cella frigo quando la temperatura sale oltre la soglia di congelamento. una risorsa: la copia digitale di un dato in...

Modificare metodi interminabili: strategia

Il modo naturale di procedere per scomporre metodi troppo lunghi?     procedere per tentativi facendo passi in avanti e ogni tanto passe indietro: ad ogni tentativo il disegno originale apparirà più chiariro e cosi il modo di procedere. Ad esempio tovato un grande if o switch si può cominciare a estrarre in metodi i corpi degli if e in funzioni le espressioni condizionali  oppure estrarre insieme nello stesso metodo la condizione insieme al corpo del if. La prima strada può evidenziare corpi di if uguali richiamati in diversi punti del metodo, la seconda può evidenziare if interi ripetuti. Provare aiuta ad avvicinarsi...

Modificare metodi interminabili: quando il tool di Refactoring manca

Quando è necessario modificare un metodo lungo centinaia o migliaia di righe di codice e modificare un comportamento esistente senza l'aiuto di un tool di refactoring conviene   SCOMPORRE IL METODO ABNORME E METTERLO SOTTO TEST   applicando delle tecniche specifiche. Visto che è difficile scrivere dei test sul quel metodo, allora si inserisce il test dentro il metodo. L'idea consiste nel inserire delle variabili di rilevazione nel codice del metodo che "misurano" se si è comportato correttamente e queste variabili vanno a testare le stesse cose che si testerebbero se si potessero scrivere test unitari sul metodo abnorme.  La prima è...

Limitare le interruzioni

Scrivere codice è una di quelle attività che funziona meglio senza interruzione invece che in multi-tasking          Il codice risulta migliore e il lavoro richiede meno tempo        Punto. Nel mondo reale può capitare che le cose cambiano senza preavviso  (una data, un requisito, una priorità è cambiata) anche cose che hanno conseguenze sul codice che si sta scrivendo. E può capitare che un collega o un cliente in ritardo abbia un grosso bisogno di aiuto per cavarsela. Ecco perchè saltare come una molla da una cosa all'altra funziona tanto quanto (il suo opposto ossia) chiudersi in una bunker e...

Modificare metodi interminabili: scomporli

Quando è necessario modificare un metodo lungo centinaia o migliaia di righe di codice e modificare un comportamento esistente conviene   SCOMPORRE IL METODO ABNORME E METTERLO SOTTO TEST   con l'aiuto di un tool di refactoring come Resharper.  La strategia è quella di separare la logica dalle intricate dipendenze nel codice e quindi sradicare le dipendenze (ad esempio sostituendo i riferimenti a classi concreti  con riferimenti a interfacce) per semplificare il test del codice. Il metodo non è già coperto da test e quindi è necessario cominciare applicando solo i refactoring previsti dal tool (principalmente RefactoringExtractMethod e RefactoringRenameMethod) evitando refactoring manuali che non sono sicuri senza ne test...

Modificare metodi troppo lunghi

Sto parlando di modificare un metodo lungo centinaia o migliaia di righe di codice non coperte da test.   Quando la modifica è   UNA NUOVA FUNZIONALITA' DA AGGIUNGERE   cioè che non modifica comportamenti esistenti il punto è quello di non peggiorare ancora la lunghezza del metodo e di testare almeno la nuova funzionalità che si implementa. L'idea è implementare la nuova funzionalità in un altro metodo e di richiamarlo dal metodo già troppo lungo.  In questo modo il metodo originale si allunga solo di una riga. Per rendere testabile il nuovo metodo serve renderlo indipendente dal contesto passandogli le informazioni che gli servono come parametri. Questo pattern si chiama...

Single-goal Editing

Ecco un'altra cosa che richiede disciplina e faccio fatica a seguire - ma non mi arrendo : fare una cosa alla volta quando si scrive codice Per esempio devo modificare un metodo di un oggetto perché accetti un enum con 3 valori invece del booleano che ha ora per poter gestire una nuova casistica: Inizio la vodifica e mi accorgo che sul form c'è da sostituire il check-box con 3 option button quindi interrompo la modifica del metodo e vado sul form. Sistemato il form torno al metodo, proseguo con la modifica quando mi accorgo che ci sono 3 if che...

La qualità del codice che fa la differenza nella pratica

Lavoro nel team di cui faccio parte da quasi 3 anni.  Un tempo in cui lo stile di programmazione nel team si è evoluto migliorandosi. Cosi quando c'è uno sviluppo da fare mi trovo a lavorare di volta in volta su codice di qualità differenti, questo mi ha permesso di vedere in pratica le diverse caratteristiche di qualità del codice e gli impatti che hanno sul mio lavoro: tempi, affidabilità, risultato finale. In generale percepisco 4 diversi livelli crescenti di qualità del codice: Facilità di trovare dove fare la modifica Dipende...

Strategie per togliere duplicazioni nel codice

Rimuovere le duplicazioni nel codice raramente è una sequenza lineare di passi in avanti. Ci sono modi diversi di scegliere da quali duplicazioni cominciare, modi diversi di eliminare ogni duplicazione, e durante ogni eliminazione si possono evidenziare nuove duplicazioni.    Qual è il modo naturale di procedere per rimuovere il codice duplicato?  Il modo naturale è di procedere per tentativi facendo passi in avanti e ogni tanto passi indietro: ad ogni tentativo il disegno originale apparirà più chiaro e cosi il modo di procedere. Questo è un punto in cui Team System ha una carenza. Infatti ci sono CVS che permettono di fare check-in locali e...

Eliminare il codice duplicato: la scelta non è meccanica

  Scelta la duplicazione da rimuovere e i refactoring da usare capita anche che ci sono più alternative per rimuoverla e quindi bisogna   scegliere il modo di rimuovere la duplicazione  .  Per fare un esempio, il metodo   void C { a(); a(); X(); a(); X(); X(); }  può essere  trasformato in         void C { aa(); X(); a(); XX(); } oppure in        void C { a(); aX(); aX(); X(); } In questo caso nel cercare un nome per il metodo ottenuto in un modo (nel esempio un nome per aa() e XX()) e quello ottenuto nell'altro (nel esempio u nnome per aX())  scegliere quello col nome che ha più senso aiuta a fare la scelta giusta. Un altro criterio...

Eliminare il codice duplicato: i refactoring

E' arrivato il momento di     raccogliere il fattore comune     del codice duplicato e unificarlo in un solo punto eliminando cosi le duplicazioni. Annoto alcune indicazioni da  Working Effectively with legacy code di M.C.Feathers .        Quando la duplicazione riguarda una porzione di codice o una parte di una espressione dentro un metodo si applica il RefactoringExtractMethod.        Quando la parte duplicata è una espressione, ad esempio una espressione condizionale applica il RefactoringDecomposeConditional .               Quando la parte duplicata è un metodo intero e relative variabili di classe si applica il RefactoringExtractSuperclass.                   Quando la duplicazione riguarda buona parte di un metodo a meno di piccole differenze, si applica...

Eliminare il codice duplicato: da dove cominciare

Trovate le duplicazioni il passo seguente è    scegliere quale duplicazione rimuovere per prima   :  in basa alla scelta fatta il risultato finale, il codice e la sua struttura, saranno diversi.  L'esperienza insegna di cominciare dalla duplicazione più piccola perché una volta rimossa emergeranno nuove informazioni e nuove duplicazioni cominceranno ad essere più evidenti.   Riferimenti: Working Effectively with legacy code di M.C.Feathers   Tags :  Team Work | Agile | Pratiche | Progettazione Software |

Eliminare il codice duplicato

Il primo passo è quello di   riconoscere il codice duplicato  .  Quando il codice è il cut-and-paste di un altro codice o di un metodo è abbastanza immediato riconoscerlo. Altre volte le duplicazioni sono piccole parti di codice riscritto uguale (una riga di codice o una parte di una espressione) in molti posti. Ci sono anche delle sequenze di codice che si ripetono con lo stesso ordine e a volte in ordine differente o interi metodi che differiscono per piccoli dettagli (vedi Refactoring e il CatalogoDelleCodeSmell). Questi casi di codice duplicato si trovano cercando a vista con pazienza e facendo esperienza. Un altro approccio reattivo cioè quello di...

Fare check-in spesso & di una cosa alla volta!

Com'è difficile essere disciplinati nella scrittura del codice: è da 3 iterazioni che ci ri-cado almeno una volta !!!! Il punto è questo: fare check-in spesso [1]  , più volte al giorno e di una singola cosa alla volta Oggi è andata cosi, ho cominciato ad aggiungere un tipo per una nuova feature e scrivendo i test mi sono accorto di alcuni namespace di test da rinominare, mi sono fatto prendere la mano e ho spostato anche un namespace del Assembly da testare e poi questo ha richiesto di modificare tutte e 3 le applicazioni che lo usavano. Sono andato avanti fino alle 8 per fare check-in e la...

Lasciagli scoprire la risposta

Un buon coach invece di dare la risposta per ogni problema, da un suggerimento e lascia allo sviluppatore scoprire la sua risposta. Quando  torna a mani vuote il coach può sempre dare ulteriori suggerimenti (o anche la risposta), quando torna con qualche idea il coach lo aiuta a valutare i pro e i contro, quando torna con una soluzione migliore di quella che il coach aveva pensato il coach può imparare da quella esperienza e condividere le sue conoscenze. Questo ha diversi vantaggi, aiuta a imparare come approcciare un problema insegna...

Individuare le responsabilità di una classe

Quando capita di trovarsi con una classe troppo grossa (con 20-60 di metodi) probabilmente li ci sono troppe responsabilità, conviene individuarle e poi estrarle mettendole in nuove classi Ecco alcuni modi di individuare le responsabilità a partire dal codice esistente di una classe: Scrivi i nomi di tutti i metodi della classe insieme alla visibilità (public, privare, friend, internal, ...) e prova a raggrtupparli in base alle similitudini nel nome Guarda i metodi privati, internal e protected. Quando sono molti probabilmente li c'è una classe nella classe.  Una classe...

Disegno del codice che usa Framework e librerie di 3ze parti

 Sun per Java  e  Microsoft per .NET  hanno un framework esteso che soddisfa molte delle esigenze comuni nello sviluppo di software. E ci sono anche varie  librerie di 3ze parti  che capita di usare nelle proprie applicazioni. Questo può portare a realizzare codice composto da una sequenza di chiamate a librerie / framework, difficile da testare e difficile da capire.  In passato mi è capitato di scrivere codice in questo modo e di trovare codice fatto cosi  e non è stato facile lavorarci. L'altro svantaggio è la dipendenza inestricabile che si crea con il framework o la libreria. E questo ha un impatto economico e strategico...

Materiale dal ESSAP 2008

  Il materiale della 3rd European Summer School on Agile Programming riguardo Agile Loop , i Mini-Project, la sessioni sui Test di accettazione, un report dal campo sulla adizione dei metodi agili in azienda e la stima e pianificazione è qui: http://essap.dicom.uninsubria.it/pmwiki.php?n=Main.CourseMaterials Altro materiale sugli Agile Loops: http://www.xpday.net/Xpday2007/session/XpLoops.html La tecnica del pomodoro: http://www.tecnicadelpomodoro.it/tdp.html Il materiale relativo al Leadership game: http://www.paircoaching.net/docs/LeadershipGame.pdf     Tags :  Team Work | Agile | Pratiche | Leadership | Team | Team building | Progettazione Software |

Il management quanto ascolta i feedback del team ?

Quando c'è ... una decisione da prendere sul progetto una azione importante da intraprendere per rispondere a una esigenza del cliente una scelta tecnologica che ha impatto strategico un bisogno di formazione per rispondere ai progetti da realizzare e al proprio percorso di crescita ...

Questa volta le formiche siamo noi

  Eric Horvitz, ricercatore dei Microsoft labs, usando gli utenti del messenger come una volta gli scienziati usavano le formiche da laboratorio è riuscito a dimostrare la teoria dei sei gradi di separazione ipotizzata e studiata dallo psicologo sociale negli anni 60. L'articolo con i risultati della ricerca (per cui i gradi in realtà sono 6.6) è stato pubblicato su Nature e un abstract della ricerca è disponibile on-line.   In questo post che anticipa di qualche mese i risultati di questa ricerca, ci sono alcuni temi affini: L'intelligenza che emerge dalla rete  L'aspettatita è che altri risultati emergeranno dallo studio dei dati delle prsone che...

Il costo del turnover

   Per una azienda il turnover di lavoratori è un costo.   Ed entro certi limiti è anche utile: quando riguarda lavoratori con basse prestazioni e quando i nuovi arrivi portano energie fresce e nuove idee.   Un certo livello di turnover è fisiologico. Ad esempio il turnover annuo nel settore industriale della tecnologia negli Stati Uniti  per il 2007 è del 10.6% (vedi qui).   Una azienda a causa del turnover di un lavoratore tipicamente sostiene  una serie di costi, ad esempio: Exit costs Recruiting ...

Immaginazione e conoscenza

  “ Imagination is more important than knowledge” For knowledge is limited to all we know and understand, while imagination embraces the entire world, and all there ever will be to know and understand — Albert Einstein Tags :  Team Work | Creatività |

Milioni di cose ancora da scoprire x scrivere buon codice

  proprio quando credevo di aver  imparato   tutto quello che c'è da sapere sulla programmazione scrivere proprio codice intendo, scopro che ce nè altrettanto ancora da imparare !!! un po come migliorare il tempo del giro in go-kart, per passare da 50'' a 48'' ce n'è da fare, provare, capire, imparare, forse  piu di quello che è servito per passare dai 60'' ai 50'' (oh, nella gara di go-kart  tra colleghi sono pure arrivato ultimo)! è che arrivato ai 50'' per abbassare ancora di 2'' al primo momento pare che sia questione di dettagli infinitesimali, tutta roba da   perfezionismo maniacale e talento naturale....

Lascia decidere l'utente

Quando c'è da prendere una decisione che ha impatto sul lavoro del'utente il compito dello sviluppatore, del coach e del project manager è quello di lasciare scegliere l'utente (il product owner). Anche se nel team c'è un esperto di dominio che conosce perfettamente il business dell'utente, difficilmente può conoscere la quotidianità in cui l'utente lavora e tutte le implicazioni della decisione sul suo lavoro. Ma anche se ipoteticamente le sapesse, l'utente è un'altra persona e quindi ha priorità, obiettivi, metri di giudizio propri. Le differenze sulla priorità/importanza sono più di quelle che si è portati a credere. In "The Manager as Negotiator" (D.A....

Imparare a cooperare con un compito difficile da assolvere

  La risoluzione dei conflitti si è evoluta nel tempo dalle forme più costose a quelle più vantaggiose: la lotta il ricorso ad autorità e norme condivise le transazioni la collaborazione  Ci sono ad esempio dimostrazioni che comportamenti collaborativi possono emergere in modo spontaneo anche in assenza di una autorità centrale (Robert Axelrod) o descrizioni le caratteristiche che hanno i negoziatori migliori (Neil Rackham, 1999). Anche se non spiegano come nel tempo l'uomo ha imparato la collaborazione e perchè sceglie di collaborare. Anzi, studiosi in psicologia e...

Parmenide, Eraclito e von Neumann

Leggendo questa citazione di von Neumann ho ricordato quella di Parmenide e Eraclito   « Non ci si può bagnare due volte nello stesso fiume, perché né l'uomo né le acque del fiume sono gli stessi »  (Eraclito, Battiato)     « E neppure è divisibile, perché tutto intero è uguale; ... Perciò è tutto intero continuo: l'essere, infatti, si stringe con l'essere ... Ma immobile, nei limiti dei grandi legami ... E rimanendo identico e nell'identico » (Parmenide, Monismo, Uno)   « Non c'è motivo di essere precisi riguardo a qualcosa quando non conosci quello di cui stai parlando  » (von Neumann)   Tags :  Team Work | Agile | Progettazione Software |

Retrospective con time-line

Matteo ha appena pubblicato le sue foto del ESSAP 2008 tra cui quelle della Retrospective conclusiva con la tecnica della time-line e dei bollini :   Pre-ESSAP, Domenica, Lunedi, Martedi         Mercoledi, Giovedi, Venerdi e la discussione            Ognuno ripercorre a memoria un giorno della settimana alla volta e pensa a ricorda cosa è successo quel giorno,  una cosa __  che ha apprezzato __  di cui si lamenta e ha delle raccomandazioni __  che lo lascia perplesso...

Foto da team agile

Nella vita di un team agile arriva il momento della foto, un po come accade a una squadra di calcio, di pallacanestro o di rugby Ci sono le foto ufficiali in posa con la divisa e quelle scattate durante l'azione che mi danno il senso di essere più "vere" Ecco le foto certamente originali di 2 team di cui faccio parte (clicca x ingrandire) :   Tags :  Team Work | Agile | Team | Team building |

Feedback, feedback, feedback e sharing, sharing, sharing

Feedback, feedback, feedback e sharing, sharing, sharing ... sono parole prese dal post di Marco Fiocco anche lui al ESSAP 2008 - e veneto come me ;-) E queste alcune immagini del feedback raccolto e condiviso in team (( (clicca x ingradire xXX - info sul tooltip) )) : Feedback dopo l'introduzione          La prima Retrospective ... feel good, feel what ???              Retrospective, altro formato per le azioni ... start this, keep that, stop what ?       Altra Retrospective in giardino ... appreciation e altro ancora        Sharing sharing sharing              Tags :  Team Work | Agile | Pratiche | Team | Comunicazione | Conflitto | Negoziazione |

Situazioni da team: palla avvelenata

  Ti viene assegnato una User Story per un progetto e non sono chiare le responsabilità ne la disponibilità delle risorse&nbspegrave; sarà un probabile insuccesso   Cosa fai per spendere il tuo tempo al meglio per la tua azienda e per il tuo patrimonio professionale fatto di competenza e credibilità? Rifiuti il compito sino a quando non viene fatta chiarezza Accetti il rischio e cominci anche se potrà finire con un gran dispendio di energia e pochi risultati Ti adoperi...

ESSAP 2008: Una settimana di training Agile full-immersion

  Questo venerdì ho completato una settimana molto intensa e fruttuosa di formazione sulle metodologie Agili alla 3rd European Summer School on Agile Programming o più brevemente ESSAP 2008. Hanno partecipato studendi universitari e dottorandi di tutta europa (Italia, Austria, Belgio, Olanda, Bulgaria) e oltre (Pakistan, Canada e Argentina) e professionisti esperti ( io sono tra questi ;-) ). Hanno partecipato come tutor e speaker gli organizzatori dalla Università dell'Insurbia tra cui Matteo Vaccari  Federico Gobbo e Vieri del Bianco, alcuni professionisti e consulenti che già impiegano i metodi agili (per es. in ThoughtWorks e in Funambol) e Coach con esperienza internazionale di insegnamento e utilizzo dei metodi agili su gradi progetti e per...

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...

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...

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

  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 |

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...

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...

Spacchi pietre, sbarchi il lunario o costruisci cattedrali ?

( Gypsy di Susanne Vega : la notte è la cattredrale in cui si rivelano i segni del nostro destino ) Segnalo un articolo interessante : Stonecutters, Paycheck Earners, or Cathedral Builders?  Alcuni estratti “I’m cutting stone, what does it look like? I cut stone today, I cut stone yesterday, and I will cut stone tomorrow!” “I’m making a living for my family.” “I’m building a Cathedral!” . . . if a person is annoyed with his job, does he: Complain? He is probably a stonecutter. Ignore it? He is probably a paycheque earner. Fix it? He...

Groupthink

           Un indicatore importante in un team è che quando funziona ci si diverte - all'impegno che si mette segue la soddisfazione per le difficoltà superate A volte si può essere team, coesi, e ... Si chiama Groupthink e consiste nella perdita delle capacità critiche del team (leggi anche reparto o azienda) a causa della lealtà verso il team stesso.    8 indicatori : Illusions of invulnerability creating excessive optimism and encouraging risk taking. Rationalising warnings that might challenge the group's assumptions. Unquestioned belief in the morality of the group,...

Intelligenza collettiva, altre definizioni 3°

  Concludo la terna con degli esempi di varie forme di inteligenza collettiva: political parties, military units, trade unions, and corporations: __Queste 3 nuvole le trovo molto evocative Coordinazione ... immagino una figura di nuoto sincronizzato      Cooperazione ... immagino una touche del rugby, i piloni alzano il saltatore durante una touche            Cognition~Conoscenza ... immagino le conquiste appena consolidate e la nascita di nuove idee per il futuro durante una retrospective Fonte: http://en.wikipedia.org/wiki/Collective_intelligence  Tags :  Team Work | Complessità | Team | Conflitto | Negoziazione | Creatività | Team building |

Alan Turing sulle ... Congetture

Una citazione di Alan Turing del 1950 « L'opinione popolare che gli scienziati procedano inesorabilmente da un fatto ben stabilito a un altro fatto ben stabilito, senza che intervenga mai l'influenza di una congettura non ancora provata, è del tutto errata. Purché venga chiaramente messo in evidenza quali sono i fatti provati e quali siano le congetture, non può risultare alcun danno. Le congetture sono di importanza fondamentale , dato che suggeriscono utili linee di ricerca. » Tags :  Team Work | Creatività | Innovazione |

Intelligenza collettiva, altre definizioni 2°

  Ancora altre descrizioni-definizioni di intelligenza collettiva raccolte dalla rete : Collective intelligence , the most rigorous definition would require a capacity to respond to very arbitrary conditions without orders or guidance from "law" or "customers" that tightly constrain actions Fonte: http://en.wikipedia.org/wiki/Collective_intelligence Individuals who respect collective intelligence, say Atlee and Pór, are confident of their own abilities and recognize that the whole is indeed greater than the sum of any...

Mescolare bene esperienza e capacità di imparare facendo

  I veloci cambiamenti del mercato e della concorrenza, i cicli di vita ridotti dei nuovi prodotti e la velocità con cui emergono nuove tecnologie evidenzia ogni giorno l'importanza di saper reagire e adattarsi in fretta - e questo si riflette anche nei software      Per molte sfide cioè reagire e adattarsi è indispensabile perché non è possibile prepararsi in anticipo ad affrontare eventi non prevedibili o totalmente nuovi e sconosciuti.    Altre sfide riguardano domini/tecnologie/etc  talmente nuove e anche se conosciute di esperti reperibili in tempo non ce n'è.    E ci sono sfide che affrontano eventi conosciuti e solo in parte prevedibili, preparasi a tutte le possibili...

Innovate or die ? parte III

Alcune note dall'articolo "Get Lean. Get Innovative." di Dan Markovitz presidente di TimeBack Management  segnalato dal post di Marco. "Innovate or die." That's the mandate of the global economy these days. ... Does your staff have this time? Or are they so busy fighting fires? ... More than anything else, innovation requires time:  time to think, to dream, to experiment, to break the rules, and to rewrite them .   Google incoraggia i suoi dipendenti ad impiegare il 20% del loro tempo in progetti insoliti 3M incoraggia il loro staff tecnico ad investire il 15% del loro tempo in progetti personali Chiquita ... "rapisce"  le sue persone migliori, le toglie dal lavoro day-by-day e gli chiede...

Imparare nuovi modi di fare le cose

  In questo periodo ho (ri)provato di persona cosa aiuta a imparare nuovi modi di fare un task / un lavoro e cosa invece è di ostacolo. In particolare ho osservato che in condizioni di  urgenza ,  rischio  o  pressione  interna (es. aspettative elevate sul proprio risultato) oppure esterna (es. aspettative improprogabili del cliente) è normale tornale ad adottare i vecchi modi di fare noti e consolidati.     Imparare facendo   in attività lavorative reali con la guida di un trainer esperto scherma la pressione e riduce il rischio cioè creai 2 presupposti importanti. Anche  esercitarsi  autonomamente elimina l'urgenza e rischio e la pressione esterna e permette di acquisire confidenza e fare propri...

Intelligenza collettiva, altre definizioni

  In rete ho trovato altre descrizioni-definizioni di intelligenza collettiva   Collective intelligence is a form of intelligence that emerges from the collaboration and competition of many individuals Fonte: http://en.wikipedia.org/wiki/Collective_intelligence Collective intelligence is the capacity of human communities to evolve towards higher order complexity and harmony, through such innovation mechanisms as differentiation and integration, competition and collaboration Blog http://www.community-intelligence.com/blogs/public/     Tags :  Team Work | Conflitto | Negoziazione | Team | Complessità |...

Individualismo illuminato

             Q ual è l'attegiamento che ottiene i migliori risultati nella negoziazione?   Diverse fonti sono d'accordo che è la forte ambizione personale verso il proprio rendimento combinata a una uguale attenzione ai rendimenti della controparte :  porta a un efficace processo di interdipendenza, promuove la negoziazione integrativa e infine produce rendimenti superiori   !      Lo mostrano le sperimentazioni di laboratorio descritte nel 1984 da Ben Yoav e Pruitt. Dimostrarsi sempre per primi disponibili a negoziare in modo cooperativo , essere pronti a cambiare stile in conseguenza alle scelte della controparte è la strategia più efficace come dimostrano nel 1984 gli studi e le simulazioni di...

Momenti di disaccordo nel team - 3°

          Concludo completando le ultime annotazioni  che ho raccolto da varie fonti su comportamenti utili ad affrontare il disaccordo che poi è normale attraversare lavorando in team  :    A scoltare le proposte di tutti nel team e valutarle con pari attenzione e considerazione senza pregiudizi  U n accordo generale di fiducia e rispetto reciproci nel team fa da cornice alla situazione di disaccordo e rassicura sulla capacità e volontà di superare insieme e indenni anche situazioni di disaccordo ...

I metodi Agili riscrivono le convenzioni ?

      Sto scoprendo che i metodi Agili guardano le cose da un punto di vista inconsueto rispetto alle abitudini consolidate nel modo classico di condurre i progetti software.  Quasi promuovono una nuova forma mentale.   Ecco gli esempi che ho raccolto senza dimenticare il  m a n i f e s t o :   La cultura del imparare invece del evitare gli sbagli Consuntivo sulle funzionalità e sul valore consegnato invece delle stime di previsione e consuntivo dei tempi Far emergere i possibili problemi per...

Le caratteristiche che hanno i negoziatori migliori

Riporto un elenco di caratteristiche comuni tra i migliori negoziatori, sono comportamenti che li distinguono da quelli medi  (Neil Rackham 1999) :   su ogni questione negoziale durante la preparazione individuano in media 5,1 opzioni contro le 2,6 degli altri orientano il 40% delle loro riflessioni su possibili aree comuni di accordo con la controparte mentre gli altri  orientarno il 90% su aree di potenziale conflitto fanno commenti sulle possibili implicazioni future in misura doppia...

Momenti di disaccordo nel team - 2°

  Ho raccolto da più fonti delle singole tracce su comportamenti che "funzionano" meglio di altri per attraversare un periodo o una situazione di disaccordo nel team.   Non ho trovato una unica fonte che parlasse specificatamente di questo = ben vengano link e indicazioni. Per ora mi limito di raccogliere qui sotto le annotazioni che ho trovato Riconoscere che l'altra posizione è lecita e comprensibile anche quando è differente dalla propria Sapere...

Momenti di disaccordo nel team

       Łavorando in team mi capitano questioni del tipo  'per questa feature usiamo i Web Services o il Remoting?' o anche  'di frequente c'è qualcuno che arriva tardi allo stand-up meeting. Mettiamo una multa simbolica, entra solo chi è in orario o spostiamo il meeting più tardi?'        Probabilmente perché condividere le decisioni oltre che le responsabilità è basilare quando si è parte di un team. Ho notato che alcune decisioni richiedono tempo prima di trovare l'accordo e altre non sono fondamentali e si vive anche senza.  Cioè anche con la volontà e i mezzi per risolvere i conflitti è lo stesso consueto attraversare periodi di...

Creatività & professione

  Una frase rubata da 'L'Accademia dei sogni' di William Gibson «         Oggi la maggior parte della creatività è rivolta la commercializzazione invece che ai prodotti stessi, che siano scarpe da ginnastica o lungometraggi.  Ecco perché ho fondato la Blue Ant »   Un altro libro ironico e sprezzante    Lire 26.900   di Frédéric Beigbeder che racconta cosi il mondo della creatività e del marketing  -  dal punto di vista di un creativo   Tags :  Team Work | Creatività |

Negoziazione integrativa : nasce dalle differenze

   L a possibilità di generare nuove risorse da un conflitto, cioè fare un accordo integrativo, si basa sulla diversità di interessi che c'è tra le parti cioè  interessi sufficentemente diversi da non essere totalmente sovrapposti.   Questo è possibile molto più spesso di quanto si è portati a pensare Il trucco è ... Esplorare le differenze e superare la limitata visione di ciò che è possibile Aiuta molto porre domande, l'ascolto attivo e la domanda magica "perchè?"   Ci sono   3  categorie di differenze presenti in abbondanza tra le parti   :     Differenza sulla stima della probabilità che un evento si verifichi in futuro ...

Equivoci che portano allo scontro, la lista

Questo è l'elenco che ho sino a qui raccolto dalle letture di distorsioni cognitive che tendono ad alimentare lo scontro e allontanare la collaborazione : La tendenza a percepire la controparte come portatrice di interessi perfettamente identici e speculari anche quando non è così La tendenza ad aspettarsi dalla controparte degli inganni ,tendenzialmente questo si percepisce nella misura in cui uno è propenso a mettergli in atto lui stesso L'incapacità di riconoscere subito il...

Positive Core

  Dopo un po di sedimentazione ecco in questa Mind-Map alcuni suggerimenti di Tim Mackinnon Un paio di link per approfondire, anzi 4: - XP - Call In The Social Workers - Italian Agile Day 2007 - Mackinnon - Dare feedback in modo efficace - Esprimere un apprezzamento e dare approvazione E per restare in tema:  la scienza del sorriso e  Positive Psychology   Tags :  Team Work | Agile | Team | Comunicazione |

Equivoci che portano allo scontro

 C i sono equivoci comuni che tendono a provocare una contrapposizione a discapito delle potenzialità integrative che possono essere realmente presenti in una negoziazione.   Sono distorsioni che intervengono nelle informazioni percepite, nella loro selezione, nel modo in cui si combinano e si valutano. Sono connaturate al normale funzionamento del sistema cognitivo e hanno l'effetto di orientare in modo distorto l'interpretazione di un problema o delle richieste della controparte.   E' un argomento simile a quello postato da Pier Greborio , qui c'è una panoramica su questo tema.   Tags :  Team Work | Comunicazione | Conflitto | Negoziazione |

Processo di sviluppo della fiducia

Riporto alcuni s-punti di una conversazione che ho sentito sulla fiducia. Nei metodi agili la fiducia è il primo elemento utile a evitare sprechi  -   Nel team è il collante principale  -   Per un coach e per il leader è l'elemento essenziale per esercitare la delega  -   in una negoziazione è il fattore che permette di considerare le potenzialità integrative per generare nuovo valore Nella conversazione la fiducia invece di essere descritta come qualcosa che si ottiene in bianco o perchè la si merita è stata descritta come il risultato di un processo di apprendimento Sono seguiti 2 esempi Quello di un bambino a cui si...

1 esempio classico di negoziazione integrativa :

 M i annoto qui questo esempio classico che aiuta bene a chiarire il punto E' domenica mattina. Pina e Gina due sorelle nubili ottuagenarie si alzano di buon'ora per andare alla messa delle 8. Si incontrano davanti al frigo dove scoprono che c'è un'ultima arancia che entrambe vogliono. Cosa fare ? Accapigliarsi e rovinare la piacevole atmosfera domenicale (c'è pure il sole) ? Ricorrere all'autorità della anziana mamma che una volta svegliata le manderebbe entrambre ... a quel paese ? Lanciare una monetina ? Optano per il compromesso. Pina, la pignola, taglia l'arancia in due e la Gina la parsimoniosa sceglie la sua metà. Sono...

Prevedere il futuro...

  Mi ha colpito una pubblicità mentre leggevo una rivista ( w w w . c o l o r s m a g a z i n e . c o m ). Diceva : Il miglior modo di predire il futuro è inventarlo Ho scoperto essere un aforisma di Alan Kay. Alan Kay è uno dei pionieri della programmazione ad oggetti, del personal computing e delle interfacce grafiche. Ha precorso molte delle idee alla radice dei linguaggi orientati agli oggetti contemporanei guidando il gruppo che sviluppò Smalltalk. Oltre ad essere specializzato in Informatica è competente in matematica e biologia, in lingua inglese e antropologia.  Negli...

Specialisti e generalisti

  L'occasione per pensare all'equilibrio tra specialisti e generalisti arriva in un momento di divertimento, da 2 frasi di un film che sto guardando : Ciò che vale per il gruppo vale anche per l'individuo. Il concetto è semplice, un'eccessiva specializzazione porta alla debolezza, a una lenta estinzione Se riesci a ricordare parole come quelle in un istante, probabilmente l'espressività del tuo dispositivo di memoria è un po prevenuta   Da un lato la specializzazione permette di agire in modo rapido ed efficace in virtù del fatto che presuppone uno schema fisso e definito entro cui muoversi. Dall'altro la generalità è utile a muoversi da uno...

Innovate or die ? parte II

  Ho cercato risposte alla domanda del post precedente : Serve ancora la preparazione, l'esercizio ... ?    - Quando stiamo affrontando un problema complesso in parte perchè è in un terreno nuovo e non è assibilabile a qualcosa che già conosciamo - in parte perchè sta cambiando ed  è in evoluzione - in parte perchè le cose cambiano all'improvviso in modo imprevedibile - in parte perchè sono coinvolti molti fattori legati tra loro in modo inestricabile - in parte perchè potrebbe non avere soluzione:                        esplorare, procedere per tentativi, imparare facendo e adattarsi                                                               funziona meglio della preparazione, dell'esperienza e dell'esercizio     - Quando stiamo affrontando un problema semplice o alpiù difficile perchè è governato da relazioni stabili di...

Innovate or die ?

  E' la frase e anche un po forte di un articolo che mi sono annotato da un po di tempo I metodi agili forniscono gli strumenti per gestire l'emergenza, l'incertezza e i cambiamenti imprevedibili  - diventa lecita e opinabile la domanda : Serve ancora la preparazione, l'esercizio e la padronanza  anche quando uno ha metodo e intelligenza per gestire un nuovo problema come un'emegenza e un imprevisto ? Si ? Oppure no ? Tags :  Team Work | Agile | Complessità | Pratiche | Disciplina | Professione | Innovazione |

Intelligenza collettiva : un mix di abilità

  Nel post precedente ho descritto l'equilibrio di Nash e come traccia un confine tra  intelligenza individuale e intelligenza collettiva    ,  suggerisce come risolvere un conflitto in modo ancora più vantaggioso di quanto calcolato con la matematica da sola Questo è possibile perché nel conflitto e nella negoziazione  si fondono  modelli logico-matematici  ,  psicologico cognitivi e sociologici o descrittivi   In conclusione per ottenere il meglio da un conflitto e una negoziazione e in moltre attività di team sono utili un mix di   abilità razionali , capacita di relazione col prossimo e la capacità sociali di relazione in un gruppo Tags :  Team Work | Conflitto | Negoziazione | Team | Complessità |

Mix di matematica psicologia e sociologia per risolvere il conflitto e negoziare

  Nel post precedente ho descritto l'equilibrio di Nash e come traccia un confine tra  intelligenza individuale e intelligenza collettiva    ,  suggerisce come risolvere un conflitto in modo ancora più vantaggioso di quanto calcolato con la matematica da sola Questo è possibile perché nel conflitto e nella negoziazione si fondono  modelli logico-matematici  ,  psicologico cognitivi e sociologici o descrittivi - - - -   Ecco deglia altri esempi dalla teoria dei giochi che evidenziano questo mix  -  il gioco dell'ultimatum  (vedi qui) mostra come dal punto di vista matematico la strategia più conveniente è accettare l'offerta sempre - tuttavia la tendenza umana a rifiutare offerte ritenute inique e a "punire" i comportamento ingiusti prevale cosi come chi fa l'offerta in questo gioco...

Negoziare un Conflitto : le differenze tra piccola e grande azienda

  In una  piccola azienda  è possibile risolvere un conflitto o una divergenza in modo unilaterale agendo d'autorità In una  grande azienda  per ...     - il ritmo con cui si presentano nuovi problemi poco chiari da risolvere             - la complessità delle relazioni che ci sono tra le persone,                 tra i diversi team e reparti e tra il management                     - gli alti livelli di interdipendenza                             - la rapidità dei cambiamenti e la turbolenza .... la gestione del conflitto e la negoziazione hanno un ruolo centrale   Alcuni dati : Il  68%  delle negoziazioni hanno un potenziale integrativo ossia una parte degli interessi in gioco sono complementari e cosi si posso combinare per produrre...

Pattern di adozione dei metodi agili

  un articolo interessante : Patterns of Agile Adoption, Mike Cohn, agile journal Tags :  Team Work | Agile | Pratiche |

Condividere la conoscenza in team

  sempre sul primo punto del manifesto agile : le persone e le relazioni tra persone prima che processi e tool ecco un esempio pratico cioè condividere la conoscenza in team.     condividere conoscenze in team e quindi introdurre un cambiamento non è semplice - specialmente tra senior e nei team agili la folta presenza di senior è favorita     è ancora meno semplice quando si insegnano/imparano cose molto "personali" della programmazione - e nei team agili si condivide dalla singola riga di codice alle coding convention fino ai dettagli di design o lo stile di testing    Cosa ha funzionato per voi ?       Quello che mi è capitato di notare...

Intelligenza individuale e intelligenza collettiva

  Ho trovato dalla teoria dei giochi 2 giochi interessanti perchè in qualche modo sono un esempio del   confine tra intelligenza individuale e intelligenza collettiva       per entrambi questi giochi esiste una strategia ottimale per ogni singolo giocatore che consiste nella competizione aggressiva - è una situazione di equilibrio     cioè    a nessun giocatore conviene deviare unilateralmente dalla propria strategia ottimale perché ci perderebbe      solo se i giocatori scegliessero di cambiare strategia insieme di comune accordo cioè di collaborare potrebbero guadagnare di più entrambi  è possibile dimostrare matematicamente situazioni come queste  - la cose è spiegata nel  equilibrio di Nash  (vedi qui)   Tags :  Team Work | Conflitto | Negoziazione | Team | Complessità |

L'intelligenza collettiva

      Prendendo esempio dai 2 giochi che evidenziano il confine tra   confine tra intelligenza individuale e intelligenza collettiva   l'intelligenza collettiva è ad esempio la capacità di un gruppo di    imparare  dall'esperienza    a comportarsi (relazionarsi e oranizzasi)      in modo tale da riconoscere e reagire        nei casi in cui è vantaggioso passare dalla tattica distributiva (che distribuisce le risorse tra i contendenti) alla tattica integrativa (che produce un utile comune che si somma al valore delle risorse contese).    Questo senza l'intervento di una autorità centrale e senza bisogno di conoscere e applicare le equazioni del  equilibrio di Nash   proprio come possiamo imparare ad andare in bici senza calcolarne...

I giochi a somma zero e altre info

     I giochi a somma zero (vedi qui)  sono quelli in cui 2 contendenti lottano per spartirsi le risorse disponibili e alla fine del gioco  uno guadagna quello che l'altro giocatore perde.    Si distinguono dai giochi a somma *non* zero perchè in questi ultimi può essere conveniente         passare dalla  tattica distributiva  (che distribuisce le risorse tra i contendenti)       alla  tattica integrativa  (che produce un utile comune che si somma al valore delle risorse contese)        Nei giochi a somma zero quando non hai informazioni per stimare la probabilità dei singoli eventi puoi applicare queste strategie : - il criterio di  minimizzare la perdita  cioè la differenza con quanto...

Strategie di decisione/gioco nel conflitto/competizione

Alcune brevi annotazioni su strumenti matematici x risolvere soluzioni di conflitto - dalla teoria dei giochi. I modelli di decisione si riferiscono a una  singola decisione  -  possono essere applicati alla situazione più realistica di un  susseguirsi di decisioni  prese dalle parti influenzandosi a vicenda.      Quando puoi conoscere/stimare la probabilità : che la controparte faccia una scelta piuttosto che l'altra e la probabilità che si verifichino o meno (ad opera della "natura") eventi rilevanti ai fini del conflitto/competizione => puoi calcolare l'utilità (l'esito, il guadagno) atteso di ogni tua strategia cioè la media μ e la varianza (il grado di rischio) б e scegliere la migliore. Questo caso è detto...

Le persone al centro del processo di sviluppo sw

Nel 2002/2003 quando ho cominciato a interessarmi ai metodi agile come XP e Scrum ero molto concentrato su le pratiche   :   sulle cose nuove da scoprire e capire -  sui nuovi strumenti da usare - sulle difficoltà tecniche da superare ( QualityAssuranceAgile#Agile )   In seguito ho iniziato a guardare/vedere la "big picture" ossia sulle pratiche collettive, i processi  e come migliorarli per consegnare più valore all'utente ( QualityAssuranceAgile#LeanAgile )    Per tutto questo -  lungo ? :D - tempo mi è sfuggito ... il primo punto del manifesto agile : le persone e le relazioni tra persone prima che processi e tool A mia discolpa ;-)  come la maggioranza degli sviluppatori sono più TaskOriented...

Creatività - una nuova definizione

  ecco un'altra definizione - questa emersa dalla pratica quotidiana dei fabricanti  in   _f a b r i c a_              L a  C reatività è cosa inusuale : spaventa, scombussola, è sovversiva _ Diffida di ciò che vede e ciò che sente. Ti sfida a dubitare _ Agisce anche se può sbagliare _ Si insinua nelle convinzioni preconcette, scuote le certezze assodate _ Incessantemente inventa modi nuovi, nuovi vocabolari. Provoca e cambia punti di vista _  Tags :  Team Work | Creatività |  |

Esprimere un apprezzamento e dare approvazione

  Spronato dalle parole di Tim Mackinnon nel suo speech all'Agile Day mi sono sforzato di capire la differenza tra esprimere un sano apprezzamento nei confronti di un collega invece che dare la propria approvazione. Ho scovato questo articolo che mi ha chiarito la differenza : The Difference Between Approval and Appreciation  - x passare dalla teoria alla pratica serve l'esercitazione   Riporto le frasi che mi hanno colpito : Appreciation ... It comes from the heart and is offered spontaneously as the heart wells up with feelings of delight, awe, joy, or love regarding another's way of being. Appreciation has much more to do...

Dare giudizi e esprimere valutazioni sulle persone

  Come tecnico sono chiamato spesso a valutare    un problema o una soluzione    , esprimere un giudizio professionale su     una scelta tecnica    . E la capacità di farlo con metodo e secondo criteri consolidati e riconosciuti è una parte importante del bagaglio professionale di un tecnico. Quando il giudizio e la valutazione invece è rivolta a        una persona, un collega, un membro del proprio team      , ostacola il clima di fiducia e confidenza utile a lavorare in modo collettivo e ad affrontare e superare i conflitti in modo creativo e produttivo. L'articolo citato in questo post suggerisce un modo efficace e senza "effetti collaterali" per...

Il materiale del Italian AgileDay 2007 è on-line

  Qui  x tutte le sessioni i doc , le slide e i link :  http://www.agileday.it/index.php?page=slides E qui foto pubbliche dell'evento: - http://www.fabiobeta.it/photos/AgileDay2007Photos/  - http://picasaweb.google.com/matteo.vaccari/AgileDay2007   Tags :  Team Work | Agile | Eventi |

Ancora sul conflitto come fatto positivo

  Sempre annotando dal libro 'La Negoziazione'.  Accertato che il conflitto non è in assoluto positivo o negativo, ci sono livelli di conflitto e tipi di conflitto che meglio si prestano ad essere gestiti per massimizzare le conseguenze favorevoli e minimizzare quelle svantaggiose. Sulla intensità del conflitto la curva dell'utilità ha una forma a  ∩ cioè nel centro ha effetti favorevoli sulle prestazioni e la soddisfazione del gruppo  mentre l'assenza di conflitto e una conflittualità elevata hanno effetti svantaggiosi. Sulla tipologia del conflitto, quando è basato sulla percezione di questioni materiali/quantificabili (es. risorse, procedure, compiti, ...) ha effetti favorevoli per il gruppo e la relazione, quando è basato su questioni emotive ( es....

Il conflitto come fatto positivo

  Una cosa che mi sorprende leggendo 'La Negoziazione' è che il conflitto può essere una cosa favorevole. Ok che una volta che è in corso ci sono modi per uscirne al meglio!   Che l'inizio di un conflitto possa essere in se vantaggioso sorprende cmq. Il libro descrive gli effetti sfavorevoli quando il conflitto viene sistematicamente soppresso - alcuni li riconosco in esperienze di team passate. L'aperta espressione del conflitto invece può produrre valore e crescita per entrambe le parti. Ancora di più consentire/sollecitare il conflitto favorisce la comunicazione tra gruppi, la comprensione reciproca, il consenso sugli accordi raggiunti, promuove la cooperazione all'interno del gruppo, limita le azioni dettate da rivalità...

Conflitti nel team ? Segno che è vivo ! 2°

 ∑ cco degli esempi di conflitto che potrebbero far parte della   __dinamica__   di un team  - in sequenza come effetto della trasformazione in atto, risolversi positivamente in una evoluzione sino al prossimo salto annunciato da un nuovo conflitto utile/necessario :   il team è in conflitto con il team manager perchè il team vuole poter applicare le pratiche agili ottenuto il permesso di cominciare dopo un po ... i singoli membri del team sono in conflitto tra loro da quando l'applicazione delle pratiche...

Conflitti nel team ? Segno che è vivo !

Prima di dirvi la mia , qualcuno si riconosce in questa situazione ?   Tra i corridoi all'Agile Day e nelle conversazioni in sala ho sentito racconti di  situazioni di conflitto nel team...  E chi non ne ha ?  Ripensando alle situazioni di conflitto che ho conosciuto nei molti anni di lavoro mi si è illuminata una lampadina... Quando c'è un conflitto nel team ed è legato a un problema pratico (invece che contro una persona), ha un momento in cui è cominciato e ha una fine in cui è concluso e risolto (invece di instaurarsi e proseguire di continuo)  e resta limitato a quello specifico...

Le cinque qualità di un leader carismatico

Mi annoto  questo articolo dal Corriere del 26 Nov 2007 Le cinque qualità di un leader carismatico di Alberoni. Alcune frasi : ... La prima è capire, intuire che cosa vuole la gente in quel momento ...  ... credere nella meta che propone, non dubitarne mai ...  ... l'intuito strategico, la capacità di cogliere fulmineamente l'essenziale, di puntare diritto alla meta lasciando da parte tutto ciò che è secondario ...  ... la capacità di stabilire un rapporto affettivo con ciascuno dei suoi ...  ... è anche un abilissimo comunicatore attraverso le parole ma soprattutto inventando formule, simboli ...   Tags :  Team Work | Leadership |

Sono stato al Agile Day 2007 e ...

E' passata - anche l' "euforia" dell'evento - e a boccie ferme è stata una giornata ben investita   Si è tenuta per il primo anno a Bologna - le partecipazioni sono in crescita - c'erano tante facce nuove e molte facce conosciute   Il formato dell'evento migliora ogni anno grazie ai partecipanti e alle loro indicazioni.                E' stato un mix di temi introduttivi, real experience report e open-space organizzati (tipo tavole rotonde con un facilitatore che da il là alla conversazione in cui si parla, ascolta e contribuisce) oltre a open-space spontanei "da corridoio"   Ho incontrato persone interessate a cominciare ad  applicare metodi agili, nuovi team che hanno appena iniziato questa avventura e team che applicano questi metodi da...

Quali coflitti al lavoro ?

Ho iniziato a documentarmi sulla parte più    matematica / informatica    del conflitto e della negoziazione.  Nel frattempo ho una domanda che mi gira in testa, quale tipo di conflitto capita + spesso sul lavoro. Intendo conflitto di breve durata (tipo una discussione, idee o obiettivi diversi, uno sfogo)  o prolungato (tipo mesi o una forte antipatia o addirittura una rivalità continua) . Con i colleghi oppure col capo o intra-reparto o col cliente o il fornitore. Si concludono con un accordo soddisfacente, con una perdita di tempo o peggio con svantaggi per tutti.   Qual'è la realtà tra informatici/developer , suggerimenti ?    Tags :  Team Work | Conflitto | Negoziazione |

Coach che guida il team ad essere più unito - Parte 4°

  Rileggendo questa quaterna di post sembra che tutta la responsabilità (onori e oneri) sull'unità del team sia del coach.  In realtà però  i  comportamenti che ho annotato vanno bene per tutti , ogniuno può farsene promotore.   Il fatto è che credo l'accesso a informazioni riservate  mette il coach in posizione di forza e così anche i team manager  in su fino ai manager e la direzione.  Cioè credo che così per il team l'intervento del coach è indispensabile per trasformare dei comportamenti competitivi e predatori  in cooperativi e integrativi.   Trovo che invece la trasparenza e libero accesso alle informazioni danno al team la possibilità di cambiare i comportamenti facendoli...

Creare i presupposti per risolvere il conflitto

Mi annoto dalla solita fonte le linee guida per creare i presupposti che facilitano la risoluzione positiva di un conflitto. Quando ci si riesce la soluzione non peggiora la relazione che c'è tra le parti, magari la rafforza. Neutralizzare la tendenza a vedere le questioni in gioco come   questioni di principio   : trasformare la questione in una questione materiale quantificabile ,  trasformare le questioni percepite come intrattabili in questioni trattabili con una equa compensazione Calmare la percezione ansiosa di una   posta in gioco molto alta  ...

Coach che guida il team ad essere più unito - Parte 3°

  Dopo il "quando" trascrivo l'elenco di pratiche e principi Agili che trovo d'aiuto nel mettere in pratica questi comportamenti a beneficio della unità del team. Le pratiche e i principi che nomino li prendo dal libro bianco di K. Beck. Sono numerati 1 a 1 con il corrispondente comportamento. whole team - team continuity - pair programming retrospective (x ascoltare feedback del team lasciando gli incontri personali x feedback di carattere pesonale) ...

Le 6 strategie per affrontare il conflitto

  Mi annoto questo è l'elenco di 6 strategie che ho letto da La Negoziazione di Ruminati-Pieroni per affrontare il conflitto. Sono applicabili quando il conflitto è negoziabile. Uno può adottarle col fine ultimo di trarre il massimo vantaggio a danno dell'avversario (e facendosi terra bruciata intorno) o di risolvere il conflitto combinando il mutuo beneficio (e così rafforzando la relazione con la controparte a futuro beneficio). Non c'è una strategia più efficace in assoluto, invece dipende dalla singola situazione e più strategie possono essere combinate insieme e in sequenza con intensità differenti. Eccole   Problem-Solving  cercare una configurazione...

Coach che guida il team ad essere più unito - Parte 2°

Ho postato una raccolta qualche giorno fa di comportamenti che un Coach può seguire per aiutare un team a  essere unito in alternativa a comportamenti che invece favoriscono divisioni. E' che elencarli non basta perché riesca a metterli in pratica  :-)   Magari ! Alcuni comportamenti sono autoMagici, quelli istintivi, del proprio carattere sono i più difficile da riconoscere e da cambiare.   Ho trovato efficace come primo passo riconoscere quando (il momento in cui) c'è la possibilità di comportarsi facilitando l'unità oppure aumentando le divisioni , per es. : quando si assegna un compito un obiettivo, quando si interviene per evidenziare una criticità o ci si rende disponibili ad ascoltare il feedback del team, quando si decide su una questione,...

Conflitto : 7 percezioni che lo peggiorano

  Sono  2  i modi per evitare _sempre_e_comunque_ il conflitto : il potere assoluto oppure nessuna meta da raggiungere. E non sembrano molto allettanti.  Forse x questo è un fenomeno "pervasivo". Quando capita, ci sono  7  modi improduttivi di interpretare il conflitto in corso - percezioni - che allontanano la soluzione e la rendono più costosa : considerare l'oggetto del contendere come  questioni di principio  piuttosto che questioni materiali quantificabili  percepire la  posta in gioco alta  e quindi la possibile perdita come elevata e il rischio di creare un precedente ...

Contratti per progetti Agili

  Uno dei modi in cui i progetti di sviluppo Agili eliminano lo spreco è attraverso il rapporto di fiducia, tra i membri del team, tra il team e l'organizzazione per cui lavorano e con il cliente. Questo vantaggio può essere ampliato adottando delle forme contrattuali che si basano sulla fiducia, sulla condivisione dei rischi, sulla motivazione di entrambe le parti al successo degli sviluppi. E sempre con il vantaggio di potersi adattare velocemente ai cambiamenti e gestire l'incertezza e gli imprevisti più in fretta, meglio, e con minori costi. Qui una serie di alternative contrattuali Agili da una fonte molto attendibile : http://www.agileadvice.com/archives/2007/11/agile_contracts.html...

Coach che guida il team ad essere più unito

Questo è un argomento su cui stò cercando di chiarirmi già da qualche tempo. Cioè capire quali comportamenti può avere un Coach Agile per contribuire a ridurre le divisioni e superare le rivalità sotterranea tra i membri del team .   Ecco i punti che ho raccolto sinora curiosando in giro : chiedere al team intero di impegnarsi sull'obiettivo complessivo condividendone insieme la responsabilità e l'esito piuttosto che chiedere a singole persone del team di raggiungere ogniuno separatamente singoli obiettivi  quello che chiamo l'effetto riflettore: dedicare a tutti ne...

Anche l'umorismo al lavoro ... fa bene !!!

  La battuta tra colleghi aumenta la creatività, la coesione e anche le prestazioni personali Le persone scherzose hanno migliori risultati e riescono a ridurre i conflitti durante le riunioni Così il risultato della ricerca dello psicologo Chris Robert, ricercatore dell'università del Missouri. Fonte: articolo E così dopo il Vaffa Friday ecco il Joking Monday   Tags :  Team Work | Comunicazione | Team building |

Conflitto, come finisce ?

  Sto iniziando a leggere sui modi in cui possono concludersi i conflitti all'interno di un team, tra 2 team, etc . Un modo è quando il conflitto viene soppresso, qualcuno fa pressione per azzittirlo  Può concludersi con un vincitore e un vinto o similmente con un compromesso al ribasso Oppure con un'idea smart che incastra bisogni e opportunità che crea vantaggio per entrambi ...

Forme di gestione del conflitto

  Il modo di gestire il conflitto si è evoluto nel tempo insieme all'uomo attraverso 3 forme comuni: la lotta l'autorità le norme Le norme sono la forma più evoluta eppure per coprire ogni possibile situazione di conflitto servirebbe una giungla di regole incomprensibile, inevitabilmente rigida e difficilmente applicabile (qualcuno sta pensando alla legge italiana ?)Poche regole comuni chiare e codivise sono preferibili. Quando una situazione di conflitto cade nell'area di ambiguità o assenza di norme vengono in aiuto anche le norme implicite, la prassi e le consuetudini che si consolidano col...

Motivazione professionale e scala di valori: 2 casi reali

L'argomento è MotivazioneProfessionale (wiki) e ScaleDiValori  (wiki). Completo il secondo dei 2 punti,  Mitch Kapor e Bill Gates,  lasciato in sospeso : Bill Gates ;-) La storia completa è qui  e qui  , quello che serve per provare a scoprire valori e motivazione è riportato sotto. Bill Gates 20anni prima che la parola Computer diventi di uso comune quanto telefono e televisione Bill Gates intuisce le potenzialità commerciali che sarebbero nate dal mercato degli home-computer prossimo ad esplodere, la necessità di programmatori per scrivere software per tutte quelle macchine e la possibilità di guadagni per il software prodotto... ...e già negli anni 70 comincia a guadagnare programmando computer e percorrendo...

Quali comportamenti uniscono un team ?

Altre annotazioni sparse dalla lettura  La Negoziazione.   Comportamenti e circostanze che uniscono  : Abbonzanza delle risorse disponibili o la  percezione che siano sufficenti alla propria soddisfazione es. : prospettive chiare su lavoro , percorsi di crescita , valorizzazione delle proprie competenze , opportunità di dimostrasi efficaci ed essere influenti Regole chiare e una autorità riconosciuta (interna al team oppure esterna)  che garantisce il rispetto delle regole comuni condivise e sprona le parti in conflitto a trovare autonomamente un accordo  tra loro quando...

Quali comportamenti dividono un team ?

Annotazioni sparse dalla lettura  La Negoziazione. Comportamenti e circostanze che dividono   : Rancore  -  alimentato dal senso di inequità e ingiustizia sulla distribuzione di risorse, peggio se scarse La scarsezza delle risorse in gioco o la loro percezione come scarse e insufficienti per la propria soddisfazione es.  :   responsabilità   -   prestigio dei compiti assegnati   -   libertà di iniziativa   -   l'attenzione del capo   -   l'autorità concessa   -   l'autorevolezza riconosciuta dal capo   -   l'HW assegnato   -   spazi di autonomia   -   le forniture dell'ufficio   -   la partecipazione a corsi   -   l'accesso a opportunità di crescita professionale  ...

Quali comportamenti uniscono un team e quali dividono ?

Ci sono dei  comportamenti che tendono a creare divisioni nel team perchè alzano il livello di conflittualità e portano a soffocare i conflitti o a farli sfociare in "battaglie"  dagli esiti traumatici e persistenti. E ci sono dei comportamenti che invece catalizzano un gruppo di persone e lo aiutano a diventare un team perchè diminuiscono il livello di conflitualità e spronano la risoluzione dei conflitti in modo utile e costruttivo. E' da un po che l'argomento mi incuriosice e mi attira. Per ora mi sono procurato La Negoziazione di Rumiati e Pietroni, conto di annotare gli spunti interessanti che troverò.   Prima ancora del libro mi piacerebbe soprattutto conoscere l'opinione di chi ha...

Come iniziare un team correttamente?

Mi annoto alcune righe che trovo interessanti da  : FAQ's on Teams & Leadership Come iniziare un team correttamente? Assicurati che tutti i membri del team condividano una visione chiara di quello che il team è chiamato ad assolvere Fai emergere da ogniuno dei membri del team cosa significa per lui/lei fare parte di questo team e che risultati si aspetta che questo produca Stabilisci un accordo sulle regole basilari per i membri del team. Scopri i contributi che ogni  membro...

Organizzazione aziendale decentralizzata e adattiva?

  Ricercatori all'Università di Bologna studiano le reti biologiche , e in particolare i modi in cui si espandono adattandosi velocemente alle esigenze in modo robusto ed efficace. Ne traggono modelli di organizzazione delle reti decentralizzati e adattivi applicabili anche alle strutture organizzative aziendali.   Biological Networks : http://advice.cio.com/fred_hapgood/biological_networks     Tags :  Team Work | Leadership | Team | Agile |

Le parolacce al lavoro? Fanno bene!

  Leggo da un divertente articolo di oggi Le parolacce in ufficio e l'uso di parole tabù rendono i dipendenti più produttivi: non solo aiutano a combattere lo stress, ma anche contribuiscono a creare solidarietà tra i colleghi e sviluppare uno spirito di gruppo sul posto di lavoro   Di sicuro, e parlo per esperienza diretta :-) , aiutano a rompere il ghiaccio e creare una atmosfera informale e rilassata.            Basta sapere che il rapporto di fiducia, stima e collaborazione non è in discussione, che non c'è rancore  e allora anche il piacere di uno spontaneo, liberatorio e reciproco Vaffffa... tra colleghi  sarà totale :D   Altro...

Motivazione professionale e scala di valori: 2 casi reali

Tempo fa ho postato sulla MotivazioneProfessionale (wiki) e sulle ScaleDiValori  (wiki). Ieri leggevo di Mitch Kapor e Bill Gates. Mitch Kapor 20anni prima che la Human-Computer Interaction diventasse una disciplina autonoma dell'Informatica con specializzazioni quali la Computer-supported collaborative work; prima che la sociologia, le scienze cognitive e la psicologia dessero i loro contributi all'informatica; prima ancora che il Web 2.0 si realizzasse riducendo i tempi e amplificando le possibilità  di scambiarsi informazioni e stringere relazioni; ...    ... già negli anni '80 aveva la sua azienda di software "ON Technology" e si occupava appunto di software Groupware per computer Apple Macintosh.        Di Boston dove sponsorizza il locale...

FAQ sul lavoro in Team: 3 punti che ci tengo a ricordare

Cos'è un team? Un team è un gruppo di persone in cui il risultato personale di ognuno dipende in modo evidente dal risultato collettivo. continua... Quali sono i principi fondamentali del lavoro in team? Successi condivisi. E' detto anche il principio della scialuppa di salvataggio, quando più persone sono nella stessa barca le differenze individuali e i risultati personali contano meno della sorte comune. Impegni condivisi. continua... Uguale voce in capitolo per tutti. continua... Perché la fiducia è importante per i team? Siccome i contributi individuali e relativi riconoscimenti e ricompense avvengono in momenti diversi e dipendono anche da ciò che gli altri del team fanno, la fiducia è la garanzia che i...

Isole nella rete

Un po di svago : alcune frasi sparse da 'Isole nella rete' del 1988 di Bruce Sterling ...

FAQ sul lavoro in Team e sulla Leadership

Interessante : FAQ's on Teams & Leadership What is a team? What are the basic principles of teamwork? Are there different types of teams? How is a team different than a group? Who can be on a team? How does a team form? Why is trust important to teams? Can one person make a difference on a team? What is leadership? Who can exhibit leadership? Should teams have an assigned leader? Shouldn't the technical expert be designated as the team leader? What is the difference between "leadership" and "leader?" How is a leader different than a manager? What equips Partnerwerks to provide team and leadership expertise? How do I start a team correctly? How do I get...

Intuito e visione d'insieme

Annotazioni rileggendo Extreme Programming Explained: Embrace Change, 2nd Ed. di Kent Beck. "This is the paradigm for XP. Stay aware. Adapt. Change." "The Theory of Constraints is a way of understanding systems and improving their throughput." "The practices are  also useful because they give you a place to start. You can start writing tests   before changing code, and gain benefit from doing so, long before you understand   software development in a deeper way.Even if I knew all the same gardening   practices as Paul, I still wouldn't be a gardener. Paul has a highly developed   sense of what is good and bad about...

Quando un team inizia a essere un Team?

Metto in evidenza un pezzo che mi piace molto del post Fare parte di un Team oppure no ?  Una somma di persone comincia a essere un Team quando considera più importante agire come un unico fronte unito piuttosto che agire divisi e perciò è capace di prendere insieme decisioni e condividerne la responsabilità. Compito del coach è spronare il team di cui è parte a lavorare insieme, rimuovere le ragioni di conflitto e competizione e incoraggiare la collaborazione, schermare il team dagli impedimenti alle pratiche collettive (pair programming, iteration planning, etc.). Update: Compito del team, cominciare a collezionare una serie continua di piccoli successi e conquistarsi la fiducia del management...

Metodi Agili & Disciplina

Mi annoto questo articolo interessante che mi segnala un collega :   The Discipline of Agile  Parla di come i metodi agili richiedano disciplina per usare bene le pratiche e per crescere nel Team. Riporto un paragrafo che mi ha colpito    The Discipline of Teamwork Agilists, when given the opportunity, will rarely work alone because they know it is too risky to do so. It requires discipline to follow non-solo practices such as pair programming and modeling with others because it's too easy to assume that you're smart enough to get the job done quickly by yourself. It also requires discipline to be responsible for the entire system, not...

Situational Leadership parte II

Riprendo un post precedente che parla di come adattare lo stile di leadership alle caratteristiche del team per aggiungere un'altra dimensione cioè come adattare lo stile alla complessità del progetto che si stà affrontando : Per essere pratici, lo stile di leadership rispetto il team può essere adattato alla singola pratica o meglio al singolo comportamento e  rispetto il progetto può essere adattato alla singolo task. In questo modo è più facile essere specifici e concreti adattandosi al qui, ora e adesso invece di assumere posizioni generiche "di principio". Tags :  Team Work | Agile | Leadership | Team |

Team leader o politicante?

Un post interessante  Leaders or politicians?  L'ho letto e mi chiedo quando la politica è utile e  quando è dannosa per un team? Ho richiamato dalla memoria i significati che in passato ho sentito associare all'eccesso di politica: - evitare decisioni e responsabilità - favorire la proliferazione di mail PIC e della burocrazia - cercare nella politica la soluzione quando la radice del problema è tecnico - cautelarsi dagli esiti del progetto invece che spendersi per portarlo al successo - omettere informazioni, alterare fatti, manipolare le persone contribuendo a un clima di sfiducia La matrice di Ralph Stacey mi da una strada per capire quando la politica è utile. L'asse y descrive il livello di consenso su come...

Gestire situazioni di conflitto

Mi annoto una serie di post interessanti sull'argomento. Conflict Behavior In An Organization : http://advice.cio.com/abdhiraj/conflict_behavior_in_an_organization Beneficial Consequences of Conflict Behavior In An Organisation : http://advice.cio.com/abdhiraj/beneficial_consequences_of_conflict_behavior_in_an_organisation Dysfunctional Consequences of conflict : ...

Fare parte di un Team oppure no ?

  Fare parte di un gruppo, di una squadra, di un team ...     richiede il rispetto di alcune regole comuni per lavorare bene insieme in modo coordinato e un po di disciplina per far buon uso delle regole ed evolvere     comporta dei vantaggi come l'accesso alle conoscenze condivise e alle risorse del team, il supporto collaborativo dei compagni e il mutuo soccorso     necessita di spazi in cui poter esprimere la propria individualità all'interno del gruppo, dare il proprio contributo in modo rilevante e vederne riconosciuta l'importanza e il valore. ______________ Una persona può preferire di non entrare a far parte di un Team perchè considera le...

Intanto rilascio poi lo sistemo 2°

Oltre alle considerazioni linkate nell'ultimo post ecco altri due pensieri interessanti sull'argomento: Failure is not an option : <<We continuously deploy solutions just a bit late, almost with all the desired capabilities, that works in most cases for some time.>> Come va a finire ? Leggilo qui :  http://pierg.wordpress.com/2007/09/10/failure-is-not-an-option/  Fail Fast : http://martinfowler.com/ieeeSoftware/failFast.pdf articolo...

Intanto rilascio poi lo sistemo

Alla categoria: i consigli della nonna Mi ricordo da piccolo frasi del tipo "dai una sistemata alla tua camera, è proprio sottosopra adesso "  e io " sto giocando con i robot adesso , la sistemo ... dopo". E' una risposta comprensibile da parte di un bambino e lo sappiamo che "dopo" significa _mai_. La soluzione sembra banale in questo caso eppure sorprende quando lo stesso atteggiamento lo ha un adulto, un professionista informatico molto capace : "intanto rilascio e ... dopo lo sistemo". Certo da adulto si trova ad affrontare problemi più difficili che sistemare la sua cameretta, ma come dicevo è un professionista molto capace. Inoltre subisce pressioni...

La disciplina e il rapporto con i colleghi

Sempre dal libro di Asha Phillips: la disciplina viene applicata all'interno di una relazione    e   conta molto quello che accade tra le persone , la reciprocità dell'interazione, l'effetto che ciascuno dei due ha sull'altro. Nel libro vengono descritte alcune situazioni difficili della relazione. Ho provato a riassumerle insieme alle indicazioni per superare le difficoltà. Ecco i miei appunti.   Situazioni Circolari Quando capita una situazione che abbiamo già sperimentato che si presenta in modo ricorrente e non ci soddisfa.  Accade quando difronte ad un problema reagiamo nel modo che ci è famigliare e l'altro risponde ponendoci in un...

Team Agili : il contratto

Un buon contratto è quello in cui entrambe le parti sono soddisfatte perchè aiuta ogni parte a perseguire i propri personali obiettivi con un accordo che ogniuno ritiene equo.   E' anche un modo semplice e divertente di descrivere gli impegni a cui è chiamato un team agile , il coach che lo guida e la azienza che lo ingaggia. Ecco 2 link : Contract among members of a scrum team Contract between an organization and a scrum team   In tema c'è anche questo post che descrive i diritti del Programmatore e del Cliente. Tags : ...

Agile Survey Results 2007

Agile Survey Results 2007 : http://www.agilejournal.com/articles/from-the-editor/agile-survey-results:-widespread-adoption,-emphasis-on-productivity-and-quality.html Alcuni estratti : over 70% (of agile teams) are using Scrum, XP, or a Scrum/XP hybrid. top factors for adopting Agile methods: managing change and increasing productivity, time-to-market, and quality The most significant improvements were seen : improved project visibility , improved  alignment between IT and business objectives, improvements in productivity, software quality, and/or time-to-market Tags :  Team Work | Agile |

Disciplina non significa comportamento autoritario

L'immagine più frequente che richiama la parola disciplina è quella di un capo che impone con autorità al gruppo l'obbedienza a norme che lui ha stabilito. Ho annotato degli appunti sulla disciplina nei post precedenti e con piacere vedo che non è questa l'immagine di disciplina che appare.   La definizione che più si avvicina è quella di insegnamento, guida cioè qualcosa che prima di tutto serve ed è utile a chi la applica cioè alle persone che compongono il team.     Un team nuovo - composto da sviluppatori che devono conoscersi, trovare un modo efficente di collaborare insieme in modo coordinato, scoprire un modo efficace e produttivo di affrontare...

Ancora sulla disciplina di un team

Aggiungo al post precedente alla voce Applicarla bene. Le regole vanno stabilite presto e insieme. E' importante la capacità di stabilire delle regole e di attenerci ad esse. La chiave è essere forti e flesibili : Possiamo mantenere le nostre idee e far valere le nostre regole. Ma non possiamo costringere gli altri a darci ragione.  Per poter stabilire dei limiti certi e ragionevoli dobbiamo averne avuto qualche esperienza e averli trovati giusti. E' utile parlare...

Liberare il cambiamento

Ho già postato su come facilitare e promuovere il cambiamento perché il mondo cambia velocemente nel IT. Aggiungo anche questa annotazione dalla lettura che sto facendo:   Non sempre il cambiamento assume una forma che ci aspettiamo o che ci aggrada, allora dobbiamo imparare a trattenerci, a dire di no a noi stessi e all'istinto di imporre il nostro approccio e il nostro modo di vedere. Dobbiamo accettare che ci sia un modo diverso e autonomo di integrare ciò che gli altri incontrano sulla loro strada. Sostenerli e indirizzarli nei momenti di bisogno e appoggiarli nella loro ricerca di indipendenza.    Questo lo chiamerei liberare il...

Disciplina, è utile? a cosa? e come?

Proseguo le annotazioni dalla lettura che sto facendo, I no che aiutano a crescere di Asha  Phillips.     Quando è utile La disciplina è utile quando aiuta a coltivare la passione e il coinvolgimento e insegna a conoscere, capire ed adattarsi alle regole per farne buon uso. I limiti possono rappresentare delle restrizioni ma hanno anche la funzione di proteggere e in questo modo aiutano ad acquisire sicurezza. La disciplina è utile anche perchè insegna l'arte di stare in compagnia e gestire i conflitti e l'aggressività in modo vantaggioso. Insegna a conservare la propria individualità pur facendo parte di un gruppo.   Applicarla bene Nel applicare la disciplina...

Creatività e successo

Sono incappato in questa citazione di Mark Twain:  « Un uomo con una nuova idea è un pazzo finché la sua idea non ha successo » Mi è capitato di incontrare uomini con buone idee bloccati da un timoniere senza il coraggio di esplorare e uomini con un'idea "farlocca" che si fanno forza dietro il timonienre proprio sapendo che non gli lascerà esplorare. In entrambi i casi questa rappresenta una  strada chiusa e non la trovo di gran vantaggio visto che  una grossa fetta delle scoperte di successo del nostro tempo sono iniziate proprio con un errore: la penicellina i raggi X ...

Superare una difficoltà insieme

Riporto alcune note da un libro interessante che sto leggendo: I no che aiutano a crescere di Asha  Phillips. Mi sembrano interessanti riguardo il superare le difficoltà in team, il chiedere e ricevere aiuto, l'imparare cose nuove dai colleghi e ricambiare. A una visione con due uniche alternative, il fallimento o il successo promuove l'alternativa intermedia di un necessario percorso di apprendimento da fare insieme quando non si riesce a fare qualcosa da soli.   Tags :  Team Work | Team building | «Per diventare più forti bisogna riconoscere di non poter fare tutto immediatamente. Per acquisire qualcosa dagli altri bisogna pensare che abbiamo qualcosa da offrire. Condizione necessaria per chiedere...

Dire di no

In un post precedente ho scritto di leader che "non sanno dire di no, non vogliono scontentare nessuno". Capitano ad esempio situazioni in cui quando ci sono le stime, l'utente ha scelto le priorità, gli sviluppi sono messi a calendario, costantemente arrivano nuove impegni, richieste, lavori  che il responsabile di progetto non sa schermare perché non sa dire di no. La lista di casi in cui dire no e come: No, this doesn't fit our priorities. Se stai conducendo il progetto con metodi agili, gestire questa situazione è più facile. Se la richiesta arriva dall'utente che ha stabilito le priorità...

Negoziare: alcuni suggerimenti utili

Preso da un post di Sameer Penakalapati : Why negotiation skills are so critical in personal and professional life? here is what you should know. Mi risulta naturale raggruppare così i suggerimenti che da: Comunicazione 1. Always go for 'win-win' negotiation, keeping everything neutral (emotions, egoism etc.) 2. Understand your fair interest and the interest of the person you are with negotiation 8. Show your inerest to open for new ideas Relazione 6. A good negotiation leaves a future merit for a business relationship, or even a good friedship 9. Treat everyone involved in the negotiaton with great respect 10. Thank every one at the end of the negotiation,...

Competitività e imprese: l' IT fa la differenza

Davvero interessante scoprire per un developer che le linee di codice che scrive generano del valore reale che contribuisce in modo determinante all'aumento della competitività. Vien voglia di fare un giro per i reparti, parlare con gli utenti ed i committenti, conoscere la loro quotidianità con i propri software, capire in che modo fanno la differenza, conoscere il loro business, sentire le scelte prossime strategiche del business, immaginare come le prossime righe di codice che scriverò potranno aiutarli a realizzarle. E' questa la reazione leggendo questo righe : The findings of the study claim US multinationals obtain higher productivity than non-US multinationals because of how how...

Un po di Agile anche in Microsoft Irlanda

Ecco cosa chiedono tra le varie cose: Experience with agile development methodologies. A proven track record of shipping on time and at a very high quality level. Strong verbal and written communication skills. Se qualcuno ha voglia di partire per Dublino ecco i link: http://cercalavoro.monster.it/getjob.asp?JobID=58517774 e http://cercalavoro.monster.it/getjob.asp?JobID=58517923 E per chi vuole iniziare ad interessarsi alle metodologie agili Agile Quick Start   Tags :  Team Work | Professione | Aziende |

Eventi Agili Modena-Reggio & Brescia

Periodo ricco di eventi ... Agili , sarà che funziona? Per chi è di Brescia e dintorni venerdì 8 Giugno c'è il Seminario Agile tenuto da Emanuele Del Bono e Daniele Armanasco presso l'Università di Brescia. Per chi è di Modena, Reggio e dintorni mercoledi 6 Giugno c'è XPLabsTour2007 tenuto da Francesco Cirillo presso  l'Università degli Studi di Modena e Reggio Emilia. 2 ottime opportunità per lasciarsi contagiare da un nuovo modo divertente di lavorare ;-) Ecco qualche link per farsi una panoramica della realtà agile in italia: Agile Quick Start. Tags :  Team Work | Agile | Eventi |

Il lavoro, uno degli ingredienti della felicità

  Leggendo del materiale di Martin E.P. Seligman (Fox Leadership Professor of Psychology in the Department of Psychology at the University of Pennsylvania, promote the field of Positive Psychology) scopro che il lavoro è uno degli ingredienti della felicità : One of the most important influences on happiness is social relationships. People who score high on life satisfaction tend to have close and supportive family and friends. Another factor that influences the life satisfaction of most people is work or school, or...

Come va il QI di gruppo nel tuo team?

Il QI di Gruppo è la misura della capacità di alcuni singoli individui di lavorare bene in team combinando le loro competenze e la loro forza. Ecco tre livelli con cui confrontare le prestazioni del team di cui si fai parte: la prestazione del team è superiore alla prestazione media del suo componente migliore la prestazione del team è pari alla prestazione media dei suoi componenti la prestazione del team è inferiore alla prestazione media dei suoi componenti.  Ho trovato questo argomento raccontato in 'Lavorare con intelligenza emotiva' di Daniel Goleman.   In...

Come dare feedback in modo efficace

Delle indicazioni su come dare il proprio feedback perché venga capito ed usato:  It starts with an opening that sets the stage Lets people know that you have something important to say, that this isn’t a run-of-the-mill conversation. It also gives people a chance to respond, “This isn’t a good time. Can we talk later?". Provides a clear description of behavior or results Don't make judgments:   - Clear descriptive data and examples ...

Sei un buon Team Player ?

Ho trovato in rete un questionario che misura 24 punti di forza  del comportamento di una persona importanti nel lavoro in team. Il test è stato realizzato da persone esperte e competenti e per avere valore scientifico deve essere fatto  in un ambiente controllato con il supporto di uno specialista. Fatto on-line suggerisce aspetti importanti nel lavoro di team e pone domande stimolanti. Qui il test (purtroppo richiede una breve registrazione, pegno per la serietà della cosa) :  http://www.authentichappiness.sas.upenn.edu/tests/SameAnswers_t.aspx?id=270 (e qui l'elenco dei test disponibili) Ecco in sintesi i 24 punti di forza che misura: Perspective [wisdom] Being able to provide wise counsel to others; having ways of looking at the world that...

Odi il tuo capo ??? Sorpresa: lui odia TE :D

Da questo articolo leggero e provocatorio: http://money.guardian.co.uk/work/story/0,,2048182,00.html  ecco la Top Ten delle cose che il tuo capo odia di TE: Quando sei in ritardo (e le scuse peggiorano solo la situazione) Quando manchi di iniziativa Quando hai troppa iniziativa (specialmente quando ignori completamente le indicazioni) Quando sei logorroico e ti lamenti in continuazione Quando sei sleale Quando non ci metti passione ne un po' di interesse  Quando ti prendi troppa confidenza e credi di poter ignorare gli "ordini" ...

Le 12 abilità di un dirigente

Ho raccolto alcune note interessanti da questo articolo che ho appena letto: http://www.cio.com/article/28426/Stress_Tolerance/1 La competenza di un dirigente viene spesso descritta in uno spettro di dodici abilità: Auto-controllo cioè auto-disciplina Una buona memoria a breve termine (vedi http://en.wikipedia.org/wiki/Working_memory) Autocontrollo emotivo Focus Facilità nel cominciare un nuovo task (detta task initiation) Pianificazione e priorizzazione Organizzazione Gestione del tempo Definire e raggiungere gli obiettivi Flessibilità Capacità di osservazione...

Gli ingredienti di una atmosfera di lavoro stimolante

Ingredienti che fanno un ambiente di lavoro stimolante: porre domande aperte chiedere di fare invece che indicare come fare rispondere alle domande con domande guida penetranti incoraggiare ad infrangere le consuetudini, ad essere audaci, ad esprimere le proprie intuizioni apprezzare le menti indipendenti essere aperti a idee apparentemente irritanti e destabilizzanti e ai suggerimenti contribuire ad un clima di rispetto e fiducia favorire la trasparenza delle informazioni senza barriere,...

Un ambiente di lavoro ostile

Elenco (raccolto da letture) di cose che possono rendere un ambiente di lavoro sconfortante, bloccante, inibente invece che stimolante, incoraggiante e ispirante: la sorveglianza - toglie il coraggio di rischiare il giudizio, la valutazione e le ricompense - tolgono il piacere personale di fare e la soddisfazione per i propri conseguimenti la competizione eccessiva - toglie la possibilità di seguire le proprie attitudini e i propri talenti e disincentiva la collaborazione l'eccessivo controllo - disincentiva l'originalità e l'esplorazione la limitazione delle scelte - inibisce...

Team eXPerience

Queste sono domande che ho raccolto da alcune letture che ci si può porre per riflettere sulla proporia esperienza in un team. Ho anche raggruppato quelle a mio parere affini. Il QI di gruppo cosa ho imparato in questo periodo dai compagni di squadra che ha cambiato il mio modo di pensare/valutare/lavorare? quali caratteristiche individuali e competenze di spicco ho e quali altre ci sono all'interno del team? quali delle mie caratteristiche personali e specifiche ho messo a disposizione del team e utilizzato per supportare i miei compagni di squadra e gli...

Il pendolo della cretività

L'idea di uno studioso, George Land, è che la creatività si manifesta come un pendolo che oscilla passando attraverso tre fasi. nella prima dopo aver esplorato tutte le alternative il sistema inventa se stesso nella seconda istituisce un modello formale in base a ciò che ha funzionato meglio nella prima nella terza deve infrangere i limiti di questo modello per ricominciare a svilupparsi ed evolversi E questo accade ad esempio in cicli di minuti durante la soluzione di un...

Il sapore della qualità, corollario

Corollario al post precedente: "Il debito tecnico che ti fai oggi è un ostacolo in più sulla strada del successivo rilascio puntuale" "se invece di risolvere questo debito tecnico oggi ne crei uno nuovo, per il prossimo rilascio avrai 2 debiti tecnici in più da risolvere" Tags :  Team Work | Agile | Pratiche |

Il guastatore

 «    Si'. è molto strano... non credo di aver mai visto un caso simile prima d'ora... Io consiglierei di rimettere l'elemento al suo posto e lasciare che vada in avaria. Dovrebbe essere facile allora individuare la causa; possiamo certo permetterci di interrompere le comunicazioni per il breve periodo necessario alla sostituzione.   » 2001: Odissea nello spazio, Stanley Kubrick, 1968   Hal, il computer dell'astronave, prevede un'anomalia del componente AE-35 eppure il computer gemello Novemila prevede non ci sarà anomalia. Per scoprire dov'è il problema lasciano in funzione il componente AE-35 sino alla rottura che darà informazioni utili a risolvere il mistero.   «    Saremo pronti a celebrare la vittoria...

Stile di leadership agile: Situational leadership

L'idea che Hersey suggerisce è di adattare lo stile di leadership alle caratteristiche del team. Lo stile si adatta in due dimensioni: task_behavior ossia il grado in cui il leader dirige il lavoro e relationship_behavior ossia il grado in cui il leader utilizza il rapporto e la comunicazione con il team. Da queste 2 dimensioni scaturiscono 4 stili di leadership (quattro quadranti ;-)) : Telling / Directing: il team riceve chiare indicazioni sul lavoro da svolgere e su come svolgerlo e i risultati vengono controllati mentre la comunicazione è principalmnte uni-direzionale verso il team. Lo scopo per il team...

Essere agili: team auto-organizzati e disciplina

Questo commento di Ludovico mi fa pensare a due aspetti in conflitto tra loro dell'essere agili, la disciplina e l'auto-organizzazione in un team. Posso facilmente immaginare team disciplinati dove c'è meno auto-organizzazione e più autorità e controllo. Posso immaginare team auto-organizzati dove c'è meno controllo e più improvvisazione. Fatico invece ad immaginare auto-organizzazione e disciplina insieme. Riflettendoci però ... I team agili si auto-organizzano nel senso che individuano, definiscono e adattano i processi e le pratiche che applicano facendoli emergere dai bisogni e dalle necessità reali che affrontano. Cioè fanno in modo che gli sprechi e i problemi diventino visibili e facilmente riconoscibili (fai galleggiare la barca sulla superfice). Ogni volta che uno spreco o un problema si presenta, il team lo vede chiaramente e può...

Agile Quick Start

Alcuni link da cui iniziare:  http://www.agilemovement.it/  la community italiana dedicata alle metodologie agili fondata da Marco Abis http://www.agileday.it/ la conferenza italiana dedicata alle metodologie agili in cui incontrarsi, confrontarsi, condividere esperienze e conoscere esperti ed aziende di primo piano http://www.extremeprogramming.it/ lo user group italiano di extreme programming, qui trovi le persone più attive su XP in italia http://www.agilemanifesto.org/ il manifesto contiene i valori e i principi comuni a tutti...

Essere agili senza anticipare o improvvisare

Mi chiedo periodicamente come essere Agile senza anticipare e senza improvvisare. In mente ho due spunti: Una indicazione è quella di anticipare, prevedere il minimo indispensabile e non di più (un esempio di questo è Enough Design UpFront, EDUF ossia la quantità minima di disegno che è utile anticipare) L'altra è quella di reagire rimandando ogni scelta non reversibile sino all'ultimo momento responsabile e non un attimo dopo.    Scoprire dove sono questi due estremi non mi è facilissimo, variano di caso in caso. Il punto che cerco, l'equilibrio, è li nel mezzo, da qualche parte. Sul tema ho trovato...

Leader con personalità troppo incombenti, cosa fare?

In un post precedente ho scritto "leader con personalità incombenti", un comportamento che rischia di scoraggiare il team ed ostacolarlo invece che supportarlo e incoraggiarlo. Il compito del leader comprende prendere decisioni a volte su questioni difficili, prendere posizioni chiare anche quando ci sono dibattici accesi su temi caldi, rispondere alle responsabilità che si è assunto rispettando gli impegni e consegnando in tempo. Quando la pressione del lavoro si alza la tendenza ad un atteggiamento pessimistico e al giudizio critico nei confronti dei colleghi cresce perché si assottiglia il tempo per comunicare e confrontarsi. ...

Stile di leadership agile e stile di management classico

Ho appena finito di leggere, rileggere, sminuzzare, ricomporre e analizzare articoli sulla differenza tra questi due modi di guidare un team. Metterli a confronto mi ha aiutato a capire meglio il significato di Leadership agile e a chiarire ciò che attraverso l'esempio, l'emulazione e il training on the job di colleghi illuminati ;-) sono riuscito a intuire. Annoto qui i passassaggi chiave a mio avviso. Il vantaggio di una leadership agile è quello di produrre un'organizzazione agile in grado di gestire situazioni estremamente mutevoli, che è in grado di valutare velocemente le nuove condizioni e adattarsi e reagire velocemente per raggiungere i propri obiettivi. Mi fa pensare a...

Ascoltare, decidere e agire

Nel Corriere di ieri c'è un articolo interessante di Alberoni. Parla di chi non ascolta, non delega, è autoritario o dispotico, non si consulta con i colleghi e con gli esperti, oppure ha una personalità troppo incombente. Ed in cambio ottiene il timore, un atteggiamento servile, il silenzio. Il feedback si spegne e questo porta all'errore. Parla di chi non decide, non vuole correre il rischio di sbagliare, non vuole assumersi responsabilità, ne prendere iniziativa. Ed in cambio ottiene l'immobilità, nessun passo verso la meta,  nessun miglioramento da sedimentare. Parla di chi ascolta troppo, prolunga troppo la mobilitazione, accoglie troppi progetti nuovi, inserisce sempre...

Appunti sulla leadership

Annoto alcune frasi prese da Larry Wilson che mi tornano molto.«  La leadership sta nel dimostrare agli altri il desiderio di prendersi cura di loro e favorire la loro crescita  »   «  Il lavoro di un leader è quello di trascinarci e portarci oltre il punto che noi pensavamo di poter raggiungere  » «   La leadership si esprime in tre momenti: il primo consiste nel creare una visione delle cose in cui poter credere e che si possa comunicare agli altri il secondo consiste nel guidare i tuoi verso quell'idea il terzo...

Embrace the change, come ? Parte 2°

Quando una persona è disposta verso il cambiamento? In che condizioni non lo ostacola, lo accetta, partecipa, contribuisce oppure lo promuove? (continua qui) Fonte: un libro di Goleman, qualcuno lo riconosce?     Tags :  Team Work | Motivazione | Creatività |

Errori convenienti: la cultura del imparare

Se ti trovassi ad organizzare i posti a sedere per una cena, metteresti la parola 'errore' a tavola con le parole danno, colpa, disapprovazione, rimprovero e punizione o la metteresti a tavola insieme alle parole esperimento, novità, coraggio, talento e perseveranza? (continua...)   Tags :  Team Work | Agile | Pratiche |

Indagine sui tool usati nel Agile Project Management

Ecco i risultati di un'indagine condotta sull'adozione di tool che supportano il project management agile: http://trailridgeconsulting.com/files/2006AgileToolingSurveyResults.pdf   Disponibilile anche il risultato dell'indagine sull'adozione delle metodologie agili: http://www.ambysoft.com/downloads/surveys/AgileAdoptionRatesSummary.pdf Tags :  Team Work | Agile | Tools |

Matematica e creatività

Navigando ho scoperto che una delle definizioni più efficaci di Creatività l'ha data un matematico, Poincaré appunto:   << Creatività è unire elementi esistenti con connessioni nuove, che siano utili >>   Creatività è anche uno dei valori dell'etica hacker.     Tags :  Team Work | Motivazione | Creatività |

Le 5 paure che si frappongono al successo

In pratica queste sono le 5 paure principali che frenano una persona nel raggiungere ciò che desiderano, ad esempio il completamento positivo di un progetto: La paura dell'ignoto La paura del fallimento La paura della disapprovazione La paura di impegnarsi (scegliere, dover perdere una cosa per averne un'altra) La paura del successo Quella che più mi colpisce è la paura del successo, sembra paradossale, mi incuriosisce molto. Update: un film su questo tema interessante Rischio a due (Two for the Money) con Al Pacino  Segnalato da: http://pierg.wordpress.com/2006/09/26/what-prevent-people-from-pursuing-their-destinies/ Tags : ...

Creatività e ispirazione

Questa storia su creatività e ispirazione mi è piaciuta, ecco alcuni passi: (cliacca x leggere)

Qualità vs. Quantità . chi vince ?

Secondo un sondaggio internazionale della NFI Research 1 azienda su 4 da più valore alla qualità che alla quantità e la domanda di qualità da parte dei superiori è ancora maggiore più di un quarto ha risposto che il loro responsabile da importanza alla qualità prima che la quantità. Qualità e quantità sono due obiettivi in conflitto tra loro la quantità serve a ben poco se la qualità è insufficente a volte è il cliente stesso che preme a discapito della qualità per ottenere maggiori volumi e maggiori velocità ...

Project Management: tradizionale & agile

  Smilitudini e differenze tra il Project Management tradizionale (stile PMI) e Agile (stile XP, Scrum) in questo documento : http://www.rallydev.com/documents/rally_survival_guide.pdf  Mi sembra possa essere un buon ponte tra i due mondi. Vuoi attraversarlo? Link: - http://www.rallydev.com/kportal.jsp?doc=wp11 - http://www.rallydev.com/agile_knowledge.jsp     Tags :  Team Work | Agile | Pratiche | Leadership |

Comunicazione: da spettatore ad attore principale

In community WorkShop e WebCast non mancano e nemmeno al lavoro i meeting mancano. In molte occasioni capita di partecipare lasciando il "palcoscenico" ad altri e sedendosi in "sala". Comunicazione e Feedback si stanno dimostrando ingredienti sempre più importanti così capita sempre più spesso che lo spettatore-ascoltatore può svolgere un ruolo attivo e rilevante per il successo di WorkShop, un WebCast e di un meeting riuscendo così a portarsi a casa più valore per il tempo speso. In questo articolo segnalato in un post precedente che ho letto e riletto in cui per ogni specifica difficoltà di comunicazione (le chiama 'barriers to effective listening') c'è una contromisura...

Dipartimenti IT eccellenti

Un elenco di caratteristiche comuni ai migliori dipartimenti IT : Alignment with the business Managing change Establishing trusted relationships with vendors and outsourcers Managing infrastructure systematically Assimilating information about new technologies Deriving best practices and lessons learned from...

Problemi di comunicazione?

A volte mi è capitato durante una discussione di finire in un vicolo ceco, di non riuscire a smuovere la discussione arenata. Sotto c'è un elenco che descrive 8 atteggiamenti negativi in una discussione. Sono rimasto sorpreso di scoprire che per ogniuno di questi casi c'è una contromossa che permette di recuperare la situazione. Ancora maggiore è stata la sorpresa quando ho capito che la soluzione la si può risolvere comportandosi da buon ascoltatore: la contromossa è in mano a chi ascota. Update 3-Nov-2006 qui il post originale già in italiano: http://blogs.ugidotnet.org/pier/archive/2006/09/28/49125.aspx Ecco l'elenco: Credere di conoscere già la risposta al problema e quindi smettere di...

E tu come la pensi ?

Lo schema descrive alcuni modi tipici di organizzare il pensiero: Split o Lump Split cioè il modo di pensare per differenze ossia porre molta attenzione e notare ed evidenziare le differenze delle cose Lump cioè il modo di pensare per similitudini ossia  notare ed evidenziare le similitudini tra le cose Trees o Forrest Trees ossia il modo di pensare concentandosi sui dettagli concreti, sulla parte su cui si sta lavorando. Ad esempio guadando il muro si penserebbe al mattone Forrest ossia il modo di pensare concentandosi sulle...

E-mail per comunicare

Leggendo questi post ho visto lo stile di e-mail che preferisco e come adattarlo all'interlocutore per comunicare bene: Be ‘in rapport’ with e-mail (1) Be ‘in rapport’ with e-mail (Type of email) Be ‘in rapport’ with e-mail (VAK) Be ‘in rapport’ with e-mail (Tone) Effective communication via e-mail Again on better e-mail usage Managing e-mail Fonte: http://pierg.wordpress.com/   Tags :  Team Work | Comunicazione |

Leadership: aree di competenza e carenze fatali

Zenger and Folkman definiscono 5 principali aree di competenza di un buon leader: Capacità personali Carattere Capacità di comunicazione interpersonali Capacità di focalizzarsi sul risultato Desiderio di guidare il cambiamento in azienda Definiscono anche delle carenze fatali per un leader: Incapacità di imparare dai propri errori Mancanza delle basilari abilità interpersonali Chiusura verso le nuove idee e idee originali o differenti dalle proprie Poca affidabilità e responsabilità verso gli altri (clienti, colleghi)...

A quale categoria motivazionale appartieni?

A che categoria motivazionale appartieni? Quali sono le motivazioni nel lavoro informatico che fai? Scopri la ... tua MotivazioneProfessionale!   Tags :  Team Work | Motivazione |

I risultti del... 2ndo Test Estivo per programmatori - AGOSTO 2006

                                                                            Ecco anche i risultati del secondo test estivo per programmatori.  *Ordina questa lista di valori mettendo prima quelli che più ti rappresentano.                                                                            Prendine i primi 5, conta quanti appaiono tra i ValoriDelloSviluppoAgile, se sono almeno  3 sei affine al metodo di sviluppo agile altrimenti sei + affine al metodo classico. Tags :  Team Work | Motivazione |

I risultati del ... Test da spiaggia per programmatori - AGOSTO 2006

Ecco qui il risultato del Test da spiaggia per programmatori - AGOSTO 2006. Segna per ognuno dei 19 valori in questa lista, carta penna e Notepad, se lo condividi Moltissimo(++), Abbastanza(+) o Poco(-). Ad ogniuno dei 7 valori che appaiono anche qui (ValoriDellEticaHacker) se lo condividi Moltissimo(++) somma 10punti, se lo condividi Abbastanza(+) somma 5punti. Il totale va alla scala di valori dell'etica hacker.  Ad ogniuno dei 7 valori che appaiono anche qui (ValoriDellEticaCapitalistica) se lo condividi Moltissimo(++) somma 10punti, se lo condividi Abbastanza(+) somma 5punti. Il totale...

Professione informatico: quello che i Manager vorrebbero da noi

Ecco il profilo dell'informatico ideale che il management spera vivamente di reclutare e difficilmente riesce a trovare. Fotografa la situazione corrente del mercato americano, rispecchia una realtà presente ora solo nelle maggiori aziende italiane di punta e probabilmente anticipa di qualche anno una tendenza di carattere generale per tutto il mercato IT nazionale. L'informatico esperto/senior ideale da reclutare per il management: possiede un'ampia competenza tecnica ed esperienza delle tecnologie emergenti e dei sistemi legacy ha una capacità analitica e di problem-solving di prima scelta ha eccellenti doti di comunicazione sa...

Innovazione si, ma finta

La fortuna non mi è mancata al primo impiego nel lontano 1889 quando potevo lavorare utilizzando un ambiente di sviluppo di IV generazione, un Db relazione con transazioni distribuite e funzioni di disaster recovery, un S.O. in time-sharing con supporto per il clustering. Cosa da extra terrestri a confronto di ciò che c'era intorno a quell'epoca. Passione, curiosità e impeto mi hanno sempre spinto verso la novità. In XP il cliente è parte integrante del team, è il garante del dominio applicativo, definisce i requisiti, sceglie le prossime feature da implementare, valida i risultati e la loro effettiva adeguatezza a soddisfare le necessità del cliente. Quando il cliente non è raggiungibile,...

Embrace the change, come ?

Mi è capitato di parlare con colleghi del desiderio di innovazione (nuove tecnologie, nuovi modi di lavorare, etc.) che viene frustrato da aziende poco propense ad innovarsi.  Accade anche la situazione opposta, manager che spingono per innovare e membri del un team che frenano. Sembra che a questa situazione apparentemente paradossale ci sia una spiegazione: La reazione tipica al cambiamento imposto è lo stress, il disagio e il fastidio. Alcune tecniche per promuovere l'innovazione e realizzare il cambiamento in team sembrano essere poco efficaci: Incentivi, come il bastone e la carota, sono poco efficaci a livello individuale ...

2ndo Test Estivo per programmatori - AGOSTO 2006

                                                                            +. Ecco il secondo test estivo per programmatori, come il precedente è l'occasione per scoprire quali sono i Valori da cui preferisci farti guidare nel lavoro quotidiano e con quali scale di valori sei più in sintonia. Metti in ordine questi punti, da quello che consideri per te più importante a quello che senti meno importante: ...

Test da spiaggia per programmatori - AGOSTO 2006

Ecco qui il test estivo per informatici, da assumere preferibilmente in spiaggia baciati dal sole, rinfrescati da una lieve brezza, con i piedi infilati nella sabbia e con un panoramara scelto a piacere. Quella che segue è una lista di 19 valori che riguardano proprio il lavoro di noi sviluppatori e informatici. Questi valori appartengono a 3 distinte scale di  valori, il test serve a scoprire quale scala delle 3 ti rappresenta meglio. Istruzioni: il punto è mettere in ordine di priorità i seguenti valori ed elencali in tre gruppi di priorità: quelli con cui ti senti  Moltissimo in sintonia  , scegli quelli con cui ti senti...

La mappa degli agilisti italiani

http://www.frappr.com/italianagilemovement Ci sono anch'io. Fonte: http://blogs.ugidotnet.org/nicolacanalini   Tags :  Team Work | Agile |

Memo: il ciclo del rispetto e il ciclo del disprezzo

Showing leadership means both earning respect from others and knowing what to do with it. Recognize the skills of your team members, and make sure you can offer each person challenges and development without exceeding what they can cope with at a given time. Leadership involves not always getting to do the "fun" parts of a project yourself (that scary "delegation" word). It also involves not asking anyone to do a task that you wouldn't be willing to do yourself.   Fonti: - http://www.developerdotstar.com/mag/articles/software_professionalism.html - http://blogs.ugidotnet.org/antonioganci/archive/2006/08/07/45965.aspx   Tags :  Team Work | Leadership |

Tecniche di stima (4 di 4): i costi e il prezzo

Per quanto riguarda il punto tre della lista ossia la definizione del prezzo... una volta che è stato ideato il prodotto che risponde le esigenze del cliente, stimato lo sforzo necessario a realizzarlo, definite le esigenze di calendario, le persone e le competenze necessarie arriva il momento di stimare i costi. I costi da considerare oltre al costo degli sviluppatori includono diverse altre voci: hardware, networking e licenze software e relativa amministrazione e manutenzione viaggio e trasferte i locali adibiti ad ufficio, ricevimento clienti, spazi di ricreazione (per una meritata pausa caffè ;-)) ...

Tecniche di stima (3 di 4): il calendario dei rilasci

Per quanto riguarda il punto due della lista ossia la definizione del calendario delle date di consegna (il commitment), il tempo di calendario dipende in modo lineare dallo sforzo richiesto dal progetto come determinato dalla stima  e dalla percentuale di tempo dedicata al progetto (es. tempo piento o metà al progetto e metà ad un altro progetto). In XP il dato storico della velocità del team (quanti story point o pomodori vengono prodotti al giorno - ciao RiccardoM -) permette di passare facilmente dalla stima in giorni ideali alla stima in giorni di calendario. La cosa è nota e resta sempre sorprendente: il...

Tecniche di stima (2 di 4): lo sforzo

Quando un progetto inizia e si va verso una offerta economica è necessario trovare la risposta a queste domande: Quanto sforzo è necessario per completare il progetto? (la cossidetta stima in giorni uomo) Quanto tempo di calendario serve? (il cossidetto commitment o impegno sulla data di rilascio) Quel'è il costo di realizzazione del progetto? (e di conseguenza il prezzo) Quello di cui parlo è il punto 1 ossia la stima dello sforzo in giorni uomo, che poi contribuisce a determinare i restanti due punti.  La difficoltà di formulare la stima...

Tecniche di stima (1 di 2): i presupposti

Noi sviluppatori impariamo in fretta che fare una stima accurata a inizio progetto è difficile e farla inaccurata è il primo passo verso il dolore. Un turista chiede al servizio metereologico che tempo farà il 25 del prossimo mese e la risposta non c'è. Una signora vuol sapere dal parrucchiere quanto ci metterà, lui chiede cosa desidera: taglio, colore, messa in piega... e poi le risponde. Ci sono cose che è inutile dettagliare perché cambieranno, altre che conviene conoscere per esprimere una stima possibilmente accurata. Per formulare una stima su un nuovo software conviene conoscere i requisiti funzionali (il problema) il relativo dominio applicativo ed i processi aziendali...

Stimare per la prevedibilità

La stima dei tempi durante un progetto viene fatta in almeno 2 momenti molto diversi. Qui il punto è che la pianificazione è un documento vivo che viene continuamente aggiornato in base alle nuove informazioni raccolte e in ogni momento esprime con la migliore precisione possibile l'ora di arrivo prevista. Procedendo così il cliente otterrà tanto valore quanto paga ed in modo prevedibile. Non è poco! Siamo anni luce avanti allo standard del pre Anno 2000/EURO. Ogni imprevisto potrà essere gestito in modo tempestivo, reagire cambiando i piani sarà la cosa naturale da fare.   Release Planning La prima stima va fatta per il Release...

Prezzo da Ipermercato, qualità da Boutique

Questo post è scritto da programmatore a programmatore, titolo compreso. Riguarda l'acquisto di software, visto dalla parte della software house, dalla parte della azienda finale e dalla parte del consulente. In queste situazioni l'acquirente desidera la stessa cosa... un prezzo da ipermercato! Basso?  No! Noto dall'inizio, certo nei tempi, certo della merce che ci si porta a casa. In una parola:  p r e v e d i b i l i t à  ! Quando un acquirente deve fare un uso del software per cui una qualità inferiore a quella da boutique non è sufficiente i software pacchettizzati standard non sono un'opzione. Sviluppiamolo da zero o quasi, facciamolo su...

Comunicazione e manipolazione: memo risorse sul tema

  Film: L'ottavo giorno (Le Huitième jour) del 1996 Regia di Jaco Van Dormael Principali interpreti: Pascal Duquenne; Daniel Auteuil; Miou Miou Film: Il popolo migratore (Le Peuple migrateur) del 2001 Regia:  Jacques Perrin Manipolazione: http://it.wikipedia.org/wiki/Manipolazione Parassitismo: http://it.wikipedia.org/wiki/Parassitismo Retorica: http://it.encarta.msn.com/encyclopedia_761574514/Retorica.html...

Comunicazione e manipolazione

 • • •  Aggiornato il 11-07-2006 Intorno a Marzo con una collega stavamo preparando un Planning Game e nel mentre ci siamo chiesti qual'è il confine tra comunicazione e "manipolazione". Senza trovare una risposta soddisfacente. Distinguo facilmente le situazioni passate di comunicazione da quelle di "manipolazione" di cui sono stato oggetto: le prime le associo ad un senso di fiducia, concretezza, soddisfazione, realizzazione professionale, reciprocità, libertà, responsabilità, chiarezza; le ultime le associo ad un senso di sfiducia, conflittualità, dubbio, oppressione, frustrazione, rabbia o rassegnazione, insoddisfazione. Immagino che sia una reazione del tutto personale. Quindi la domanda resta: cosa è "manipolazione" ?  Questa è la prima risposta che riesco ad articolare stimolato da commenti e riflessioni rubate ad altri da bravo lurker: ...

Comunicazione e gli informatici II

Alcune annotazioni da un articolo che leggo: Colma la distanza tra le tue intenzioni ed il tuo comportamento.  We measure ourselves by our intentions; others measure us by our behavior. ...   Others see only what we do. It is also very common for others to infer what our intentions are, and often they infer the worst  ... we can always state our true intentions up front. ...  Asking for feedback gets us the data we need to understand whether we are getting the outcomes we intend. ...

Programmare senza ego: linee guida

  Renditi conto che commetterai degli errori e accettalo. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket guidance software at JPL, mistakes are rarely fatal in our industry, so we can, and should, learn, laugh, and move on. Non sei il codice che scrivi, ne quello che hai scritto ne quello che scriverai Remember that the entire point of a review is to...

Il software come conoscenza in compresse

Mentre studiavo algebra imparai un teorema con una dimostrazione lunga 2 facciate, negli esercizi tra le note curiose scoprii che un secolo prima lo stesso teorema per essere dimostrato aveva richiesto 10 e più libri. Ora come allora la conoscenza che quel teorema portava era la medesima, ma allora trasmettere, comunicare o elaborare quella conoscenza richiedeva una quantità d'informazione estremamente più grande che oggi (10 libri contro 2 facciate).   Quando lo sviluppatore realizza una soluzione informatica ad un problema passa attraverso diverse fasi, dal problema alla sua soluzione sino alla implementazione del software in momenti successivi di analisi e sintesi sino al rilascio definitivo della versione ufficiale...

Sei un informatico e ci tieni alla carriera? Investi su di te

Ho letto un suggerimento che trovo interessante: Lessons from Personal Finance Good investors:   have a plan   diversify   look for value   are active, not passive   do it regularly Guardandomi indietro devo ammettere che questi suggerimenti hanno funzionato. Qui la fonte: http://www.pragmaticprogrammer.com/talks/HowToKeepYourJob/HTKYJ.html e la segnalazione è di Antonio.   Tags :  Team Work | Professione |

The Toyota way

Annoto alcuni spunti dal pdf segnalato qui da Antonio con l''intento di migliorarmi su questi temi: Fai galleggiare la barca sulla superfice (il flusso di lavoro e i processi) Rendi e mantieni sempre evidente il flusso (del lavoro, del processo) e fa in modo che sia noto ed evidente a tutti attraverso la tua cultura aziendale Crea un flusso che muove insieme materiali e informazioni (per me applicazioni e codice, dati applicativi e conoscenza del dominio) e che lega il processo...

Pair Programming: la diversità dei pair è una ricchezza

Due sviluppatori in pair che approcciano la rappresentazione del problema e la  soluzione in modo diverso e che hanno formazione diversa possono ottenere risultati nettamente superiori a una coppia in pair di programmatori molto capaci (specializzati sul problema) ma molto simili tra loro. Questa è l'idea che mi è venuta leggendo questo articolo:   Groups of diverse problem solvers can outperform groups of high-ability problem solvers   Fonte: http://www.pnas.org/cgi/content/full/101/46/16385 ...We find that when selecting a problem-solving team from a diverse population of intelligent agents, a team of randomly selected agents outperforms a team comprised of the best-performing agents. This result relies on the intuition that, as the initial pool...

Comunicazione e gli informatici

Da buon informatico passo molte ore ogni giorno a "parlare" con il mio computer (la cosa buona è che mi ascolta ancora ;-O). Il mio computer è un interlocutore particolare: ascolta attentamente ciò che gli dico con estrema pignoleria, nota e interpreta ogni parola, ogni singola lettera... anche uno spazio o una parentesi graffa fanno la differenza, quando mi risponde è dettagliato, preciso e dice cose veriificabili; mi ascolta instancabilmente, non si annoia, non si innervosisce, non serba rancore; in cambio impone la sua lingua e la sua grammatica.   Quando penso alla comunicazione e agli informatici penso che siamo abituati a parlare con le macchine e molto meno con le persone. ...

Quiz sulle metodologie Agili ed eXtreme Programming: le risposte che mi sono dato

Dopo aver riflettuto sulle domande ed aver letto i feedback al post precedente ecco le risposte che ad oggi mi sono dato: In generale il committente (il reparto che ha richiesto un software) e la software factory (il reparto che realizzarà il software) hanno l'obiettivo comune di concludere il progetto con successo, il confine che vedo separa ciò che porta alla riuscita del progetto da ciò che lo ostacola. D: Che differenza c'è tra adattarsi alle richieste del cliente e subire le richieste del cliente? R: Metafora. Il passeggero è salito in Taxi verso l'aeroporto per prendere il volo che a breve...

Quiz sulle metodologie Agili ed eXtreme Programming

Ecco alcune domende che mi sono posto nell'ambito delle metodologie agili ed XP. Cosa ne pensate ? Che differenza c'è tra adattarsi alle richieste del cliente e subire le richieste del cliente? Che differenza c'è tra essere agili ed improvvisare? A volte è più facile cambiare il mondo che ... C:/> _ Tags :  Team Work | Agile | Pratiche | Cliente |

Il Bon Ton del Pair Programming

In aggiunta al protocollo standard del Pair Programming ecco le cose che sono concesse in piena libertà anzi vivamente consigliate ogni volta se ne sente il bisogno quando si stà facendo Pair Programming il driver può sollecitare un consiglio al observer quando ha un dubbio l'observer può sollecitare lo switch ai comandi per passare alla tastiera sia il driver che l'observer possono interrompere il pair e chiamare una sessione di brainstorming in cui entrambi lasciano la tastiera ed i rispettivi ruoli per affrontare un dubbio o cercare una soluzione insieme ...

Pair programming: come iniziare gradualmente

Oggi alla macchina del caffé è nata una discussione su come iniziare ad applicare il pair programming. La discussione è nata dal confronto dell'esperienza fatta da una coppia di pair entrata da non molto nel team e una coppia che fa parte del team da tempo. Dopo la chiacchierata davvero interessante ecco alcuni particolari e considerazioni che mi hanno convinto: la coppia di pair nuova nel team è stata facilitata ad applicare il pair perché essendo nuovi lavorare in coppia è stato necessario per riuscire ad avere tutte le info...

Pair programming: ruotare le coppie

Nel Pair Programming ho notato che ruotare le coppie mi permette di sperimentare coppie diverse risolvere problemi di compatibilità  diffondere e condividere la conoscienza. Quando la coppia non cambia sono stato tentato a dividermi le competenze/responsabilità (es. uno scrive sempre i test e l'altro il codice, uno fa la gui l'altro il db) col pair invece che condividere la conoscenza, in quei casi il turno di observer si è  trasformato in un turno di riposo e il dialogo in monologo. Un'altra conseguenza negativa dei pair che si dividono le competenze/responsabilità è che il...

Le coppie nel pair programming

Prendo spunto dalle slide di Fabio Carucci (Agile Day 2004, "L'arte di pensare in coppia" sul Pair programming), ecco un elenco di compatibilità caratteriale per le coppie:   Novice - Novice: KO ...

Pair Programming e tempi di sviluppo

Dai post e feedback precedenti (qui e qui) se la convenienza anche in termini di tempi di sviluppo del pair programming per problemi complessi e per la qualità del codice, per problemi semplici due sviluppatori spaiati sembrano andare più veloci. Ho notato che quando sono observer mentre il driver è alla tastiera ed il problema è semplice in effetti tendo a distrarmi non essendo necessaria la mia attenzione. Lo switch tra observer e driver mi obbliga a stare attento ma non basta. Pensandoci bene tuttavia...                     ...se il problema è semplice vuol dire che c'è spazio per fare di più e/o meglio: fare palestra - se si stà scrivendo codice nuovo per un...

Annotazioni sul Pair Programming

In attesa di ricevere qui feedback anche su cosa/quando la collaborazione non è efficace, economica od efficente mi segno alcune annotazioni sul Pair Programming: Two programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. Types and thinks tactically about the method being created. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects...

Quando collaborare è viaggiare al Quadrato

In questi giorni ho lavorato ad alcuni task in pair e ho anche visto due colleghi lavorare in pair.  Quando dico lavorare in pair intendo in due contemporaneamente alla stessa scrivania sul problema  e anche in due da remoto in momenti diversi sullo stesso problema. L'efficienza è quello che mi ha sorpreso, è che il lavoro in pair non ha solo dimezzato i tempi, in questi casi particolari gli ha ridotti ... al Quadrato. In un caso ha migliorato la qualità finale del task, nell'altro ha reso possibile il task nel tempo disponibile. Ecco un esempio dei task: semplificata l'implementazione di una nuova funzionalità ad una applicazione...

AgileDay 2005

Anche quest'anno ho assistito all'AgileDay, lo  seguo con molto interesse per affinare le mie conoscienze delle metodologie agili da cui mi faccio aiutare e guidare nel lavoro in team e nell'utilizzare tool e tecnologia per la buona riuscita dei progetti. La sera prima c'è stata una divertente cena di geeks (il presidente Andrea Saltarello si è esibito nel refactoring della serata in perfetto sitile Agile) impreziosita dalla presenza del gentil sesso e da un simpatico provocatore che ha contribuito ad ampliare il dialogo oltre i temi dell'informatica. Il viaggio di andata e ritorno con Riccardo Golia è stato come sempre un'ottima occasione per confrontarci sulla applicazione delle metodologie agili e sul nostro...

XP e User Stories, per noi e per Microsoft

Conclusioni Il problema: 1 mese di tempo per MS per inserire dentro il build complessivo del prodotto una aggiunta fatta da una divisione di sviluppo del prodotto. La causa: l'elevato numero di persone necessarie al team e del prodotto. La soluzione: organizzare le divisioni di sviluppo/build assegnando ad ogniuna la prossima singola funzionalità (User Story) da rilasciare, arrivare per ogni divisione ad un build giornaliero e quindi ridurre (a 1 settimana?) il tempo di attesa per il build complessivo del prodotto. Il fatto interessante L'integrazione continua è utile per poter giungere a build giornalieri fatti in pochi minuti, è un ingrediente ma ne servono anche altri. Và beh, cosa nota. Organizzare il lavoro del...

[OT] Informatica e creatività

Aggiornando il mio cv mi sono accorto che... [clicca il titolo x leggere]

Quando i progetti falliscono, sull'importanza di imparare dagli errori

Secondo statistiche del 2001 indicate dal Gartner Group il 30% dei progetti di IT (uno ogni 3!!!) non giungono ad una conclusione positiva ossia vengono abortiti oppure producono un software che non soddisfa i bisogni per cui è stato commissionato. Mentre il 51% supera il budget in media del 189% relizzando solamente il 74% delle funzionalità previste. Lo scorso anno mi è capitato di vivere l'esperienza di un progetto che è stato abortito, abbastanza presto da ridurre al minimo i danni, abbastanza tardi per poter salvare tutte le teste in un periodo di recessione. L'aspetto positivo è quanto ho potuto imparare da questa situazione nel adoperarmi...

PMI informatiche e innovazione

Mi accodo al recente post di Adrian e a quello di Andrea sul tema. Cosa significa oggi per una software house in italia innovare? Come prima cosa applicare i metodi dell'informatica moderna che si sono già dimostrati efficaci, adottare gli standard diffusi e impiegare le tecnologie più moderne con l'obiettivo di: creare valore a chi commisiona e acquista prodotti informatici realizzando prodotti che risolvono adeguatamente i bisogni del cliente per cui sono stati commissionati(1) dare alla direzione della software house...

Lavorare in Team: delega e fiducia

  Lavorando in Team e a volte guidando un Team ho avuto modo di verificare quanto sia importante la capacità di delega.   Se la guida del Team non è capace di (e quindi non vuole) delegare ad altri parte dei compiti e delle decisioni diventa il collo di bottiglia che limita le prestazioni del Team (lo stesso accade nella guida delle aziende che raggiunta una certa dimensione, nonostante le capacità e la preparazione delle persone coinvolte smette di crescere, come accennavo qui).      Sapere cosa e quanto delegare ad uno specifico membro del Team è importante, il compito deve essere...

Fai il consulente... rassegnati... ;-)

Ecco la risposta all'interessante post di Lorenzo:  Fai il consulente... rassegnati... ;-) _____________ Argomento molto interessante ! ! ! Provo a rispondere raccontando la mia esperienza personale. > ... prendo ordini da uno che  ... solo perchè lui è dipendente della società che mi da lavoro... cerco di decidere gli obiettivi insieme al cliente, di renderlo consapevole delle diverse possibilità e delle loro conseguenze (valtaggi/svantaggi) di coninvolgerlo nelle scelte. cerco anche di tenere chiari i rispettivi ruoli, gli input che ogniuno deve dare all'altro e gli output che devono essere prodotti e quindi le rispettive responsabilità. cerco di tracciare in ogni istante lo stato di...

I diversi livelli di maturità della Direzione

Ci sono diversi livelli di maturità nel saper guidare la propria azienda o il gruppo di sviluppo verso l'obiettivo che si è dato. Livello 1: Individuo estremamente capace Fornisce contributi estremamente produttivi grazie al talento, la conoscienza, le capacità e buone abitudini di lavoro. Livello 2: Membro del gruppo disponibile Mette a disposizione del gruppo le sue capacità individuali per il raggiungimento degli obiettivi del gruppo e lavora efficacemente con gli altri facendo squadra. Livello 3: Direttore competente Organizza le presone e le risorse verso il raggiungimento l'efficace ed efficiente di obiettivi predeterminati. Livello 4: Guida (leader) efficace Catalizza l'impegno e una forte volontà di raggiungere gli obiettivi indicati da una visione chiara e...

Le paure nel corso di un progetto - Parte II

  Ecco la II parte del precedente blog: Le paure nel corso di un progetto che come alcuni avevano notato introduce "la carta dei diritti del programmatore e del cliente" di Beck e Fowler! I Diritti del Programmatore Diritto di... sapere cosa è necessario fare svolgere un lavoro di qualità chiedere e ricevere aiuto dai colleghi e dal cliente fare stime di impegno accettare le sue responsabilità I Diritti del Cliente Diritto di... ricevere un piano dei lavori avere il maggior...

Le paure nel corso di un progetto

Le Paure del Programmatore Paura... di dover fare più di quello che si sa fare di ricevere indicazioni oscure su cosa bisogna fare che qualcuno chieda di fare cose senza senso di restare indietro dal punto di vista tecnico di avere responsabilità senza il potere di farvi fronte di sacrificare la qualità per rispettare i tempi di dover risolvere problemi difficili senza aiuto di non aver abbastanza tempo per risolvere...

Le Slide sono disponibili!!!

I posti disponibili per registrarsi all'evento sono andati esauriti in soli 3 giorni e molti non hanno potuto partecipare, credo quindi sia notizia gradita: le slides dell'evento sono disponibili qui. A mio avviso l'intervento di Joseph Perlin è stato stellare e da non perdere sono gli spunti interessanti relativi al rapporto col cliente usando i Metodi Agili (XP, SCRUM), le paure dei programmatori e del cliente e la carta dei diritti del cliente e dello sviluppatore (da tenere appesa in ogni ufficio!!!), le valutazioni di compatibilità caratteriale nelle coppie di Pair Programming, gli spunti per iniziare a mettere in pratica XP, gli spunti illuminanti su Refactoring,...

Progettare software, la realtà italiana e della community .NET

In chat con alcuni colleghi preparati ed esperti ho potuto scambiare opinioni sulla realtà italiana dello sviluppo del software ed in particolare la realta della commnity di sviluppatori .NET. Riccardo Golia ha riassunto ottimamente le varie opinioni nel suo blog: Uno spunto di riflessione dalla chat MVP: la progettazione del software. Presto avrò modi di raccontare come ho potuto iniziare a mettere in pratica in forma graduale i buoni principi dii gestione di un progetto, progettazione e implementazione ossia mettere in pratica i valori di eXtreme Programming e le sue tecniche. Questo aspetto tecnico è molto interessante. La cosa però che + mi ha sorpreso in questa impresa (esperienza) è...

Team distribuiti per applicazioni concentrate II

     visto ke è passato inosservato ne aprofitto per segnalare questo blog Sviluppo collaborativo di Software che suggerisce modi e strumenti per lavorare in maniera efficace e gradevole con team distribuiti.    scopo del documento li indicato è proprio quello di dare risposte alle difficoltà esposte nel blog Team distribuiti per applicazioni concentrate di Andrea.    l'argomento cade sotto il filone detto "lavoro collaborativo supportato da computer" (CSCW) che promette importanti sviluppi futuri.     Tags :  Team Work | Tools |