Eric Lefevre-Ardant on Java & Agile

March 10, 2009

Refactoring applied to features (or YAGNIAM – You Aren’t Gonna Need It… Any More)

Filed under: agile, misc — Eric Lefevre-Ardant @ 1:52 pm

Taking OffRefactoring code without modifying its external behavior is necessary to keep your code base manageable. That is nowadays a well-established fact.

However, it can only go so far to prevent your code base from swelling permanently. In theory, if your revenues keep growing, you can keep recruiting more people in your development team, and all will be good. Unforunately, that’s not usually how software works.

Like many other things in life, software goes through well-known phases: birth, growth, maturity, and decay. At some point, the costs of maintaining the software are just not justified anymore and the editor pulls the plug.

However, we can do a little better than that. If the project still has some life in it, it can be a better plan to reduce its complexity, in order to lower its maintainance costs and increase its life. In fact, there is no need to wait for the product to decrease in popularity. Housekeeping should be done as early as possible in the lifecycle. No need to maintain features that cost more than they pay.

My current customer has exactly this problem. Their project suffers from feature creep. Regression tests become more and more costly to maintain (it is actually planned to delete some of them regularly — though, of course, nobody really knows which ones we can afford to throw away).

I would call the activity I’m promoting “Feature Refactoring: the process of changing a computer program’s list of features (and corresponding code) without modifying revenues significantly” (balancing short- and long- term revenues). This means that it is OK to remove some features, as long as it is acceptable to your customer base, in terms of money to make in the long term. Basically, you want to avoid the classic pattern where 80% features that are little used or not used at all.

Note that I am not merely talking about features representing significant weight in terms of code, tests, or documentation. Rather, I want to target anything that costs money to maintain, understand (for new hires), market, etc.

How can we do this? Well, here are a few smells that can help

  • your client representative tell you about it — the easy scenario
  • you detect that few customers actually use your modules – monitoring tools can help you here
  • you find bugs in production… and few people actually complain about it — should this feature be there at all?
  • you upgrade your project… and nobody complains — if your features are popular, someone is bound to complain about any change
  • specs for a particular feature are not updated — features that do not evolve tend to rot
  • run workshops with customers — a interesting format for this is Speed Boat

My point is that there are even more potential benefits in term of code maintenance when removing features, compared to refactoring the code base (which is a good thing to do, too).

Refactor your features. See this one there in the corner? You Aren’t Going to Need It.

You’ll be happier.  And you will probably save money.

September 12, 2008

I am a jealous man

Filed under: misc — Eric Lefevre-Ardant @ 4:36 pm

Traffic on my site http://ericlefevre.net/

I’d like to have many visitors. But compared to some blogs I follow, I still have work to do. Here are some information, according to Google Analytics.

  • Compared to Claude Aubry, who writes in French about Scrum, I now reach 1,500 unique visitors per month, while he has twice that many.
  • Julian Simpson’s Build Doctor on Continuous Integration, seems to average 100 visitors per day (it’s difficult to tell on the graph), I think I’m around 50 per day. Missed again!

My wife does not like it when I compare myself to others. Me, I feel it is stimulating. This makes me want to write more.

Other trivia:

  • my most popular post ever is the one about Gienah; strangely, it is also the most popular one in the past 3 months, although it is 18 months old
  • next, with almost the same number of visitors, a post about a classic error message in Maven and one about download stats for CC and Hudson, which has been referred to by quite a few sites, including dzone.com
  • Firefox is by far the most popular browser, with more than two thirds of visitors
  • Almost 80% of people use Windows (I was hoping Linux and MacOS would do better, but they got less than 10% each)
  • the vast majority of people find my pages through Google; other sources are dzone, Blog Valtech, FeedBurner (possibly because of syndication), NetVibes (I guess some people have added my blog to their home page) and The Build Doctor.
  • the two most popular region of origins are the USA and France (half of the traffic in total). I am rather happy with that, as I do write in English to be heard outside France.

Anyway, my biggest satisfaction is that traffic has been consistently rising from the beginning. It does take time, but who wouldn’t do that for fame, money and women! ;-)

One thing I have done recently is add FeedBurner analysis. It does not show much for the moment; I’ll guess I’ll get data next year. The other thing I did is syndicate my blog under Planet Valtech and CITCON Blogs. That will probably make a difference in the medium term.

January 7, 2008

2007: a mini personal retrospective

Filed under: misc, personal — Eric Lefevre-Ardant @ 9:10 pm

Wow, what a year.

(more…)

November 7, 2007

After all these years, internationalization is still not working well

Filed under: misc — Eric Lefevre-Ardant @ 4:40 pm

