CITCON Paris 2009, a personal retrospective of the organization

Closing session

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).

Posted in citcon | 1 Comment

Faster tests, at CITCON Paris 2009

"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 at Algodeal 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.

Posted in citcon, test | 1 Comment

Mock objects at CITCON Paris 2009

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

Posted in citcon, java | 5 Comments

Interviewed by François Beauregard

François Beauregard from Pyxis Technologies interviewed me during Agile 2009 for their Vox Agile podcast. The interview is now online.

Toy sampling megaphone

We chatted about a favorite topic of mine: how to expand the horizons for Agile. My point is mostly that the Agile crowd is mostly talking about basic issues in software development, including during the Agile 2009 conference. I fear that this my give the wrong impression to beginners (“how, so we only need to do this and that, and we’re agile? Cool!”) and even to seasoned practitioners (“this Agile thing is not addressing my needs anymore”).
I would much prefer that we talk more about complex problems, whether they relate directly to Agile or not. This can include technical discussions or more touchy-feely ones. As long as we are addressing difficult problems, we will be making progress.

I also want to see more cross-domains talks. Obvious domains are the heavy industry (I won’t need to remind how influential Toyota has been to the IT industry) or performing arts. But that could also include things such as Behavioral Economics.

Or not. I don’t know for sure. However, I do know that we should be taking more risks. And stop presenting Introductions to Retrospectives for the upteenth time.

At the end of the talk, I mention 2 things for further reading. Here they are, plus a bonus book that I’ve just read:

The podcast is available in French on the Vox Agile site.

Posted in agile, agile2009 | 1 Comment

[Agile 2009] What’s in the conference for Java developers?

quintessenceAgile 2009 is not just for Agile coaches or project managers. About one in three participants qualify herself as a developer or a technical leader. And the program reflects that.

Amongst the activities that might interest fans of the Java:

Here are a few sessions with Java either as the main topic, or as the language used for demonstration:

For some other sessions, Java is not central, but will be at least mentioned:

Check out the entire program on conference site!

Update (06/08/2009): should have mentioned that the Cast Codeurs podcast pretty much have the same information in French.

Posted in agile2009, java | Leave a comment

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

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.

Posted in agile2009, citcon | Leave a comment

[Agile 2009] Continuous Integration

This year, just like last year, Continuous Integration is proving to be a popular topic at Agile 2009.

Phew! That’s quite a mouthful. Interestingly, there are many more talks listed here than I managed to get last year (and there are half as many talks this year). One reason could be that I was much more thourough this year, reviewing most of the sessions details — last year, I simply searched for keywords in the submission system.

To be honest, seeing as many sessions related to CI is rather a disappointment. I mean, CI is not a difficult practice, and you would think that many participants to Agile 2009 would be familiar with me. Plus, most sessions are introductions rather than advanced talks.

I guess I will content myself with Tom Sulston’s sessions (“Cage Fight” & “How to be awesome”).

Posted in agile2009 | Leave a comment

[Agile 2009] Hudson-related presentations

Going to Agile 2009? Cannot get enough Hudson? I have put together a list of sessions at the conference that will explicitly mention the best CI server eveeeer ;-):

OK, I do prefer Hudson (I am a contributor, after all). But I also watch the competition… err, I mean, like the other tools ;-) Here are other presentations I could find that mention competitors to Hudson:

Posted in hudson | Leave a comment

XP France becomes Agile France, and other news from the French Agile community

XP France MeetingAs a member of XP France, I attended the annual meeting that took place during XP Day Paris last week.

Things have been moving for our little group.

Agile France

First and foremost, the group is renaming itself. It will thereafter be known as Agile France.

The extended French-speaking sphere

Second, its bylaws changed to reflect that the group is willing to help anyone in the extended French-speaking sphere (ie. French-speaking countries, non-French groups in countries where French is spoken, and French-speaking groups in countries where French is not an official language).

6-member strong board

Thirdly, a stronger team of people has been elected members of the board. We are jumping from 3 (Laurent Bossavit, Gabriel Le Van, Patrice Petit) to 6 (Raphaël Pierquin, Bernard Notarianni, Sandrine Olivencia, Antoine Contal, Laurent Bossavit). This boardis elected for 2 years.

