Step away from the keyboard, and put your hands where I can see them

July 4th, 2008

When we let participants pair program in courses, it is always difficult to make them stop… Over time we have experimented with various techniques. Marc and I are at the ESSAP summer school this week, and we needed to pull out all the stops - they were that focused :)

Techniques we used to get people to stop

  • Pomodori (kitchen timer set to 25 minutes, with 5 minutes in between), it makes noise, so some people stop.
  • Marc’s Horn - this gets some more peoples attention
  • and finally this:

I shout “Step away from the keyboard, and put your hands where I can see them!”.

That gets everybody’s attention (and laughs). We are having good fun, and seem to have found a good way to explain refactoring when you are almost having some tests :) (more about that later, hopefully).

More pictures from this session (including the retrospective stickers)

Unit Testing Masterclass open for enrollment :)

June 24th, 2008

After running it in-house (Marc and I are travelling to Switzerland in two weeks to do just that :) ), we are now happilly responding to demand for an open-enrollment Unit Testing Masterclass. In this class we practice more Test- and Behaviour-driven development in small steps, you will experience various mocking techniques as well as how (not) to make tests that you and your colleagues can understand.

First courses planned are 8,99 and 22,23 September in Tilburg, Netherlands. See the course page for a full description and the booking form to reserve your space. We are looking forward to meeting you there!

some more agile open photos

June 15th, 2008

I just uploaded some more photos from agile open. enjoy!

eXperience Agile, June 25-27

June 10th, 2008

We have a few open spaces for the eighteenth eXperience Agile course , which we will be running in Rob Westgeests’ new office in Tilburg, the Netherlands on June 25 though 27. Three days of fun learning and experiencing Agile Software Development (and students who kick more ass after they’ve been :) - more on that later).

One of the few courses that goes in-depth in both Agile planning practices as well as technical practices. See the course page for a full description.

tryout labour turnover June 17th

June 10th, 2008

Nicole Belilos and I are hosting a trial run of our ‘labour turnover - should I stay or should I go’ workshop - we’re going to also run it during agile2008. We’re doing a trial run next tuesday (June 17th) at the office of Topic in Best. Contact me or Nicole if you want to join. If you want to know more, read the workshop description, or the full trial description in Dutch (below).
Read the rest of this entry »

Agile Open - it’s also for “structured” people ;)

June 8th, 2008

Agile Open Europe 2008 is over…

This panorama photo of the introduction was made by Harald Walker, who volunteered to be our resident photographer. He’s already posted his impressions :). On thursday it was a bit rainy, so all sessions were inside. Friday was a nice, sunny day, so there were a good number of sessions outside - I spent all day in the garden. The Volksuniversiteit Utrecht has a nice location in the middle of the old centre, with a garden in the back - we always look for a location with nice, green outdoor space and that is easily reached by public transport. Usually these two conflict, not in this case.

impression from the everybody is Refactoring, right? session
We decided to cap this conference at just thirty participants. To our surprise, it was sold out in a week and a half, even though we were very late in announcing it (about a month in advance). The reserve list worked well. We had some last-minute cancellations that we were able to fill with participants from the reserve list.
We succeeded in simplifying the organisation, and in enrolling some volunteers, so that Marc and I could also participate in sessions :) I enjoyed (re)newing connections and learning a thing or two from the sessions - maybe more on that later.
From the closing round, I learnt that:
  • Capping it at thirty might be a good thing, as some participants mentioned that as a feature - because of the small size it is easy to connect with others. Nynke remarked before the conference, that it probably scales best in time (e.g. more times per year) and place (more places in the world, that is already happening).
  • Agile Open is also for “structured people”. I like chaos, and add structure if necessary ;) Some participants remarked that they were unsure what to expect, and normally like things to be “structured”. After the opening session that fear disappeared. I must say this years’ opening filled the agenda remarkably fast. We added some extra timeslots to get all of the sessions in (note the post-its on top that were sessions still looking for a slot after the opening)
  • If we can figure out a way to make it less work for us (last year we also had to deal with and take the risk for participant’s hotel reservations), we might go for a residential agile open again in the future. Some participants missed the evening games we had last year.

