Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘November, 2004’

I used to use the amount I learnt during a job as some measure of how enjoyable the job was. I remember in the Good Old Days(TM) when any day in which I learnt something, was a good day. Recently however I’ve come to appreciate that there are some lessons you just don’t want to have to learn, like “Don’t leave the bleach next to the shampoo”. Much of my recent on the job learning have been things I really didn’t want to know. Like “An Ant build with over 60 inter-dependant targets creates a really large, pretty graph”, or “Managing DB migration is a pain in the posterior with decent change logs”.

Roll on lessons like “Full body massages are really nice”…

I’m not sure how I missed this (although I suspect a recent spring clean of my subscribed feeds is to blame) but I managed to miss the announcement that both “NetNewsWire(NetNewsWire and Bloglines)”: and “FeedDemon(FeedDemon 1.5 Beta 1 with Bloglines Integration)”: are to integrate with “Bloglines”: I wasn’t wowed by the original “announcement”: of the Bloglines web services API – I just saw it as an obvious move to enable the development of notifier tools and the like, as well as reducing bandwidth usage, but I certainly welcome the move of commercial rich-client aggregators to use Bloglines to enable synchronisation across multiple machines.
Continue reading…

You want justification? Lets discuss. First off, I’m brighter than you, have a better job, am better looking, went to a better university, and didn’t vote for Bush/Blair/Kerry/Hitler. You, on the other hand, are less relevant than _anything_ found on the bottom of my shoe.

As you’ll no doubt of heard many times, most problems in computing can be solved in a variety of ways. Knowing which (if any) of the known solutions are best, is typically down to experience, and the desire to experiment with unknown solutions that could yield positive benefits. In a project context, it can be all too easy to just do the known thing – better the devil you know and all that. However if managed properly, there is scope for limited experimentation during a project.

A colleague of mine has successfully used the approach where new best practises are adopted for a short duration – such as a a single iteration. I would actually advocate these best practises being very rigidly enforced, more so than normal. The aim is that people get a good feel for another approach, and will be better able to make an informed judgement call in the future. Such altered practises might include things as simple as “no getters allowed”, or “use the visitor pattern instead of the iterator pattern”, or more process oriented changes, such as automatically running “findbugs”: when you check in to CVS, or “hansel(Automatic code coverage of JUnit tests)”: when you run your JUnit tests.
Continue reading…