There’s no feeling like releasing software…

Ahhh… that’s the first production release of my latest project at work out the door today. I can’t talk too much about specifics, but it’s not a big secret that Wotif is enabling various B2B aspects of our web site, mainly with the registered hotels. Today saw the first big step in that direction. 🙂 And it feels great to see a new project go out and get used.

It’s kind of odd, but despite working in IT for (just) over ten years, I haven’t had that feeling that often. In fact, I’ve changed jobs over the lack of that feeling twice. Let me think… there was that year when I worked on that inventory system that was never going to work[1]. Then there was the 18 months I spent at Mincom doing “R&D”[2]. Then there was my wonderful two years at Suncorp, where I swapped from being a contractor who got to work on interesting projects that went live to being a permanent employee who got to spend the next 24 months working on estimates for projects that were never going to get a green light, frameworks and libraries for other project teams, diving into still other teams to figure out why they were going wrong, getting yanked off projects just before they get finished due to turf wars between my manager and other managers, and oh, having a perfectly successful project being cancelled two weeks before getting finished. It’s more than a little sad that in that whole time, the closest I got to seeing a project go live was a project that I had only casual involvement with that got into an active pilot phase… And people wonder why I decided to leave. But I’m not bitter – really.[3]

One of the things I like best about Wotif is that we have a constant focus on delivering new business value regularly. In the 8 months I’ve been there, we’ve had 3 major releases, each with a different theme of business functionality (we also had one major release with a technical theme – a database migration). And next Wednesday we have another. Oh, and we do minor releases roughly every three weeks as well. This focus really results in a solid feeling of satisfaction – you get to know that you are contributing in a meaningful way to making something a success.

What’s especially appealing about the release that went out today is that it’s something that I’ve been intimately involved in driving, from a technical standpoint (Our B/A did a great job of driving the requirements – I only solve the problem, I don’t define it). When you’re a member of an 18-person team (counting the business analysts and the Q/A staff), the personal investment isn’t that high. At least, compared to what it’s like when you’re working in a 3-person group, which is what I’ve been doing for the last couple of months (it’s actually more like a dedicated sub-team within the larger team). What went out today was my baby – a short gestation period (only 2 months), but emotional anyway. And, of course, there’s the next few releases of new functionality to go over the next six months to go yet. I’m sure my new baby will have growing pains, but she’ll be running before you know it. 🙂[4]


[1] “Never ever ever try to write an application aimed to be used by about 70 people simultaneously with an Access database backend” – me, day 2 into that project.
[2] Translation: learning Java, spending far too much time developing web frameworks instead of using off-the-shelf ones, and developing proof-of-concepts apps only to be told that it was “too risky” to turn them into the real thing.
[3] Actually, I’m really not – my role at Suncorp was always going to be a more hands-off role, with a major focus on being a change agent. What I learnt at Suncorp was that I’ve got the wrong sort of personality to find that enjoyable – I was effective enough, I guess, but it was just so frustrating.
[4] But not as well as my real kids, of course. One of the happiest days of my life was the first time my daughter ran into the room to meet me when I got home, crying “Daddy”. She does that nearly every day now, but it’s still special. 🙂

Author: Robert Watkins

My name is Robert Watkins. I am a software developer and have been for over 20 years now. I currently work for people, but my opinions here are in no way endorsed by them (which is cool; their opinions aren’t endorsed by me either). My main professional interests are in Java development, using Agile methods, with a historical focus on building web based applications. I’m also a Mac-fan and love my iPhone, which I’m currently learning how to code for. I live and work in Brisbane, Australia, but I grew up in the Northern Territory, and still find Brisbane too cold (after 22 years here). I’m married, with two children and one cat. My politics are socialist in tendency, my religious affiliation is atheist (aka “none of the above”), my attitude is condescending and my moral standing is lying down.

6 thoughts on “There’s no feeling like releasing software…”

  1. Nice post Robert.

    Do you get any “nerves” around these releases? Or is the fact that they are regular releases a comforting factor that helps keep everyone focussed?

    I have found that in some environments (namely more corporate ones) the layers of ass-covering involved means the political cost of a bug or small failure is so high that any release is terrifying.

    What is wotif’s attitude to just “getting a feature out there” and accepting a risk of a (recoverable) failure (after all, it is a web app, can update the software whenever you want). I know that Amazon take the attitude that the cost of a mistake is generally less then the cost of missing the opportunity out of fear of the mistake – this is unique to eBay/Amazon/Wotif style of “apps” of course.

    Jason Fried also talked about it a bit. Although with Wotif, with real money flowing through transactions, perhaps the stakes are a bit higher !

  2. Hah! I felt like throwing up the whole time! 🙂 But I was always confident.

    Note that I didn’t say the release was 100% smooth – it wasn’t. In particular, it was delayed for 24 hours after it failed the production shakedown due to odd behaviour we didn’t see in test regions (which I still can only describe and workaround, not explain).

    The main thing is that we knew that if there was a problem that we could pull it down and fix it rapidly – which we did.

    As to Wotif’s attitude: we are scared about releases that are not stable. Wotif did about $250 million in revenue last year through the site, and we’re looking to do about $330m this year. So we’re edging up to a million dollars of revenue a day. A million dollars of revenue is a bit over $40,000 an hour. Nobody at Wotif wants to be responsible for interrupting the cashflow that much.

    That said, we aren’t that concerned about pushing software out if we feel it is ready. We do have extensive Q/A procedures (regretably manual at the moment, but we are working on it), plus an exhaustive array of performance tests. We always make sure that any release is reversable (which can be interesting for database schema changes). In the time I’ve been at Wotif, I think we’ve yanked a release back twice – one other time we rolled a hotfix out _really_ fast.

    We certainly don’t have an extensive layer of red-tape to get through. All we need are three people to agree: the B/A for the themed release (to certify the feature set is acceptable), the lead tester for the release (to sign off that the test plans were executed, and all known issues are registered or fixed) and the lead developer for the release (as a veto, actually). When they agree, we go out. The B/A and tester roles rotate regularly, the lead developer one less often.

    All that said: being able to monetise the risk helps us assess the extent to which we should be concerned.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: