Saturday 31 December 2011

Technorati Claim Post

This post is to poke & prod the Technorati bots so that they know this blog is mine. Please ignore :-)

Technorati Claim Token: 5NAWTUQFRG4H 

We now resume regular programming...

Friday 30 December 2011

In Pursuit of Performance

Producing slow, non-performant software is one of the quickest ways to turn an otherwise happy customer into a hate-filled tightly-wound ball of frustration as you make even the most simple of tasks infinitely more difficult.

I'm a big fan of the sentiments laid out by Jeff Atwood in his post Performance is a Feature. When you don't already have a strong culture of measuring performance figures, the first few times you scientifically measure performance across releases can cause a lot of raising of eyebrows & wringing of hands (especially if the data is visualised in a simple graph). However, to me this is A Good Thing and fits into the Continuous Delivery doctrine of "if it hurts, do it more frequently".

In this light, I see performance analysis as a form of sadism - in the nicest possible way! People who love to measure performance can derive pleasure from the pain of poor performance results. The pleasure comes from identifying a problem in your results and accepting the challenge of improving that result. Then repeating the process relentlessly.

Thursday 29 December 2011

I'm just fixing bugs...

The product I work on is a large ERP-style application. It's been around for over 10 years and whilst it is a world class product, it has built up a bit of baggage over time. I'm talking about large numbers of bugs & feature requests. While it would be nice to always spend your day breaking new ground and solving new & interesting problems, unfortunately our current reality doesn't allow for that - those bugs aren't gonna fix themselves.

In an attempt to inject a bit of passion, perspective and (alliteration don't fail me now) a public paroxysm of praise, my fellow Skunkworks members introduced a monthly Showcase Session involving the entire R&D team for the product (~45 people). The core idea of the Showcase is that anyone from the team is welcome and encouraged to do a short presentation (5-10 mins) on anything new, interesting or exciting that they've been working on (or are about to work on).

I've now been running these for about six months and feedback I've received indicates that the team really finds these sessions valuable and interesting. The difficulty I now face is the struggle to find people to volunteer. A bit of a pattern is already emerging with The Usual Suspects being relied upon to step up (and I'm extremely grateful that they do). A bit of prodding for people who I thought perhaps were waiting for that slight shove into the dance floor before they bust out a big move instead resulted in a comment that kind of floored me: "I'm just fixing bugs - I don't really have anything interesting to talk about".

As I said, this kind of floored me until I remembered that perception is reality. The developers were seeing a series of bugs pass by their door like cans on a conveyor-belt. Individually the bugs may be small annoyances, but put together they have the potential to give the perception to users that our product is... not so good. When your day is spent getting the next fix out the door as soon as possible, it can be hard to look at the big picture of what you've been doing and then realise, "this will actually make a difference to our users". The edges are being smoothed, the polish applied and the overall user experience improved.


So I think I've found myself a topic to present at the next Showcase Session, and until then will continue to fight the good fight to inspire the team to show-off their work and gain some recognition.

Wednesday 21 December 2011

YOW! Brisbane

I recently had the opportunity to attend two days of the YOW! conference in Brisbane. WTF is YOW!? Essentially, it's a conference by developers, for developers (as per their by-line). The great thing that I like about this conference is all the things that it's not: it's not vendor specific; it's not technology or language specific; nor is it job-function specific. If you have pretty much anything to do with the SDLC, you'll (probably) find something to interest you here.

Beyond hearing about new/experimental features of your favourite language and weird side-projects that people have done in their spare time (perl can go back in time?), it was also fascinating to see just how much development is going on in the Brisbane community - it appears to be genuinely thriving.

Highlights for me included:
  • Continuous Delivery by Jez Humble and Martin Fowler
  • 60 Years of Innovative & Agile Work by Nigel Dalton
  • Why We Need Architects (and Architecture) on Agile Projects by Rebecca Wirfs-Brock
  • Product Engineering by Mike Lee
  • Augmented Reality is the UI for Pervasive Computing by Rob Manson
  • Domain-Driven Design for RESTful Systems by Jim Webber
  • Asynchrony in C# 5: Deep Dive by Joe Albahari
  • .NET Performance and Concurrency by Joel Pobar and Patrick Cooney
Roll on next year's YOW!

Monday 19 December 2011

It's alive!

This blog is what it says on the tin. A place to add and collate knowledge relating to the art and science of software development: links to useful bits & pieces; and my own notes on technology, teams, agile, patterns & practices.

To be continued...