participants mark sessions they want to go to
group portrait on friday
We used to have a topic incubator on a wiki for the first two agile opens. That helped people convince their boss, but had as a drawback that it was mostly  the ‘usual suspects’ who ran sessions. This year and last year, everything was last-minute, and that gave a wider variety of session organisers - this also seems to be influenced by how we explain what to run sessions on. I’ve learnt to emphasisze that it is perfectly ok to run a session on a problem, it doesn’t have to be some prepared solution.
We’re thinking of running a Benelux agile open sooner than this time next year, but are not sure when would be the best time (and what would be the place). Your suggestions are welcome!
Credits: photos by Harald Walker

Cap the conference :)

May 9th, 2008

Marc Evers and I were a bit buzzed… We hoped, this year, to start announcing agile open earlier (and, unlike last year, not keep repeating ‘we should get started’). Well, unlike last year, we didn’t keep repeating it. We just didn’t get round tuit…

So last week, we finally got together around a whiteboard, decided that we did want to hold it in June (like last year, and as we planned), but we didn’t have a location etc. and didn’t want to spend as much time as last year in sending out invoices, dealing with exceptions etc.

So, we decided to go with an affordable conference location and leave things like hotel, dinner out of the basic package. That means we can send out just one type of invoice - you come two days, or you don’t, and  beside diet preferences there are no options. Well, you can of course volunteer (we got spontaneous offers for that. ) or sponsor.  We also decided to cap the conference at just thirty participants, so we could go with the venue. One of the reasons being, we thought we can’t get that many participants in a month anyway… Surprise, surprise, sending out the invite to a couple of mailinglists, and we’ve already passed the twenty participants mark. And we have some sponsors as well (we didn’t expect many in this timeframe, so we’re pleasantly surprised. Now we have to make sponsor packages :) and facilitate the other volunteers so we can self-organize )

So, without much further ado, I’m proud to announce the next

Agile Open Europe 2008

will take place in Utrecht, NL on June 5th and 6th. A vibrant place to push the envelope and do business together. And yes, we will find Belgian Beer - one participant listed that as a dietary requirement ;)  Looks like its’ going to be good fun again. See you there!

And if you ’still’ haven’t registered - there’s a handful of places left…

It’s over

April 4th, 2008

post it saying its’ over

This was the only ‘red’ card in the retrospective we held today at the end of another eXperience Agile :)

retrospective cards from friday

Further there was one looking ahead (’Drink & book’ -meaning looking forward to drinks in the bar and receiving the book at the end of the course).

Personally I also loved ‘no more questions’ (I guess there will be more after a night of sleep). One thing we experimented with was shortening the iterations in Day 3’s exercises, so we would have time for a bit of questions and answers ‘open space’ style (or XP style - questions on post-its prioritized by the participants).

We had quite a number of ‘puzzles’ on Wednesday and Thursday, mainly open questions… And some red cards. Most related to traffic jams. Other cards we resolved quickly (not enough overview on the agend for the course - easily done with an extra flipchart, another one was that we had two pairs working off the same repository by accident, we still have some manual steps in installing workspaces that we do not yet know how to automate well due to the environment we are using. ).

wednesday retrospective cards

thursday retrospective cards

Seeing the green cards, and the happy, exhausted faces, there probably was quite a bit of accelerated learning going on - and that is not a coincidence.

I ‘m especially pleased to see green cards where we used to have red and yellow - dilligent work, and keep on trying to improve a few things each and every course. I don’t know what we’re going to change in the next one (we have some ideas around acceptance testing and have been experimenting), but I’m sure we are going to change some things. We, the ‘instructors’ are also part of the learning community, and I strongly believe our own learnings accelerates that of the other participants.

Therefore we hold retrospectives after every course day. Sometimes in the afternoon, sometimes the next day. Where it makes sense we ’stop the production line’ and fix problems immediately, e.g. answer questions and gather questions for further discussion in a separate block or over lunch. In other courses this also helped us streamline exercises, the build environment etc.

As you might see in the green and yellow cards, much fun (green cards) and puzzles (yellow cards) come from the open source tools and games generously donated to the world. This includes the xp game, ruby, rspec, test/unit (included in ruby), firewatir, and of course techniques like XP, Refactoring and TDD that you can (amongst many sources) still read about on the C2 wiki and the XP mailinglist. And of course retrospectives.

I hope these happy colourful photos inspire you to experiment with retrospectives. A word of warning… besides focusing on what you can do better, don’t forget to celebrate the green cards (I have that tendency - still a bit of a perfectionist) and relax before the next round of improvments. Have a nice weekend :)

Course brochure :)

March 25th, 2008

Marc, Rob and I proudly present the first release of our courses and workshops brochure. We’ve bundled the courses and workshops we’ve developed over the last couple of years with new ones and practical information. We hope this gives you a clear overview of what we have to offer:

