Eric Lefevre-Ardant on Java & Agile

May 21, 2009

[Agile 2009] Self-management: Pomodoro

Filed under: agile2009 — Eric Lefevre-Ardant @ 4:07 pm

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.

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!

May 6, 2009

Maven: it ain’t too bad

Filed under: maven — Eric Lefevre-Ardant @ 6:45 am

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

May 5, 2009

RIA Frameworks: the never-ending story (JavaCampParis4)

Filed under: java — Eric Lefevre-Ardant @ 11:10 am

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

Powered by WordPress