Eric Lefevre-Ardant on Java & Agile

October 27, 2008

Valtech Days: twitter feed gave live updates

Filed under: conferences, twitter, valtech — Eric Lefevre-Ardant @ 3:18 pm

At Agile 2008 Conference in Toronto, Brian Marick told us that he wanted a way to give every participant a feel of what was being discussed, some kind of live temperature reading. Brian especially refered to Twitter as a way to do this, coupled with a screen that would display it (he seems to be a big fan of twitter).

Twitter avec l'auteur du client TwitterI am a fresh Twitter user, but I thought this was a good idea and I arranged it for the Valtech Days Paris conference, which took place last week. I got approval from the Great Organizer, a spare laptop from the sysadmins, and my colleague Sadek agreed to implement the client.

Here are some implementation details.

Material used:

  • an internet connection in the conference, preferably through wifi, as cables take a lot of space
  • a spare laptop; make sure that you can affort to waste it, as it might easily get stolen (ours didn’t); also, it needs to be able to run a decent browser with the appropriate plugin and should have a wifi card
  • a video projector
  • participants that use Twitter (no need to have their Twitter IDs)
  • a web client able to display an RSS Feed reasonably cleanly and refresh it frequently — you will probably might need to code this client yourself; in our case, it was implemented in SilverLight (an added bonus) by Sadek in a day or so; another option is to use RSS screen saver, but none I found suited my needs (tried NuParadigm RSS Screensaver -too much space wasted-, rsssaver -can only display one post at a time-, and RSS More -ugly and there is no way to avoid duplicating the post title in the content-)
  • to get around a strange behavior, we had to pipe the RSS feed through FeedBurner

An important step is to figure out the proper keywords that people will use during the conference. In the case of Valtech Days, it was “valtechdays” and “valtech days”. If they are not discriminating enough, then you might have to figure one out and tell participants about it. A convention seems to be to use tags preceded by a pound sign, for example “#valtechdays”. However, it is simpler for conference participants if they don’t have to remember the pound sign.
Once you have your keywords, test them with Twitter Search. Then, keep a copy the URL to the RSS feed provided by Twitter. You should end up with something like http://search.twitter.com/search.atom?q=valtechdays+OR+%22valtech+days%22 (make sure that the URL you get contains %22 in place of the double-quotes).

I am fairly pleased with the result. Posts seemed to take 10-15 mins to be picked up by our client; not great but acceptable. My main concern is that few people actually posted on Twitter at all (with 300 participants, I am personally responsible for more than half the posts during the conference). That said, there was always a couple of people watching the feed — a bit like watching TV. I also noticed that the cameraman, who was there to make a ’special live report’ on the conference, actually spent quite some time filming the twitter feed ;-)

In my case, I used Twitter to 1) tell about sessions I was following, 2) give interesting information to conference participants, 3) provide additional information on sessions I presented.

Last note: if you cannot get a special client for your feed, you could use Google Reader, as it can at least refresh itself automatically. Of course, this is a very temporary solution, as you probably do not want to stay logged on a machine that can swiftly be stolen.

Flux Twitter

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 20, 2008

Valtech Days are tomorrow!

Filed under: conferences, hudson, openspace, valtech — Eric Lefevre-Ardant @ 10:44 am

Valtech Days are starting tomorrow! We are all very excited.

I will be presenting 3 things:

  • Retrospectives: the key to continuous improvement, together with Laurent Bossavit
  • A 15-mins demonstration of Hudson
  • Introduction to the Open Space part of the conference
If you will be attending this conference, please come and say hi!

October 13, 2008

Valtech Days: bio & abstract for Jeff McKenna

Filed under: agile, conferences, valtech — Eric Lefevre-Ardant @ 9:09 am

Jeff McKenna will be opening the Valtech Days conference on October 21th with a keynote on Agile. We got his bio in English, as well as the abstract for his talk. We duly translated into French, but could not take immediate advantage of the English version.

I thought it would be a good idea to reproduce that version here. The French version is on the conference website.

Talk: Agile: Crossing the Chasm

Description: Agile Software Development is moving to a new level of acceptance in the industry. Geoffrey Moore has famously called this transition Crossing the Chasm. As this occurs, a number of significant changes in the rate and manner of acceptance of Agile are happening. These changes are often accompanied by legends, myths and other points of view. Some of them support the new point of view while others discount it. The keynote will explore many of the legends and myths that surround Agile and describe techniques for adoption Agile into the modern enterprise.

Jeff McKenna has been involved in software development for over 45 years and has been actively participating in the creation and delivery of agile software development since 1987. He has been involved in all areas of software product development from programming, system design and architecture to project management, testing, sales and marketing. Since the late 1980s Jeff has focused on the process side of development and along with Jeff Sutherland and John Scumniotales at Easel corporation in 1993 created the Scrum methodology of agile software development and started the very first Scrum team.

Jeff has worked extensively with object-oriented programming systems, languages and applications and was the Chair of OOPSLA in 1994 which helped to incubate and increase adoption of several related disciplines including agile software development. Working with IBM, Cigna, ObjectShare, Easel Corp, Millennium Pharmaceutical and the US Air force, Jeff provided expertise in architecture, design and implementation for their first Smalltalk based object-oriented projects.

As an Architect at Rational Software (now IBM), Jeff made various contributions to Rational’s industry leading Rose product. These included extensions to the Unified Modeling Language (UML) to support a UML model of testing. Jeff also worked with industry pioneers, including Grady Booch, to extend the Rational Rose product to natively support Design Patterns.

Jeff is a Certified Scrum Coach and Scrum Master, he has taught, coached and mentored agile teams using Scrum and Extreme Programming practices for many companies, including Oracle, PayPal, Borland, Vanguard, Microsoft, Google, Lockheed Martin, Tumbleweed Communications, V-Mark and Net Objectives.

Jeff is currently an Agile evangelist for Serena Software helping to build Serena Agile On Demand and working with customers and partners aiding the adoption of agile methods and practices in engineering organizations.

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.

    October 1, 2008

    Upcoming Talk: Introduction To Scrum

    Filed under: agile, conferences — Eric Lefevre-Ardant @ 9:13 am

    I will be at Agile Tour Grenoble Thursday next week. My talk will be an Introduction to Scrum. Come if you are interested in getting the basics about Scrum.

    In the meantime, Agile Tour Besançon is just starting today! Then, we’ll have Muhlouse, Geneva, Grenoble, Lille, Toulouse, and finally Valence.

    Check out the official Agile Tour website (in French).

    Next Talk: TDD Training

    Filed under: tdd, valtech — Eric Lefevre-Ardant @ 9:04 am

    I am giving a 3-day TDD training session at Valtech Training premises, from Monday, October 6th. I’ll introduce a Coding Dojo, like we did in the TDD training last week.

    Powered by WordPress