Eric Lefevre-Ardant on Java & Agile

September 28, 2009

Predictions for CITCON Europe 2009

Filed under: citcon — Eric Lefevre-Ardant @ 7:45 am

Last year, at CITCON Amsterdam 2008, a few of us stayed late into the night, drinking beer and discussing the state of the world.

And what to do when you have 21 geeks with time on their hands? Why, predictions, of course! (I want to do it again this year, check out the Google Moderator page I’ve started)

Bar at the Marriott Hotel

We decided to come up with a number of predictions (and bet on them), some serious, some not, that would be verified at CITCON Europe 2009, the price being beer points. And, the losers will be named and shamed, while the winners will be glorified (at least until new predictions are made, and for no more than a year, whichever is earliest).

Here are the predictions, and the actual outcome (a couple of them were settled by votes at the closing session):

Prediction Votes Actual
CITCON Europe has more than 120 attendees (I had voted against!!) YES YES
more .NET developers than Java developers NO NO
CITCON will take place in Paris YES YES
at least 5% of attendees are female (I personally did vote in favor) yes NO
at least 20% of participants do Ruby draw NO
Java closures are considered too complex NO NO
IBM buys ThoughtWorks NO NO
IBM buys Valtech NO NO
there is a Maven.NET coded in Java, with MS Tools integration NO NO
Ivan Moore gives up on build-o-matic NO NO
McCain wins the election draw NO
CITCON Europe takes place in Frankfurt NO NO
Jeffrey Fredrick XOR Tom Sulston (that is, either Jeffrey or Tom, but not both) have short hair YES YES
Fewer Agile Consultancies NO NO

So, out of 14 predictions, we got 11 right, 1 wrong, and 2 undecided.
Now, you may think that the answers were straightforward. But you need to realize that, for each one of them, someone was willing to bet a beer against the consensus. In other words, at the time when the predictions were made, it was not clear cut.

In the interest of the bets, I shall now reveal the names.
Winners (Glory to Them All!)

  • Andrew Parker (8 rights, 1 wrong)
  • Eric Lefevre (that’s me) (10 rights, 2 wrongs)
  • Guillaume Tardif (6 rights, no wrongs)
  • Jean-Michel Bea (8 rights, 2 wrongs)
  • Pekka Pietikäinen (7 rights, 2 wrongs)

Losers (Boo to Them All!)

  • Julian Simpson (3 rights, 4 wrongs)
  • Jeffrey Fredrick (3 rights, 6 wrongs)
  • Paul Julius (5 rights, 2 wrongs) — PJ is still a loser, ‘cos he has been right on bets with small payoffs
  • Tom Sulston (4 rights, 4 wrongs)

I have started a new series of predictions for CITCON Europe 2010. There are two steps:

  1. suggest predictions & vote for the best ones
  2. when predictions have been selected, vote

To actually win your beers, you’ll have to come to CITCON Europe 2010 (still unannounced).
Please check out the Google Moderator page to propose your own predictions.

Sorting out the bets from 2008If you want to the gritty details, I have a picture of the full spreadsheet.

September 23, 2009

CITCON Paris 2009, a personal retrospective of the organization

Filed under: citcon — Eric Lefevre-Ardant @ 7:21 am

Closing session