What to think of all this?

  • in my view, the name change is excellent. I do believe that it will give more credibility to the organization. I remember talking to someone who thinks that the French Scrum User Group had been created in part because they felt that Scrum was not well represented by XP France — he repeated that this was clear to him, considering the name. I do not believe XP France is neglecting Scrum, but it is just as well that the name makes it clear.
  • specifiying that the association is willing to help the whole “extended French-speaking sphere” proved to be controversial. I personnally do not care much, but many thought that we can get into conflicts with other groups, such as Agile Québec. I’d personnally be very surprised if that becomes a problem.
  • though I agree that the new team looks strong and motivated, I am disappointed by the slightly heavy handed manner. We were basically told “oh, we are also going to change the board and, by the way, there is the only team you can get to vote for”. A simple email to the mailing list would have helped make things easier. I think. Also, a few people seemed to be disappointed, as they would have been candidates, given the chance.
  • I am also disappointed by the rather long mandate (2 years, down from 3 years in the original proposal). One argument was that 1 year is not enough to let the board members settle, and they would then be judged unfairly for their first year. Well, who’s saying that the members of the association would be so harsh as to kick them out if they can explain why they haven’t achieved much? Surely, a reasonable explanation is not too much to ask.

Anyway, at least it seems that the association is doing its best to be as relevant as possible. I think those changes are for the better.

See you next year and all the best to the new board! There is certainly work to do  for everyone.

Posted in xpday | Leave a comment

“Is Scrum Evil?” Beyond our session at XP Day Paris

Is Scrum Evil?Our session “Is Scrum Evil?” at XP Day Paris this year went well. Attendance was good (50 people or so). One participant called it an “eye opener“. Two recorded the discussion (one of the records is available, in French, here; look for the podcast published on May 30th 2009). Nicolas Martignole even did a transcript of the session (in French — you might want to check out the Google translation).

I thought I would give more details here.

Our goals

We didn’t exactly manipulate the participants, but we certainly did not reveal, on purpose, what our goals were:

  • help dissenting voices come out of the closet — very few people are vocally criticizing Scrum today in France, and I have found no blogs. I wanted to show the pro-Scrum side that they do not have the final word.
  • let people vent — both pros and antis
  • make participants think — one later came to me and suggested that I should have offered “alternative solutions”. Well, I have none (though I do have some starting points, see below)Is Scrum Evil?

Alternative endings

We had prepare additional materials, in case the discussion died out. Fortunately, it was so lively that we couldnt use them at all. You’ll find all three of them below.

You are not alone

The first thing I wanted to highlight is that, though dissenting voices on Scrum (or Agile) are not currently heard in France, they do exist in the rest of the world:

Is Scrum Evil?

Scrum has Crossed The Chasm

There is a model that give hints to the current situation with Scrum. It is the Technology Adoption Life-Cycle, as amended by Geoffrey Moore in his seminal book “Crossing The Chasm“.

In short, it appears that many of the arguments against Scrum do not just mean that it is poorly explained, nor just that it is poorly understood, but rather that it is now being adopted by a large number of people. Or, to rephrase this, that it has been (consciously or not) packaged in order to be palatable to the mainstream. This implies trainings, books, consulting services, explanations, case studies, success stories. In short, packaging the approach just like a marketing team would do. That the people behind Scrum did it on purpose (as I believe) is beyond the point: the Agile approach that wins the hearts and minds of IT professionals everywhere is necessarily the one that comes with such as package, a whole product, in the words of Moore.

That is a reality that people that are blindly against Scrum must acknowledge.

ARXTA

Finally, I would like to point any aspiring Scrum-evil-ist to Brian Marick‘s writing on Agile roots. His argument is that “Agile” (and, I guess, the names of pretty much all Agile methodologies) is too easy a term to adopt. In other words, many people will look at the name, glance at the practices, and quickly come to the conclusion that “hey, this is exactly what we’ve been doing all along! Let’s avoid asking ourselves hard questions and let’s not change the way we work.” Which is, obviously, missing the whole point.

Brian has came up with a new name for the roots of Agile: “Artisanal Retro-Futurism, crossed with Team-Scale Anarcho-Syndicalism.” The name is cryptic (and even slightly repulsing) on purpose, so that people will have to ask, and will have to have a conversation.

Further reading

Check out

Posted in scrum, xpday | 6 Comments

[Agile 2009] Self-management: Pomodoro

I have become interested in Pomodoro at Agile 2008 in Toronto, so I thought it’d be nice to check out where in Agile 2009 you can get to hear about it.

Posted in agile2009 | 2 Comments