brochure

As with our courses, the brochure is also developed in eat-your-own-dogfood style. Work iteratetively, use small batches and feedback, for example. I’m still a bit weak on formal acceptance tests, but the main goal seems to be happening - sell more courses in more places - and have fun teaching them.

How did we do it? Marc found a printer that prints nice full-colour brochures in small batches, so we can apply feedback to each new batch. We started out by sending out the beta PDF to a handful of people, and feedback was so encouraging, that we made the first batch without all suggestions incorporated… We now have a small inventory of things to do, which we’ll process before the next print run.

I’ll bring some to the cultural patterns presentation in Houten tonight. I wasn’t sure at first whether making a brochure was worth the effort, having done some before with mixed results. So far it’s worked better than expected - the extensive descriptions and the wicked course-flow diagram Marc made come across well, and seem to make the courses much more tangible, which leads to better conversations. So all in all, making and distributing it is an enjoyable experience. Let us know what you think - your feedback is most welcome.

Cultural Patterns go round

March 24th, 2008

Literally and metaphorically. Tomorrow Marc Evers and I will be presenting the next iteration of Beyond Agile / People versus Process at a meeting of the dutch DSDM Consortium in Houten, Netherlands. Today is a public holiday in the Netherlands, and it is snowing (! not normal late March)… So what better opportunity to stay inside, leave the phone and the mail off and muse a bit more on going round in circles :).

Tomorrow we plan to present the material in much the same way as at Qcon London, and spend the extra time we have on doing exercises with the participants, much like we did at XP Days Benelux and London last year, now with new and improved exercises :) . We’re getting better at presenting the patterns in a non-linear fashion and getting the idea across that one pattern is better than the other, but that they each have a context where they fit best.

After Beyond Agile in France, we took up the nice task of re-ordering most of the presentations, and drawing some of the choreographies you could see in the notes, so that we could tell stories more effectively, show the patterns in a context where they fit and explain why some choreographies are easier than others.

We start off with asking the audience questions about too much or too little process and whether they have been involved in some way in an agile transformation. At qcon, surprisingly little hands went in the air for any of the questions - so that might mean that agile is not that mainstream yet… We expect most people to have worked in either routine and/or variable cultures. Several people raised their hands on all questions :) . So that means it is a decent starting point - it is easy for most of the audience to picture what these cultures feel like from their own experience. Some of the others require a bit more explanation, as they are more uncommon or less easy to spot.

 

 

 

variable versus routine

Routine and Variable can also help explain an endless source of conflicts within an organization. At Agile Open France there was a session on “Dev vs Prod” (Development versus Production - most of the participants worked in some kind of IT organisation where the Developers - people who program the programs - are not responsible for keeping the programs they make up and running - that is the responsibility of Production). Developers often prefer a variable way of working - being flexible, trying out new stuff and making the customer happy. When they hand their stuff over to Production, they are faced with forms and procedures - indicative of a Routine Culture.

hand over from Development to Production

Now, why would Production have these procedures?

Because (amongst other things), they have past experiences with Development handing in code that ‘Works On My Machine’, and even if the code does work, most software they have to use is Legacy Code. As Gildas noted at Agile Open France, most production software (e.g. mail servers, databases, some web servers) don’t give feedback until you restart it and go live. Some do some syntax checking (e.g. the apache web server), but even that is uncommon.

So any change to a production environment has a good chance of breaking it, which leads to the Production people getting complaints and working nights to get the whole thing back up and running. Wait, did I say working nights? That doesn’t sound very Routine, now does it…

 

 

heroic fixing

Often when something goes wrong, a routine organization will temporarily go into a Variable state, in the hope that order will return soon. In the case of Production, going Variable is more unpleasant, because if you’ve been doing this for a while (I have, as a side project), you can feel in your gut that something might go wrong again, requiring even more heroic fixing… And this always happens when you least expect or want it (say, the day before you go on holiday…).

The two pictures with arrows already show two uses of the patterns:

  • Predict and explain conflicts between parts of an organization
  • Transitions from one pattern to another (and back) and why they happen.

And that ‘fixes’ one of the ‘defects’ we had in our presentation last year: explain early on in the presentation what we use these patterns for - we usually needed the Q&A round to explain the ‘why’… I hope to follow up with another post on another ‘why / how to’ : guide transitions from one cultural pattern to another, and explain why some transitions feel easier to me than others.