December Friday 16th we have had our second Italian Agile Day. It was a tough day for me, I had some flu and bad temperature the 2 days before. Luckily, some paracetamol and antibiotics helped me carry on until the end of the day.
I’m really satisfied by this year’s edition. Compared to 1 year ago, this year we have had less presentations, no parallel sessions, but more insight and more depth IMHO. I was particularly impressed by Ferrari Racing Development Team and Francesco Cirillo.
I know Piergiorgio Grossi and Nicola Canalini from Ferrari since 1 year and a half. We met a few times for various reasons. They are approaching agile themes and XP with an interesting and pragmatic eye. I particularly appreciate pragmatism when one is dealing with people and process improvement. And their pair presentation was funny and full of rythm.
The most significant aspect of Ferrari presentation was that it was full of real life facts, along the lines of: “We tried this and it didn’t work… We tried that and it worked…” For example, Piergiorgio and Nicola reported that because of their current situation with high requirements volatility, strictly fixed and short deliveries limited by races every 2 weeks, roughly 10 projects per developer taking into account all the legacies that have at least one release per year, because all of these elements they have found that wikis and standup meetings are highly effective, while a strict code convention didn’t really work. They are not saying that one thing is inherently good or bad, but simply that they have experienced that in their reality some things work better than other.
There’s a message here that I entirely agree with: try it, judge the outcome, if it works keep it, otherwise drop it. This is agile! On the contrary, thinking a little bit of my studies in non linear optimization at the university, I know that sometimes you try one thing that is absolutely new and initially it doesn’t work. You’ve reached a local maximum and if you are looking for a better performance you need initially to perturb current situation, typically getting an hopefully temporary worse performance. Mathematically this is clear, but why is that in the context of people and processes? Sometimes because it takes time. In other situations because you tried it not appropriately, you made mistakes, therefore you need to correct, not to drop it too early. What I’m trying to say is: take your time, experience a little bit before deciding that one thing is clearly good (keep) or bad (drop). And above all, be ready to review your beliefs frequently ==> one thing that today works may not work anymore tomorrow and viceversa.
I’ve met Francesco Cirillo for the first time in 1999 and we became friends along these years. I have seen him making tens of presentations. He is a guarantee, it’s almost impossible not to enojoy his speeches. He is one of the best speaker that I know, and not only in the agile arena.
He asked a question to many people in agile and XP communities (myself included) one week before the presentation: which are the 10 most important challenges/problems that you tackled/need to tackle to apply/introduce XP/agile methods? Hence he began presenting the answers. It was fun, believe me. Some answers were perfectly understandable or even a source of inspiration, some other were complitely missing the point, projecting people’s own desires instead of facing reality. Anyway, he continued addressing the problems from another point of view. What can we do to solve everyday software development problems? The answer in the end lies in XP principles, as they are described in the 2nd edition of the Extreme Programming Explained book, by Kent Beck and Cynthia Andres. Two things that I particularly appreciated:
- don’t try to imitate XP, to get to the so-called XP picture ==> apply XP instead, see XP as a means to solve practical problems, not as a label that you can be proud to attach to your jacket
- XP is about continuous improvement
The continuous improvement loop based on feedback and metrics is one thing that my team is trying to achieve as well. I’ll blog more in details about that.
Some people talking with me after his speech had the impression that Francesco this time was less pure, more open to compromise. Somehow the same feedback come from the community as well, ie: through a couple of threads in XP-IT mailing list. For some persons this is a sort of liberation, a departure from the early days, too radical and idealistic. I don’t agree with this point of view. As always Francesco’s words are headed towards being more efficient and effective at the same time. There is no XP badge that can compensate the lack of economic health. Maybe there is a different touch or taste, if you prefer; but it’s made on purpose and it lies with continuity in the same page of what Francesco has always said.
XP is not a religion, it is a pragmatic way to solve today’s complex problems. When you are coming to XP after struggling with bad practices or with planning-driven waterfallish methods you may have a sens of disruption and ideal; but this is just a first common reaction, and if you stick with it you’ll end saying funny things like talking about the ideal XP customer or the ideal XP project that unfortunately you are missing a lot. I’m sorry, but they don’t really exist. Hence, move yourself from disruption to reflection about values, put the principles in your bag of tricks and start put practices in action: it’s a messy world and it’s waiting for your help.
But I digress.
The other sessions were interesting as well. I feel particularly in debt with Giannandrea Castaldi (about prevalyer) and Matteo Vaccari (about rails) because my TDD live demo exceeded and they were obliged to cut time devoted to their presentations. I’m particularly sorry about that.
Finally, even though my demo overran its scheduled length, I am sufficiently satisfied by it. I’ll blog in a separate post about it.
Many thanks go to Marco Abis, whose constant effort let this happen again, despite all the difficulties of changing location, keeping it a free event, etc.
And I am happy that Quinary sponsored the event, contributing to keeping it free for everybody.