XP Day Paris, Agile 2009 and CITCON

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!

Posted in agile2009, citcon, xpday | Leave a comment

Maven: it ain’t too bad

(or Maven Doesn’t Suck™)

My colleague David recently wrote a controversial post on Maven and what is wrong with it. As his neighbour in a cramped office room, I feel compelled to give my own opinion about it. Which fits in a few words: it ain’t too bad.

Maven did get some things right

My argument is that Maven did help teams to Get Work Done, mostly by paying less attention to the build system. I enjoy playing around with build scripts and the like, so I’d rather dabble more with them, as I used to in the heydays of Ant. But I can’t justify it anymore. Maven has allowed me to concentrate on more value-adding work.

But, obviously, that does not make it an all-around Good Thing. It does have its flaws. Yes, the dependency system is not great (I believe this can be partly alleviated with proper unit testing). Yes, too many people use it in too many situations. In a word, the paradigms in Maven break when pushed too far.

Well, couldn’t the same be said about Ant, Java, Microsoft Windows, or even computers?

Leaky Abstractions

All these things are Leaky Abstractions. They try to make our life easier by hiding the complexity, while in truth there will always be a point where the abstraction breaks down. This happens pretty much any idea is made concrete by some implementation. There is an inevitable point or situation where is does not work anymore. That is part of life, and no other build system will ever perfectly.

So they ARE lying then!

Of course they are. Nobody ever sold anything by saying “well, our tool is reasonably good, but keep in mind that it does not work in many situations” (and even open-source projects need to sell themselves). No, they must always oversell a bit, if they want a fighting chance (check out the website of any software if you do not believe me). If that means that some users will later be disappointed, that’s a chance they are ready to take.

So, what can we do?

If you are so inclined, feel free to provide your own solution, as long as you make it available to the world. But be aware that, despite all its benefits, at some point someone will come and bash your little tool, for the right reasons.

Or, you can periodically survey the available tools and change every time one seems better. Or wait for an external consultant to come to your project, laugh at you and point you to this new thing that “everybody is using.” But, in the end, if you want to keep your sanity, always take claims with a large pinch of salt.

Posted in maven | 2 Comments

RIA Frameworks: the never-ending story (JavaCampParis4)

A few weeks ago saw an excellent evening at Google’s: JavaCampParis4. Quite a few people showed up, maybe partly out of curiosity for the famed Google offices (around 60 people in total, much more than previous editions). Google obliged by providing a big room with a breathtaking view on the Paris Opera House, the best buffet I’ve seen for a free event, as well as goodies including t-shirts and USB keys. Thanks, Google!

I find that these events are often more social than technical. There are a means for many to catch up with colleagues and friends. As for me, I was delighted to chat with Jean-Laurent, Grégory Paul, and many others, as well as meeting Nicolas Martignole for the first time (indeed I almost missed out on the excellent buffet).

Still, one thing I was really interested in, is Rich Internet Applications (RIA) Frameworks. I don’t know about you, but me, I have been hoping for a while that a clear leader would emerge. Probably because I have been spoiled by such an experience in the past (remember the good old days of Struts 1?). So I naturally suggested a session on RIA Frameworks which got a pretty large turn out.

Executive summary: there is no clear leader. However, Flex, GWT, jQuery emerge as the oligarchy dominating the area (.NET frameworks were not discussed, given the Java-leaning crowd).

Details

My original question was “What is the best RIA framework for professional development?” I didn’t want to discuss flashy new tools, only those that dominated the marketplace and that a company could capitalize on.

The frameworks mentioned by the participants were (in bold, those that are used the most by the people present in the session):

  • GWT: an obvious option for Java programmers, since it appears almost anything can be done in Java. Generating production-level pages can be slow. Many libraries available for it, either as native-Java libraries, or as wrappers for Javadoc libraries (to be avoided if possible, as they are harder to control and to use TDD-style)
  • jQuery: a library now frequently found on high-traffic sites, which has been officially approved by Microsoft
  • Flex: the only one to provide a complete solution. Someone was using it as the only solution for frequently displaying financial data.
  • scriptaculous
  • Yahoo! UI: good cross-browser support, but quite complex to use
  • Java FX: a person viewed it as an interesting option for mobile devices, but few are betting on it. Apparently, it does not require a browser plugin (apart from a recent version of Java)
  • Other tools mentioned: Google Visualization API and its GWT-GVis simplification layer (for generating charts), Prototype (Ajax & GUI JS library), qooxdoo (Ajax & GUI JS library), LightView / LightBox JS (both for specific image display, based apparently on Prototype), Dojo (Ajax & GUI JS library), phoneME (a technical library for Java on mobile platforms), Ext JS (yet another popular Ajax & GUI JS library with a GWT wrapper; proprietary. Apparently, the models are a bit complex). Even Silverlight was mentioned.

