June 2009 Blog Posts

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 |

Agile Architecture

From this post an interesting article: "Agile Architecture: Red Pill or Blue Pill." (Jeff Sutherland, 2009) And one more link on this topic: EnterpriseArchitecture 2.0  (James McGovern, 2006) And even one more: Who Needs an Architect?  (Martin Fowler, 2003) What's your experience about this? Tags :  | Progettazione Software | Agile

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 |

[OT] Notizie dalla Svezia: The Pirate party is the next generation's civil liberties movement!

Riporto dal blog di Bruce Sterling The official Pirate Party platform: Right to privacy as a free citizen Government transparency, accountability Strengthen due process of law  (((that demand sure must be a first for pirates))) Reduce copyright Abolish patents (especially software and pharmaceutical patents) THE PIRATE PARTY IS THE NEXT GENERATION’S CIVIL LIBERTIES MOVEMENT! Our total campaign budget for 2009?  Fifty thousand US dollars! http://www.piratpartiet.se/donate   (((Meanwhile, a...

Photo Suggest – photos to go with your blog entry or slide

Here you find the first release of this app from the QWAN Labs:  http://labs.qwan.it/photosuggest Tags :  Creatività | Innovazione

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 |

Mentoring, Coaching and Training - What is the Difference?

http://www.agileadvice.com/2009/06/24/miscellaneous/mentoring-coaching-and-training-what-is-the-difference/

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 guidelines to help managers gauge their actions with self-organizing teams If the team has sufficient skills to solve the problem then give them space else ask questions to help them get unstuck. This would help in building the skills eventually. When time is not of the essence give the team...

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 |

High-performance Teams

A series of articles about high performance teams here: http://www.infoq.com/news/2009/06/high-performance-teams-teamicide Some excerpt... For the people in the team: High performance groups emerge when people have the courage to make commitments to co-create a new and different future. For the Management: When the management practices are right, then you have lots of them. That has happened in Toyota & Honda, and in software development. How much is "lots"? Hard to say precisely. Toyota/Honda constitute about a quarter of the car industry. In software, perhaps a third of all software development is now done in various variants of self-organizing teams, under the labels "Agile", "Scrum" or "XP",...

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

2 giochi iper-tecnologici per il futuro prossimo

Natal, da Microsoft Natal Hands On Giz from Gizmodo on Vimeo. Qui: http://gizmodo.com/5277954/testing-project-natal-we-touched-the-intangible Augmented-reality geisha Qui: http://gamesalfresco.com/2008/07/20/want-your-own-augmented-reality-geisha/ Fonte: http://www.wired.com/beyond_the_beyond/ Tags :  Creatività | Innovazione |

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 |