Posts

Showing posts with the label agile

"Back to values" agile retrospective format

Image
A week ago i proposed to my team a new format for the weekly retrospective. I called it "Back to values" because the starting focus is on values and then on practices and actions to improve that practices. Step 1: the values I put on the wall seven big post-its with the values, on the pink post-its the eXtreme Programming values plus the team's values on the orange post-its. simplicity (XP) communication (XP) feedback (XP) courage (XP) respect (XP) trust (team) sharing (team) Each teammate has an up arrow and a down arrow and I asked them to vote the best performing value of the week and the worst performing one. At the end of the vote we chose the two most rated values (no matter if with down or up arrow). In our case the chose values was communication and sharing. Step 2: the practices For each of the two chose values (one at a time), I asked the team to write on post-its all practices that support this value, both if they had used them and if...

Contracts: diagonal saber vs. agile

Image
I have moved from a product company to a consulting firm and therefore I am dealing with issues that up to now I have not considered particularly interesting, but now they are. In particular, to make offers to customers I need to better understand what type of contract I can offer to support an agile development process . So what did I do? I studied! I picked up the book " Lean Software Development: An Agile Toolkit " and I tried to summarize what I studied and how much I shared with my colleagues in these slides. It's about how to move from diagonal saber contracts to agile contracts . How to go from arguing over contractual clauses to find a form of win-win cooperation. Do you know what a diagonal saber contract is? Do you know what are the main types of contract for software development? What can we learn from Toyota 's manufacturing experience? Is it all applicable to the world of software development? Find it out!! Contracts: diagonal ...

Evoluzione del pair programming in un team (quasi) decennale

Image
I spoked ad Mini Agile Day in Trento , here you can find the slide of the talk. I present my experience with Team Nimbus at 7Pixel since 2009. From the "by the book" implementation to the "superpower" adaptation maked by the team. What is pair programming? How does it works?  How we have changed it? Errors and improvements of 9 years of pair programming. Evoluzione del pair programming in un team (quasi) decennale from Marco Fracassi

ScuolaXP 2017 - Com'è andata?

Image
Anche quest'anno ho avuto l'onore di poter fare il docente a ScuolaXP , insieme a me ci sono stati come l'anno scorso Alberto Brandolini , Antonio Carpentieri , Andrea Francia e quest'anno si è unito a noi anche Giuseppe Carnevali . Siamo ormai una bella squadra e ho percepito che il fatto di essere già rodati si sia visto durante la settimana. Erano presenti 25 ragazzi , 11 professionisti e 14 studenti (record di partecipanti) tutti molto attenti e interessanti. Abbiamo costituito 5 team eterogenei da 5 persone e poi abbiamo aperto le danze. Un susseguirsi di nuovi problemi  e scenari sempre in cambiamento. Ad ogni giornata ho visto un progresso dei partecipanti sempre più immersi nella filosofia e nelle pratiche di eXtreme Programming . Abbiamo messo in discussione molti concetti che ritenevano assodati e abbiamo aperto le porte per far entrare nuovi pensieri e nuovi approcci. E' sempre bello vedere come anche i professionisti riescano a mettersi in disc...

Workshop Sviluppo Applicazioni Web @upo 2017

Image
24 Marzo 2017 In collaborazione con l' Università d el Piemonte Orientale UPO  (grazie alla Professor Enea Parimbelli), ho tenuto un workshop sullo sviluppo di applicazioni web. Abbiamo visto come costruire una applicazione web in Java a partire da zero. Dopo il setup iniziale di IntelliJ IDEA, gli studenti hanno scaricato le librerie di Jetty ed abbiamo iniziato a scrivere un main con il minimo necessario per avviare un sito. Dopo un po' di teoria abbiamo messo in piedi l'html necessario per gestire una form per l'inserimento di indirizzi di una rubrica e per la visualizzazione della lista degli indirizzi salvati (su file, solo teoricamente abbiamo visto la persistenza su database).  Un po' di refactoring per organizzare meglio il routing e rimuovere la duplicazione nel mostrare le viste. Una giornata molto piacevole in cui spero di aver trasmesso, oltre a qualche conoscenza tecnica, anche un po' di entusiasmo per la professione dello sviluppat...

Test Driven Development @unibo 2016