As I write this, I have still not fully recovered from CITCON Paris 2009. This conference being one where I have been involved a lot into its organization, I would like to indulge in a bit of personal retrospective.
What worked:
* we had more than 120 participants, which is in line with CITCON’s goals and the highest number ever in 15 events. Also, it is very close to the number we estimated ourselves.
* all the people in the waiting list have eventually been able to join the main registration list; no one was barred from coming
* costs well were contained, especially thanks to the use of ISEP’s rooms; in fact, this event contributed hugely to settle debts from the past events
* sessions were mostly on topics relevant to the conference
* quality of food was fine (especially for a free event)
* there were many well-known people, helping make the event a success for other participants
What could have worked better:
* there was not enough food. I think this is partly because the caterer is not a real professional. Even though we had given excellent estimated for the number of participants, I think that, as the person in charge of the student foyer, he was used to students eating on a budget, not professionals used to (relatively) fancy eating. If we use a semi-professional in the future, we would be wise to over-estimate the number of participants for the purpose of food. Just in case.
* even though we did arrange the chairs in the main room in circles, we left the other rooms as they were, theater-style. This didn’t help having discussions groups (as opposed to presentations).
* I am starting to wonder if we have not reach the maximum possible number of participants. One of the things that I really enjoyed last year was the late night drinks with the few that dared stay. This year, we were 30 or 40 at the end. Groups started to split up. Guillaume and I led a few to the Ti Jos bar and to the Caveau des Oubliettes. Although nice, it was a bit sad, as there wasn’t really a “closing the closing” moment. We didn’t ever get to do new predictions! (and settle last year’s bets, BTW)
On a more personal note, the conference passed a bit as a blur for me. Despite using OpenSpace Technology, I still ended up as the contact person. Also, helping my brother with the filming didn’t help.
In the end, I even managed to miss the (now traditional) “Is Scrum Evil?” session, which had been a favorite of mine last year.

As I write this, 3 days after the closing, I have still not fully recovered from CITCON Paris 2009. I have been very much involved in organizing this edition, so I would like to indulge in a bit of personal retrospective, mostly on the organization of the conference. This is basically self-reflexion; if that’s not your thing, you can leave. You won’t miss much.

Here goes.

What worked at the conference:

  • we had more than 120 participants, which is in line with CITCON’s goals and the highest number ever in all 11 events. Also, it is very close to the number we had estimated ourselves.
  • all the people in the waiting list have eventually been invited to join the main registration list; no one was left behind
  • costs were well under control, especially thanks to the free use of ISEP’s classrooms
  • we got significant money from sponsors; in fact, combined with the well-contained expenses, this event contributed hugely to settle debts from the past events
  • quality of food was alright (especially for a free event)
  • there were a number of well-known people, helping make this event special for other participants
  • twittering was big; according to my feed on Google Reader, there were more than 300 tweets. Including quite a few from people regretting not to have come.

What could have worked better:

  • there was not enough food. I think this is partly because the caterer is not a real professional. Even though we had given good estimates for the number of participants, I think that, as the person in charge of the student foyer, he was used mostly to students eating on a budget. If we use such a semi-professional in the future (likely, since we want to use more free venues such as universities), we would be wise to over-estimate the number of participants as far as food is concerned. Just in case.
  • Even though we did arrange the chairs in the main room in circles, we left the other rooms as they were, theater-style. This didn’t help having involved discussions (as opposed to presentations).
  • I’m wondering if we have not reached the maximum possible number of participants. One of the things that I really enjoyed last year was the late night drinks with the few that dared stay. This year, we were 30 or 40 at the end. Groups started to split up. Guillaume and I led a few to the Ti Jos bar and to the Caveau des Oubliettes. Although nice, it was a bit sad, as there wasn’t really a “closing the closing session” moment. We didn’t even get to do new predictions! (and settle last year’s bets, BTW).
  • Some rooms were lacking a video projector. I wonder if it would be good investment for the Open Information Foundation to buy one of those small and inexpensive projectors that have appeared recently on the market

On a more personal note, the conference passed a bit like a blur for me. Despite using OpenSpace Technology, I still ended up as the contact person for many participants, suppliers and sponsors, which was distracting. Also, helping my brother with the filming didn’t help. I even managed to miss out on the (now traditional) “Is Scrum Evil?” session, which had been a favorite of mine last year.

I still had a great time. Met Antony Marcano and Andy Palmer from Pair With Us (they are hoping to join us at the Paris Coding Dojo sometime — looking forward to it) as well as Gojko Adzic, whose copies of book was given away to some lucky participants, and Jason Sankey and Daniel Ostermeier from Zutubi… Reconnected with many former colleagues and friends, too. I also attended a few sessions ;-)

Oh, and last but not least, I’m one of the winners from last year’s bets! What do I win? Well, beer, in theory. But, even better, I get to call PJ, Jeffrey, Tom, Julian and Yegor LOSERS for a year. Priceless.

