Why _not_ Ruby on Rails

I’m always amused to see what the latest craze the ADD crowd is up to and Jon Tirsen is pretty much the poster child for that revolution. Of course it’s Ruby on Rails, and while the Ruby guys have kept their heads down the Rails crowd keep poking away at Java.
So, I was looking an Jon’s latest entry entitled “Why Ruby on Rails” and it has a photo of a big stack of “Java books” (which amusingly includes Fowlers POEAA) and the 2 Ruby books. So I clicked on the link in my RSS reader and going to Jon’s website I’m greeted with:

Precondition Failed
The precondition on the request for the URL /articles/2005/10/28/why-ruby-on-rails evaluated to false.

So, I’m glad I use PHP for my blogging software.
I mean, if blogging software doesn’t work reliably in Rails, by one of the experts, then what hope do mere mortals have writing their enterprise applications…


We won – thanks for playing

From this article at Cutter where somebody has actually done a study into introducing XP/Agile practices (they used Industrial XP, gratz to Josh, wish I’d made it to Steve’s place to kick your ass at cards, sorry you had to suffer the embarassment of Rup’s car).
Just for people, I’ve quoted the really juicy bits that made me happy.
The findings were fascinating. In a nutshell, the cycle time for the XP projects was about 25%-30% faster than for the traditional projects. But the real story also seemed to be in the defects, which fell by a factor of about four.
So, not only is it likely to result in a reduced project timeframe (they didn’t mention cost, maybe it requires more resources) , but you also get less defects.
Lower defects might be a result of pair programming in two ways: (1) getting what the client wants correctly the first time (or close to it), and (2) the instantaneous peer review of the code enabled by paired teams. Both may be contributing to fewer mistakes making their way into the code in the first place.
While pair-programming is not my favourite practice from XP (sue me, I like my own company at times) it certainly does indicate there may be significant benefits from it.
I’d love to know more about the project – so if anybody knows the answers…

  • Was there any CI ?
  • Were there less “requirements” defects ?
  • How happy was the project team ?
  • Did they change their environment to suit the process ?
  • Did they bring in experts to help them change ?

One of my colleagues has pointed out that they are looking at more data to validate this. And while I’ll happily admit that there may be errors in the information, it certainly does concur with my experience and observations of Agile projects.
Also, let’s assume the numbers are wrong by an order of magnitude. So, that means the schedule is basically the same, with a 40% reduction in defects. Who wouldn’t be happy to take that ?

215 km in one day

Well, I made it. The Melbourne round the bay in a day. I feel awesome at the moment, just staggeringly good all things considered.
Started at 5.00am (which is a struggle at the best of times) and made it to Queenscliff by 9.06am. 4 hours for 112 km. On the way there were a couple of nasty crashes, including one of our team (get well Carlos!).
Caught the ferry to Sorrento, and caught up with my brother-in-law Peter (wow, what good luck eh).
Waited for 45 mins in Sorrento for some teammates of Peter. We all started on the way home, and after a fairly uneventful ride home got in at just after 3.00pm.
Total time riding was 7 hours 55 minutes, average speed of 27 km/hr.
Things of note were:
1. 4 people (3 guys 1 girl) doing the 100km ride on unicycles
2. Pulling in a Frankston (lower socio-economic area) and stopping at traffic lights to watch 3 of the locals walk past sucking down cigarettes and drinking from stubbies in stubbie holders as they cross the road.
3. Having people sit outside their houses and cheer and clap as we rode past
For those people thinking of going in the round the bay here are some things you might find interesting.
1. Riding to Geelong/Queenscliff is boring, so it’s better to do it in the morning and ride from Sorrento to Melbourne in the afternoon.
2. Riding from Sorrento to Melbourne in the afternoon means riding along Beach Rd when it’s a zoo, especially when it’s sunny like today was. With tired people, cars etc, all adds up to crashes.
3. You can’t possibly eat enough. Keep eating and drinking all the way around in 45-1hr interviews.
4. Back and neck soreness was my biggest concern on the day. Really, really painful between the shoulders. However, 15 minutes off the bike – it’s gone.
5. It’s dangerous. Lots of people are not used to riding in packs (myself included). Biggest crash I saw (about 10-15 people) came because a person panicked in the middle of a pack and tried to pull out. Clipped a wheel, and down they fell.
6. Susi and I did a reasonable amount of training. We’d ride 70+km plus each weekend, and did about 3-4 100+km rides (including 2x 150). From people that had ridden this before they said that if you can do 150km and not pull up too bad the next day, then you can make it. I’d agree with that, provided the weather is ok. If the weather was bad, or windy, then I’d say you need to do more riding to feel good at the end.

The grass is always brown

During lunch today I managed to catch up with some ex-colleagues and have a good gasbag about the work we’re all doing. I was bemoaning the general level of Java experience in the industry, and was waxing lyrical about how few people understood what an “interface” (the Java keyword) is used for.
Quick as you like, Marty replied with:
“That’s where you declare your constants”
Needless to say, that brought a lot of laughing, and then we all collectively sighed as we realised that’s what we deal with on a daily basis.
Note for the sarcasm impaired; Marty doesn’t believe that. It’s humour, laugh.