With all the techniques that we have at our disposal, with all the education that developers got, still we see websites that handle internationalization poorly. I noticed the problem recently on a minor website, but even Flickr and/or Yahoo got it badly wrong.

(more…)

September 24, 2007

2 books: “Guns, Germs & Steel”, and “Good To Great”

Filed under: misc — Eric Lefevre-Ardant @ 2:17 pm

This August, as I was vacationing in Malta, I grabbed Guns, Germs & Steel at a bookstore in the airport. It is a fascinating book that explains how the European civilization basically ended up dominating the rest of the world.
After completing it, I dived into Good to Great: Why Some Companies Make the Leap… and Others Don’t, another captivating essay that tells how some companies manage to reach a inflection point where they start making a lot more money than their competitors, and never go back to their previous mediocrity.

What is most intriguing to me is the parallel that can be drawn between each of these books, and the facilitating technique of the Five Whys.

(more…)

September 23, 2007

Estimates in everyday life

Filed under: misc — Eric Lefevre-Ardant @ 6:26 pm

One thing that we teach in Agile courses is estimating. One technique is taken from Steve McConnell and called Count, Compute, and Judge. The idea is that, to make an estimate, you have 3 options. First, if you can Count, do so (ie. do not do any estimate at all). Second, take a value that you know, then count it, then Compute the resulting value to obtain the estimate. Finally, if all else fails, use your Judgment. It is a good idea to mix compute & judge.In two recent instances, I have heard outrageous figures when talking with friends. One mentioned that “the average pregnancy age is 13 years old”. In a separate discussion, another asserted that “the price of baguette has increased 6-fold since the introduction of the euro”.

Obviously, in the context of this post, it sounds trivial that these sentences are nonsense. However, in the heat of the conversation, they can pass unnoticed. Both persons seemed actually convinced that they were true, and used them as proof to further the debate.

How often are we taking random figures at face value? (”we have estimated this project to cost this much”) We should always be at least critical.
The idea is to think of other things to judge the figure against (”the laws of economics would probably prevent the price of bread to increase so fast in such a short time”). Intuition helps, naturally.

Common sense is the most fairly distributed thing in the world” (Descartes). It seems that it is still not enough. Let’s keep in mind that others can be wrong, and that we ourselves can be wrong. Judging people and behavior is foolish, but judging data is not.

So, when hearing figures, always keep a critical mind, especially if this figure is used to take decisions. Conversely, do not show figures as hard facts. Be as honest as possible and make clear that “well, I heard this on the radio, but I might have misunderstood”. Giving a wide range of possible values helps too (”the most probable estimate is 1000 man-days, but plausible estimates range from 500 to 5000″). You’ll be helping others, and yourselves.

June 29, 2007

Telelogic to be acquired by IBM

Filed under: misc — Eric Lefevre-Ardant @ 10:02 am

I’ve just learned that Telelogic, one of my former employers, is to be acquired by IBM.

From 1998 till early 2000, I used to work for Verilog, a French software company (I was based in the Dallas office) that was doing pretty well with its IDE targeted at the SDL world. One fine day of December 1999, I arrived in the office, only to learn that Telelogic, the other major player in SDL, had acquired us. Telelogic was no worse, nor better that Verilog (though certainly more commercially aggressive), but I needed a change and in April, I went back to Europe and joined Valtech (in London for a few years, then Paris).

When we were at Verilog, we used to worry about Telelogic (which we thought was using disloyal means to take business from us), and also, though less, about Rational (for its real-time software IDE), i-Logix, and a few others.

Well, Telelogic snapped Verilog, then i-Logix (among others). IBM acquired Rational (among many others), and now Telelogic.

It’s a strange feeling to hear about a company you used to work for. It’s a bit like hearing about long-lost high school friends: how did they do? and, inevitably, did I do any better?

Every now and then, I come across people that used to work for Telelogic, including the project manager of my current consulting gig at EDF, and Pascal Roques, a UML guru and a colleague at Valtech (the proverbial small world).

April 20, 2007

Google Spreadsheets Just Added Charts!

Filed under: misc — Eric Lefevre-Ardant @ 11:15 am

I just tried: it works reasonably well, though a bit slow (as one could expect).

More here.

March 2, 2007

Hiring Tips

Filed under: misc, valtech — Eric Lefevre-Ardant @ 12:48 pm

Every once in a while, I stumble upon a new list of tips to hiring someone. Since I am actively involved in interviewing candidates technically, I always read them in detail.