Check out

See you next year, in one of the five cities in our short list (Zürich, Copenhagen, Belgrade, Dublin, and Prague).

September 22, 2009

Faster tests, at CITCON Paris 2009

Filed under: citcon, test — Eric Lefevre-Ardant @ 9:11 am

"Going nowhere fast"

“Going nowhere fast” by Nathan

The session on Faster Tests (led by David) was interesting, at least to the extend that it was quite clear that we are not doing too bad indeed (Douglas Squirrel from youDevise is another one that seems to be quite cerebral about tests and builds).

Faster tests Faster tests

By looking that the various options discussed to get tests faster, I think it’s fair to say that the only way to really speed up tests is by compromising their integrity, at least to a level. In a way, to make tests faster, you’ve got to face reality and move away from their ideal abstraction (very reminiscent of Joel Spolsky’s Law of Leaky Abstractions). The only question is: how confident are you that those (slightly compromised) tests actually test something useful?

This leads to the conclusion that we only keep long integration tests because it is difficult for us to really understand what’s going on. If we did have an excellent understanding, we would have unit tests instead. And, interestingly, as we progress in our project, we find ways to convert integration tests into unit tests. In other words, we better understand what’s going on.

Also, check out my notes on the session on Mock Objects.

September 21, 2009

Mock objects at CITCON Paris 2009

Filed under: citcon, java — Eric Lefevre-Ardant @ 9:47 pm

The Mock Turtle

The Mock Turtle by Samantha Carlson

The session on mock objects, mostly lead by Steve Freeman, was a bit messy but interesting. My colleague David got to show some of our code on the screen, which was scary and exciting (he felt the urge to fix some of the tests he had shown immediately after). Also, I think I finally understood the relation between mock objects and interfaces that Steve insists on.

See, I always thought that Steve was in favour in adding interfaces directly on top of concrete classes. For example, if you have a FileManager, you would also have a IFileManager.

Steve made more clear that the idea was to use interfaces to represent a role, or (more exactly) just one of the roles that a class has. That makes sense. But, to be honest, I still prefer to have a single role per class. So, no interfaces really needed.

I wish I had more time to talk with Steve. Maybe his coming book will have answers for me.

Mock objects

July 30, 2009

[Agile 2009] Presence of the CITCON community at the world’s premier Agile conference

Filed under: agile2009, citcon — Eric Lefevre-Ardant @ 6:32 pm

CITCONers are everywhere! And nowhere more than at Agile 2009 Conference.

First, CITCON will be represented by Lydia Tripp and myself during the Freshers’ Faire at the Ice Breaker. Watch out for the CITCON easel pad… and world-famous t-shirts ;-)

CITCON alumni are now a big crowd (there are more than 750 mailing list members, and presumably many more attended the CITCON events). Many of them will present at the conference
Modern and traditional tools

It Takes Two To Tango Also, Lisa Crispin is producer of the Testing Stage. And don’t forget that many more CITCONers will be presenting on the OpenJam stage, too! I know I‘ll be.

Lastly, I will be appearing a one of the contestants in Programming with the Stars! This means that I’ll be paired up with a “star”, then we’ll try to show our mad programming skillz and outperform our competitors. This is incredibly exciting but also very intimidating. Although I consider myself a competent programmer, I am certainly not the best, and the participants at the conference are not exactly beginners. Scary!

Check out the conference blog for an account of how Programming with the Stars went last year.

May 19, 2009

XP Day Paris, Agile 2009 and CITCON

Filed under: agile2009, citcon, xpday — Eric Lefevre-Ardant @ 9:47 pm

I will be quite busy in 2009 with conferences.

Coming up is XP Day Paris, May 25th & 26th (next week!). No less than 3 sessions will be presented by yours truly:

  • Introduction to Retrospectives, with Laurent Bossavit
  • TDD Explained to Managers, with Stephane Labati, a former colleague from Valtech
  • Is Scrum Evil? a workshop with Guillaume Tardif — the session I’m most excited about!

