Back from ESSAP 2007

Guys, the ESSAP was amazing, simply amazing!

Maybe not everybody knows it, so let me go into the details, with a brief introduction.

What is it?
ESSAP means European Summer School on Agile Programming. It’s a 5 days course, full time, full load, sponsored by the Insumbria University, that aims to introduce the student to every aspect/method of agile software development. Defining “agile” is still not easy for me (by the way, I’ve just completed the course) but I think that I could use a couple of words to give you an hint: communication (lots and sincere), organization (time, ideas, activities), testing (at large), creativity.

Why did you go there?
When I’ve read the announcing email from the xp-it mailing list, I didn’t know what would be of my time and deadlines for the end of June, so I marked it read and forgot it. Fortunately, near the deadline for application submission, two seats were still available, so I seized the opportunity: the best invested money (a few) and time so far!

Ok, but why did you go there?
Because, both at the Milano and Torino Java User Groups, agile techniques are used on a daily basis by some active members: this produces lots of words and discussions that I’ve just listened to and that communicated an enthusiasm I’ve seen for the first time at webbit 2003 (thanks Bruno!) (Amir: do you remember it?). I’ve needed to know more but time pressure, the lots of books needed to have an hint and my few customers took me away of it. ESSAP seemed to (and did) solve such issues.

First impact: students
Agile techniques (at least in Italy) live in a niche. Probably that’s because changing is undesirable by the majority but not for someone: indeed, someone likes to change and keep on changing everything, IF that means improving. It is necessary to have an open mind: open to changing, to news, to people. At ESSAP I’ve been fueled up! Twenty techs wanted some more change, some improvement. Students? Not just students! Managers, old (no offense) and young programmers, businessmen, consultants, everything. Everybody wanted to change.

Second impact: location
Judge for yourself. Not bad, uh?

Unity of measurment: the pomodoro
The pomodoro would require a book on its own, but since somebody has already written it, just know that we set it to 25 minutes work, 5 minutes pause. Each 3 pomodori, 1 pomodoro pause.

Day zero: Sunday in pizzeria
About half students (who live apart, me, for example) came to the hotel on Sunday. We then went to a pizzeria (how many pizzerie do these fratelli la bufala own?) and begin chatting (in English, of course). Lucky me to sit right between David and Rick. After half an hour of pleasantry, we talked about books, social life, software and expectations.

Day one: Intro & Executable Documents
Monday begins with Matteo Vaccari introducing XP and Agile, followed by 6 pomodori from David Hussman e Rick Mugridge about Executable Documents. At launch break, Matteo brought salad, salami, pizza and bread. Altogether having launch in the beautiful park sorrounding Villa Toeplitz. We began chatting and comparing our business domains: in particular I met people using C# and even the old Visual Basic (it’s amazing how many customers still need traditional desktop apps: I really think RIA will raise and spread).

Day two: XP Game & Mind Maps at large
The best day, imho: right after learning how to split customer requests into user stories, we practice it with the XP Game. Really good! Perfectly scheduled!.
The day kept on with Federico Gobbo and wikimaps.

Day three: TDD and JooB project
On Wednesday, Carlo Bottiglieri gave us, with 3 pomodori, an introduction to Test Driven Development, and with other 3 pomodori we saw how to apply TDD starting from user stories.
The afternoon was dedicated to the JooB project: Matteo and the guys from Varese XPUG wrote down a basic story (a web site for search and submission of job offers). We then split in three teams, one of our team played the customer, we created a couple of user stories, assigned priorities and difficulty level, shared them with the customer and got three iterations. So, right after the XP game, we use user stories on a real software project.

Day four: Creativity and DDD (and some Rails)
My personal “best talk” prize goes to Fabrizio Milo, that caught our attention with creativity examples and exercises, not just on software. Really good!
The afternoon was Antonio Terreno’s turn. Antonio spoke about Domain Driver Design and Behaviour Driven Development, disclosing what Carlo meant by naming its test classes and methods with the word “behaviour”.
At launch break, Matteo went deeper in the Rails explanation: his introduction (done on day three) suffered some technical issues and was not effective. With 2 extra pomodori, I’ve got the needed base knowledge to (almost) complete my JooB project iteration.

Day five (last day): Retrospectives
A retrospective is what you do at the end of something (could be the project, an iteration, a week, it depends on what the team chose) and it’s aimed to understanding what went well and didn’t, in order to take actions aimed to improve the next things (project, week, iteration…). The talk was hold by Luca Grulla, scrum master. At its end, we practiced retrospectives by analyzing our week at the ESSAP.
We then had a nice nature trail (astonishing view).

Xw: eXtreme week
ESSAP was my best investment so far, with reference both to time and money (for the record, it required 80 euros, and, no, I didn’t forget a zero). Quantity and quality of the things I learnt, the diversity of the people I met, the beautiful location and weather, the green park: I’ve never had a chance to see all these things together and, someway, so intense. It was a real eXtreme week.

Even the restaurants we went to were very good.

Now it’s time for ME to practice agile on a daily basis. I know there are some techniques I can’t apply (pairing when you are an alone developer, working from home, is not easy). By the way, it was suggested no to start with every single technique, but rather to try them one by one, adopting the dogmatism these methodologies require to the team and its habits.

Nonetheless, there are things I want now, because I can see the benefits in the short term.
The pomodoro, for instance, that I’ll set as the ESSAP one (25+5). But the most important technique is the user story: working alone with small companies, it’s quite easy for some useless wishes to overcome important tasks. I’ll begin writing them down on my own, discovering their business values with some timely questions but never mentioning the word “story”. If I’ll get the desired results, I’ll bring the technique to coworkers.

If all goes well, next year I’ll make my coworkers apply to the ESSAP.

Thanks
Many thanks to Matteo, Federico, to the staff (Andrea, Jacopo, Max, Mimmo, Piero), to the speakers and to every “classmate” for the wonderful week!

Leave a Reply