From all this transpire that there is no clear leader in the RIA space. The one that is the most likely to be around the longest is probably Flex. But, as mentioned, it is not an answer to all issues. Though well integrated with Java development, it is not as natural to use as, say, GWT. In fact, GWT seems to be the only real Java-friendly solution, an important argument given the hordes of Java developers with few Javascript skills. The issue, of course, is that GWT is not a complete solution: its graphics capabilities are more limited than the competing JS libraries. Its Ajax features are not the best either, especially if you design a very responsive application, such as a financial app.

So, here is my opinion:

  • personally, if you want to branch out from Java, then Flex sounds like an interesting way of doing things that look good
  • as a company, if you want, to bet on a new technology and can afford to train your staff, Flex is here to stay so is probably a safe bet
  • as a company, if you want to leverage your Java developers fast, then GWT is probably the way to go; in that case, you will also have to use additional Javascript libraries, starting with JQuery
Posted in java | 3 Comments

Why I use Twitter

"TWEET!" "Officer, This Lady is Loitering!"

I regularly mention Twitter to colleagues and friends. Most of the time, their reaction is “uh? I already do not have time to read blogs, why do you think I should waste time on Twitter as well?”

That reminds me of the time I was trying to tell my acquaintances about blogging or even (a long time ago) about this new thing called “the internet”. No, Twitter is not that useful. It is not going to save world hunger or give you a new job. But still, you should give it a shot. Here is my attempt to organize my thoughts a bit.

In theory, on Twitter, you are supposed to tell about what you are doing right now. For many, it means telling the world about the coffee they are drinking and other trivial things. This is not how I use it.

There are 3 types of people that I follow:

  • friends and colleagues: Twitter offers me a way to keep in touch with them even though I don’t meet them in person frequently or even call them. From these people, I enjoy both work-related tweets (“I got XYZ to work, it rocks!”) and mundane ones (“My little one is just one year old!”). Twitter is a low-friction way of talking with them, what Jeffrey Fredrick calls a replacement for a beer. Often, I miss what they say when I was not connected but that does not matter. Twitter is not a chat system. Sometimes, I respond to this type of people, or even DM them (ie. send a direct message). Anyway, as long as I get news occasionnally, I’m happy.
  • thought leaders and people I want to hear more: many figures in the domains I’m interested in now have Twitter accounts. Often, I already read their blogs, but that is not enough. Blogs are infrequent matters (less and less frequent as they embrace Twitter), and only well-formed thoughts appear on them. This is all good, but Twitter is where they talk about their day-to-day work. Sometimes, they would post half-formed thoughts (“what would happen if we stopped doing X and started doing Y instead?”). Sometimes, they would tell short things that do not deserve a full-fledged blog post (“Theory X is probably the most interesting thing I heard about this year”) or give links to page (“Check out this article — I recommend it”). Very occasionally, I would respond, or, more commonly, RT (re-tweet) their post so that my own followers are aware of things I find interesting. Like the others, the people I consider thought leaders also tell about their life. That is not so interesting, but unfortunately it is not easy to filter them out. That’s is the biggest drawback.
  • competitors: in a way similar to the friends and colleagues, I am interested to learn what they are working on. Obviously, I can only learn about what they are willing to tell. Still, it can be interesting. And over time some of them tend to the “friends & colleagues” category.

Over the months, I have built relationships with some people, learned the opinions of thought leaders on Fit, ask for help in selecting a mobile phone, followed Uncle Bob’s progress on Fitnesse/Slim, publicize various events that I was involved in… and arrange for a Twitter board to be displayed during a conference.

All these things can, in theory, be done via blogs or social networks sites. But the low friction of Twitter makes it so much more easy to use.

My advice is: get your own Twitter account and follow people you know. If you have things to tell that are not roo mundane, by all means, tell them. And do regularly clean up by stopping to follow posters that have a high signal/noise ratio.

Feel free to follow me, if I meet your own criteria for Twitter.

Posted in twitter | 3 Comments