I will be at the dinner on Monday evening as well; feel free to come and talk.

In August, I will be at Agile 2009 Conference in Chicago. This time, I will host a Coding Dojo on Legacy Code, with my partner in crime Guillaume.

Unfortunately, Is Scrum Evil?, a session I had proposed with Jeffrey Fredrick, has not been accepted. Fear not! We will be back with a revenge during the Open Jam part of the conference. I have hope many big names of the Agile world will join us. Promising session, trust me.

Next, September 18th will see CITCON Paris. This conference is dear to me — I have participated to all previous European CITCON events, and I am sure this will be one to remember. 3 months to go and the list of registrants is already closed!

As you may know, this is an Open Space event, so sessions are not known in advance and will be discovered during the opening session. Sounds scary? Wait until you suggest a session! ;-)

Other events of note this year will surely be Valtech Days 2009 and Devoxx. I have helped organize Valtech Days in 2007 and 2008; having left the company, it will not be the case this year, but, who knowns? I might still get to host a session.

As for Devoxx, I have never participated so far, but I heard so many good things that I really want to make the trip this year. We’ll see.

Well, this will be a busy year. Hopefully, I will have a few vacation days for non-techie stuff as well!

November 9, 2008

CITCON Amsterdam Continuous Integration Cage Fight on YouTube

Filed under: citcon, continuous integration, hudson — Eric Lefevre-Ardant @ 10:45 pm

Julian has just posted on YouTube videos he took during the CI Showdown at CITCON Amsterdam last October. Sound quality is not very good, so make sure you are in a quiet environment.

October 21, 2008

More about Coding Dojo at CITCON Amsterdam

Filed under: citcon, tdd — Eric Lefevre-Ardant @ 9:52 pm

As a nice followup to my earlier post, Willem did a great write up of our Coding Dojo session at CITCON Europe, in early October. His post is supplemented with pictures by Marc.

October 8, 2008

Coding Dojo on Legacy Code

Filed under: citcon, facilitation, tdd — Eric Lefevre-Ardant @ 5:31 pm

At CITCON Amsterdam last WE, Willem van den Ende and I facilitate a Coding Dojo session on both Mockito and Legacy Code.

Willem and I thought that we had missed some of our goals (especially demonstrating Mockito), but still many people at the closing session mentioned that they enjoyed it :-)

Coding Dojo with Legacy CodeWe tried to prepare a bit before diving into the session. However, in practice, it became a bit chaotic, as many participants tried to make their opinion heard. This was very different than when I do that in trainings or even at Valtech. I guess this is because there were quite a few people (~20) and most of them were rather experienced and strong-headed (I guess they wouldn’t be at such a conference otherwise!).