If you don’t know them already, here they are for your reading pleasure.

  • Joel Spolsky’s Guerrilla Guide to Interviewing, possibly the most referred to paper on hiring
  • Steve Yegge’s Five Essential Phone-Screen Questions, a bit too system-centered for my taste, but interesting
  • Mike Cannon-Brookes’ 5 Tips For Startup Hiring, Mike is the co-founder of Atlassian; I’ve met him briefly at CITCON London 2006
  • February 26, 2007

    Got a new laptop bag

    Filed under: misc — Eric Lefevre-Ardant @ 2:48 pm

    The original briefcase-style bag that came with my laptop one year ago was finally so torn that I decided to buy me a new bag. My criteria were the following:

  • it must be a backpack. I’m sick with having something on my side
  • it must be professional-looking. An amazing quantity of backpacks are ok for laptops but also sport flashy colors and such. I was to be able to walk in a pre-sales meeting with my bag.
  • it must be a small as possible. No more annoying people and myself in the Metro.
  • (more…)

    January 24, 2007

    Pandora: listen to music like the music you like

    Filed under: misc — Eric Lefevre-Ardant @ 4:52 pm

    I discovered only yesterday about Pandora (yes, I know, I’m late; it’s being talked about since 2005), a really neat website that is able to play songs similar to those you suggest.

    You suggest a song (or an artist); it figures out the characteristics of it (tone, rhythm, instruments, style) and plays automatically more like it. Later, you can tune the selection by approving or rejecting suggestions. It works really quite well. Well, they apparently have an army of 50 people analysis every single song with hundreds of criteria (!). A bit reminiscent of the beginnings of Yahoo!, though I doubt they will make it as big.

    Give it a try with songs in the style of Brian Eno.

    January 19, 2007

    A BarCamp in Paris this WE

    Filed under: conferences, misc — Eric Lefevre-Ardant @ 5:04 pm

    A BarCamp is taking place in Issy-Les-Moulineaux, near Paris, this WE. The topics include Web 2.0 (of course), as well as social networks and other things. As always, attendance is free, though participants are expected to contribute by coding, throwing ideas in the air, debating, etc. You could say it is rather geeky ;-). I notice Eric Mahé from Sun France among the attendees.
    More details on BarCamps.

    Register by editing the official wikipage.

    January 5, 2007

    Healthy Competition in Dedicated Server Hosting

    Filed under: misc — Eric Lefevre-Ardant @ 3:36 pm

    A few month ago, free.fr, the second-largest ISP in France, stirred things a bit in the French server hosting arena when they introduced their debibox solution: a dedicated machine with unlimited bandwidth for 30 euros per month!

    Just a few days ago, the response came from OVH, one of the largest hosting company in France (and a partner to free.fr through their FreeIX interconnection service). They now offer a similar machine (with the exception of RAM) for 20 euros per month! The amount of RAM in this one is 256M, while dedibox has 1G. But 256M would be more than enough for a personal or semi-professional usage, especially when using Linux (Windows 2003 is also available).
    20 euros for your own machine! In the US, I couldn’t find any offer below 65$ / month. I admit I didn’t look very much, and the machines are usually more powerful. But where are the cheap options?

    This is also a valid alternative to Amazon EC2 for cheap hosting.

    December 11, 2006

    Hiatus for holidays

    Filed under: misc, personal — Eric Lefevre-Ardant @ 4:31 pm

    I’m currently with Cécile in Bénin, where her parents have been living for a couple of years.

    I’m seen relatively amazing things been shipped by people on the way to Cotonou. Here is a sample, apart from the usual huge crates, TV sets, etc:

    • 2 enormous (more than 20”) flat-screens, Höher brand — belonging to the same person
    • 1 travel crate for a large dog — folded, with no dog (maybe they want to bring one back from Bénin?)
    • 5 kgs of semolina
    • 2 6-liter waterproof barrels — presumably carrying the belongings of someone having a limited confidence in the plane’s ability not to crash into the sea
    • 1 car door — with window down
    • 1 2-meter long car bumper

    I was definitely not blending in well with my trusty Karrimor.

    October 10, 2006

    Freakonomics and Mass Observation

    Filed under: misc — Eric Lefevre-Ardant @ 11:18 pm

    I have just finished reading Freakonomics. It’s a great book, but it’s gone too fast! It took me about 3 days to complete it. Also, the authors are right to indicate early on that there is no real unifying topic. Maybe a longer discussion on how they obtained those data would have been useful.

    Anyway, it just happens that I read recently about Mass Observation in the New Yorker. It strikes me that the data collected by MO is exactly the kind of data that Steven Levitt would use. I wonder if he has already consider it? Or maybe the data are simply not formalized enough to be useful.

    Older Posts »

    Powered by WordPress