Image
10 Ottobre e 11 Ottobre 2016 In collaborazione con l' Università di Bologna  (grazie al Professor Paolo Ciancarini), terrò in queste due giornate un seminario, insieme a Roberto Grandi, sullo sviluppo agile e in particolare sul Test Driven Development (aka TDD). Affronteremo prima la parte teorica dello sviluppo iterativo incrementale e del TDD e , nella seconda giornata, realizzeremo insieme agli studenti un'esercitazione pratica con un progetto reale nel quale potranno prendere confidenza con i rudimenti del TDD. Gli obiettivi delle due giornate sono: spiegare perchè vale la pena usare metodologie agili contestualizzare l'uso del TDD spiegare le regole del TDD introdurre al concetto di refactoring dare una breve infarinata di pair programming far provare il ritmo del TDD attraverso la pratica Alla fine del seminario gli studenti dovrebbero ottenere degli spunti e dei riferimenti per provare ad approfondire gli argomenti e le basi per poter applicare ...

Workshop Sviluppo Applicazioni Web @unipv

Image
31 Maggio e 7 Giugno 2016 In collaborazione con l' Università degli Studi di Pavia  (grazie alla Professor Claudio Cusano), terrò in queste due giornate un workshop, insieme a Roberto Grandi, sullo sviluppo di applicazioni web. Affronteremo una prima parte più teorica per vedere come una richiesta HTTP a partire da un browser arriva ad un application server e come questo seve le risorse richieste. Nella prima giornata proveremo ad usare Java e Tomcat per scrivere e servire una Sevlet e una JSP. Nella seconda giornata proveremo invece a vedere qualche pratica agile applicata allo sviluppo di applicazioni web. Scarica le slide

Ha senso avere due test identici con dati diversi?

Image
Al seminario sul TDD e il pair programming che ho tenuto all' Università dell'Insubria di Varese  uno studente mi ha domandato: "Ho fatto il test T1 del metodo X poi è saltato fuori che con dati di input diversi, nonostante il test fosse verde, il comportamento non era più coerente...Allora ho scritto il test T2 uguale al test T1 ma con dati diversi... Ha senso avere due test identici con dati diversi ?" Io ho provato a rispondere con un esempio banale in pseudolinguaggio: test sum result = sum 1, 6 assert result is 7 sum a, b return 7 ---------- test another sum result = sum 2, 6 assert result is 8 sum a, b return a + b La mie domande al ragazzo sono state: "Ho fatto TDD?" e "Il secondo test è stato utile anche se uguale al primo?"... risposta "Certo!" Bene: in una domanda tanto banale e nella mio esempio forse ancor più banale, si nascondono alcuni retroragionamenti: - il primo test testa la somma, i...

Test Driven Development @uninsubria

Image
6 Maggio 2016 In collaborazione con l' Università degli Studi dell'Insubria di Varese (grazie al Presidente del Corso di Laurea di Informatica Mauro Ferrari), terrò insieme a Roberto Grandi per 7Pixel , un seminario sullo sviluppo agile e in particolare sul Test Driven Development (aka TDD) del tutto analogo a quello tenuto presso l' Università degli Studi di Pavia . Presenteremo una sessione teorica dello sviluppo iterativo incrementale e sul TDD con nozioni generali di ingegneria del software, di fondamenti di informatica e con esempi concreti tratti delle nostre esperienze lavorative.

Test Driven Development @unipv

Image
27 Novembre e 1 Dicembre 2015 In collaborazione con l' Università degli Studi di Pavia  (grazie alla Professoressa Cristiana Larizza), ho tenuto in queste due giornate un seminario, insieme a Roberto Grandi, sullo sviluppo agile e in particolare sul Test Driven Development (aka TDD). Abbiamo affrontato prima la parte teorica dello sviluppo iterativo incrementale e del TDD e , nella seconda giornata, abbiamo realizzato insieme agli studenti un'esercitazione pratica un progetto reale nel quale hanno potuto prendere confidenza con i rudimenti del TDD. Scarica le slide

Italian Agile Day 2014

Image
14 e 15 Novembre 2014 Insieme a Jacopo Franzoi ho presentato lo speak "Team non si nasce ma si diventa". La nostra sessione ha toccato i seguenti punti: Cosa vuol dire “Team non si nasce ma si diventa” come si capisce che un team va bene? come si capisce che bisogna cambiare qualcosa? La composizione del team dimensione (come siamo arrivati a 4 e perchè) sviluppatori il “bidello” (a cosa serve? perchè fa parte del team?) La base di partenza valori (partendo da quelli di XP, poi nuovi) pratiche motivazioni Come si evolve retrospettive nuove pratiche (laser game di fine rilascio, test di produzione, …) valori emergenti L’auto-organizzazione processo di sviluppo code conventions lo studio, le presentazioni a tutta l’azienda recruiting Guarda il video