Coding Dojo with Legacy CodeWe managed to have a quick retrospective at the end. Here are some of the things we learnt:

  • We need to prepare the session better; half of the session was spent fixing an existing bug in the original application, instead of adding features. Also, Willem wanted to take advantage of Mockito, which was quickly forgotten as people concentrated on fixing the bug.
  • At first, do Safe Refactorings (the ones that can be done automatically by Eclipse and such tools), though you still need to be careful of what you are doing
  • It is OK to add code, not OK not remove code from the legacy application
  • Add collaborators using setters to facilitate testing
  • However, be careful: getters and setters can quickly get out of hand
  • Singletons are bad, not just because they make code hard to test, but also because they create secret coupling
  • Apparently, many (bad) coders want to write singletons and static methods (which are both frown upon in the context of testing), simply because they do not want to type the ‘new’ keyword
  • We could try to rotate the copilot on a longer basis (for example, every 10 mins, instead of every 5 mins for the coder)
  • I (Eric) got concerned that the Coding Dojo format prevents participants from thinking; facilitating the session sometimes seemed to be like herding cats
  • it was clear that many people was interested in working on legacy code
  • in the end, a Coding Dojo with an appropriately complex application seemed like a good way to learn about handling legacy code
  • I need to experiment a bit more with Coding Dojo for Legacy Code, but I feel that the format is rather good. Next year, we’ll do better!

    October 7, 2008

    Is Scrum Evil?

    Filed under: citcon, scrum — Eric Lefevre-Ardant @ 6:46 pm

    This was a fascinating discussion facilitated by Jeffrey at CITCON Amsterdam. Much talking with him followed, so I think I finally understand why he introduced this topic, and why so many people seemed to dislike Scrum.

    This was a typical discussion where antis are much more vocal that pros. When Jeffrey asked who thought Scrum was evil, maybe 12 raised their hands. Only 3 or 4 (including me) thought that Scrum was NOT evil. The majority stayed silent.

    Most of the session was spent listing arguments pro and anti Scrum. You could say it was lively ;-)

    Is Scrum Evil? session“Scrum is evil because…” (I am not saying that I agree with all of them…)

  • when it fails, all the people involved think that all of agile is no good (it poisons the well for agile)
  • it values process over people
  • it is pyramid scheme (Scrum Trainers are supposed to be certified)
  • it causes some pointless standups (not all are pointless, though)
  • it is iterative waterfall
  • of the term ‘ScrumMaster
  • some people limit their view of agile to Scrum (they do not look into agile engineering practices)
  • some people feel it will solve all problems
  • it is sometimes used as a dogma (’this is not Scrum!’)
  • Is Scrum Evil? session“Scrum is good because…” (I am generally OK with them)

  • it provides structure for engineers and product owners
  • it makes agile acceptable to managers
  • of the concept of a ‘Product Owner’
  • it makes self-organizing teams respectable
  • it makes people reponsible for their commitment
  • it is easy to adopt
  • it makes more people talk
  • it puts emphasis on delivery
  • it exposes problems earlier
  • it popularized short iterations
  • it is a foot in the door for agile
  • The first conclusion of the session to me was that the people against Scrum were mostly complaining about the fact that some projects were failing with Scrum.
    Further, I feel that this reveals that they are in a post-agile mindset, which could be more prevalent in the US/UK (maybe the Netherlands, too?) than in France where Agile still faces an uphill battle.
    Another thing is that, when you look at it, the people were really complaining about its success. After all, many of these arguments (pyramid scheme, some people feeling it solves all problems) were the very reasons Scrum was successful.

    Closing sessionAs Jeffrey pointed out during the session, it meant that, as per described in Crossing The Chasm, we are simply moving from the ‘enthusiasts’ stage to the ‘early adopters’. Many more people are now using Scrum, and its message is bound to be altered somewhat.
    Jeffrey further pointed that, since it seems that 80% of projects fail now that many are using Scrum, just as there were 80% of projects that failed before, it simply means that 80% of the population is just not very competent. It has little to do with the methodology. This is also what Alistair Cockburn meant when he mentioned that “Process is a second-order effect”.

    So, my undertanding is that Jeffrey’s goal is to change people and to use tools such as psychology to do so.

    I am more nuanced, maybe because I am living in a country were Agile is still not being widely accepted. After all, this is all a short-term vs. long-term thing. Having a manager doing Command & Control was very short term. Agile (and Scrum) is medium term: you are providing a tool for people to get better in the medium term, if they are competent enough. Changing people is much longer-term thing. It might take years, generations, or may not ever happen.

    For me, Scrum still seems to be providing those medium-term benefits, at least for now, in my environment. When it won’t be the case anymore, I might bash it like everyone else does.

    Update (07/10/08): changed title from “Scrum is evil!” to “Is Scrum Evil?”

    October 5, 2008

    Back from CITCON Europe Amsterdam 2008

    Filed under: citcon, hudson — Eric Lefevre-Ardant @ 7:03 pm

    Central train stationI came back this morning from the conference, my third time after Brussels in 07 and London in 06. It was great as usual. If you haven’t been to an Open Space conference, know that you are seriously missing out on something.

    There are quite a few things to take away

    • there is a surprisingly large number of CI tools, especially commercial; we had a demo of 7; CruiseControl by Paul Julius, build-o-matic by Ivan Moore, Hudson by yours truly, JetBrains TeamCity by Pavel Sher & Yegor Yarko, Rational BuildForge by Lieuwe, Zutubi Pulse2 by Jason Sankey, ThoughtWorks Cruise by Chris Read. Many others were not represented. I don’t quite understand why the market is so fragmented.
    • CI tools get less interest than before; there were still a few sessions on CI (CI Tools Showdown, Future of CI…) but fewer than usual. Remember that CI is still the main reason why people come to this conference. Instead, more discussions about Agile in general, and on automated functional testing in particular
    • Chris Read from ThoughtWorks wants to push for Open CI, an effort to standardize the storage format of CI tools, so that they can get integrated more easily with other (non-CI) tools, such as Trac, Mingle, etc.

    Coding Dojo with Legacy Code

    Some advanced features that seemed interesting:

    • personal builds (Pulse & TeamCity)
    • pipelines (Cruise); I think someone mentioned working on such things in the past, though I cannot find traces of it right now.
    • build templates (Pulse); you define things such as a JDK configuration, SVN connection in a template, and you optionally override them in actual jobs that inherit from them. Some (French) people came to me after the conference to explicitely request this on Hudson! I think Hudson is big in France.
    • build steps parallelized (BuildForge, Cruise, others?); in a complex job, you can mark some consecutive steps (say, integration tests and acceptance tests) and get them to run in parallel instead
    • real time display of the number of tests passing/failing (TeamCity)
    • find out exactly who broke the build (build-o-matic)

    Interestingly, most commercial tools have a free version (limited to 1 or 2 machines) and charge by the number of slaves (I didn’t realized that slaves were such in demand). Costs are around 10,000USD / year for 10 slaves.

    For more on the conference, check out:

    Bar at the Marriott HotelThe next CITCON will be in Minneapolis/St Paul on April 17 & 18. Then, Brisbane in June. And CITCON Europe 09 is still TBD.

    Oh, and Steve Freeman coined “Scrum is the new RUP”. I need a t-shirt with that.

    Updates (06/10/08): it is Lieuwe, not Louis, who demoed BuildForge. Cleared up that Cruise is the only one doing pipelines and that it supports //ized steps.

    September 7, 2008

    Venue found for CITCON Amsterdam

    Filed under: citcon — Eric Lefevre-Ardant @ 12:37 pm

    Finding a venue for CITCON is always a rather stressful and last minute event. So I am happy to report that we already have found one for CITCON Amsterdam, 3 & 4 October. IBM has been kind enough to let us use their premises, South-West of Amsterdam Center. Thanks!

    I already have my train ticket. Now, if I could just find a cheap hotel, all will be good.

    June 26, 2008

    CITCON Melbourne is tomorrow!

    Filed under: citcon — Eric Lefevre-Ardant @ 6:40 pm

    The Conference on Continuous Integration & Testing, Asia edition, is tomorrow! I wish I could be there, but the plane ticket is unhelpfully expensive :-(

    Well, I’ll have to make up by going to CITCON Amsterdam in October! Who’s joining me?

    June 2, 2008

    CruiseControl is still the bigger player; Hudson is growing

    Filed under: citcon, hudson — Eric Lefevre-Ardant @ 11:05 am

    I thought it’d be interesting to look at some download statistics for Hudson and CruiseControl, probably the 2 OpenSource CI tools with the most mindshare currently.

    Want to know more about CruiseControl, Hudson, and other CI tools? Meet the creators, contributers and users at the next CITCON conference in Melbourne, June 27th & 28th. Cannot make it to Melbourne? Then CITCON Amsterdam, October 3 & 4 is for you (I know I‘ll be there). Or CITCON Minneapolis, April 17 & 18, 2009.

    (more…)

    April 8, 2008

    CITCON Denver is over, all hail CITCON Melbourne

    Filed under: citcon, continuous integration, hudson, test — Eric Lefevre-Ardant @ 4:22 pm

    The North-American edition of CITCON, the conference on Continuous Integration and Testing is over. Check out the session notes on the conference wiki.

    (more…)

    Older Posts »

    Powered by WordPress