Unfunctional Specifications

November 30, 2006

Are you ever astounded at the sheer amount of money wasted in IT? It grinds me to the core when I see inefficient processes, documentation for documentation’s sake, and mindblowingly large functional specifications.

They suck your life (and pockets) dry.

How many times have you seen functional specs containing literally thousands of nit-picky functional requirements that go something like this:

FR-GG-FASI93789353 : When user clicks “close” button, window will close.

FR-GG-FASI93789354 : When user clicks “reset” button, form fields FF1 FF3 FF5 FF6 will clear

I have two major issues with this:

  • I feel sorry for the poor buggers that have to write this crap
  • No func spec in the world, no matter how good, will beat a series of annotated screenshots, or wireframe prototype, or HTML prototype, or a flash prototype

I’ve learnt the hard way over the years. Days and days of blood, sweat and tears producing beautiful looking func specs, only to see them shoved in the bottom drawer, and that become irrelevant anyway since as you build the systems, it’s only then you notice how they will “pull together”.

Don’t get me wrong, documentation is extremely important, but it should live and breathe as you build up your solution. Give the reader enough to understand what outcome is trying to be achieved, and give them pointers to the right places in the code. Don’t faff around with endless streams of meaninglessly numbered functional statements.  They don’t tell a story.  There is usually little context.

The winner above all winners is to simply sit alongside the business, day in and day out. Show them your stuff as you knock it up. Talk. Talk. Talk. Talk.

And talk some more.

“Oh, but we’ve got to do it to keep the auditors happy!”, says government department developer.

“Bollocks!”, that’s what I say. “Who’s money are you spending?”

Turning Failure Into Success

November 28, 2006

We had an instance at work where we kinda screwed up. It wasn’t a major. Just a small breakdown in procedure.

 

Our customer was soon emailing asking what the hell went wrong and what we were gonna do it fix it. To which we promptly responded.

 

We were 100% honest with him, we owned up, and we told him about the small number of easy changes that we will implement (from both a technical and procedural perspective) to prevent this happening in future.

 

Outcome 1: Customer appreciated the timely response and the honesty. Customer was very happy with the service.

 

Outcome 2: We now have a more robust service.

 

Negative turned Positive.

 

It doesn’t pay to play smoke and mirrors. Own up, fix the change, get on with it. Don’t play the blame game.

 

Mistakes are bad, learning from them is brilliant.

The Annoying Devil

November 28, 2006

Thanks to Peter Cooper in the UK, I came across this brilliant take off of Trigger Happy TV.

Happy viewing (discretion is advised!)

link

In the Red Corner…

November 27, 2006

You can’t beat a good Google Fight.

Simple stuff.  (And an amazingly fun way to find the right words to seed your website with.)

Doing a search on a Silicon Welly theme I thought I’d pit PlanHQ against LetUseIt.  (see the big fight here)

Great stuff!  Kapow!

FlyBoy

November 27, 2006

FlightSimI’ve always wanted to be a pilot.   A test pilot.  The next Chuck Yeager.

This was brought to a crashing and brutal halt at the age of  seven, when I was told by my local GP that I was colourblind.  Red and green apparently.  No high flyer dreams for me then.

But not any more!  A trip down to my local Courtenay Central revealed we have a local flight simulator.

It’s not cheap at $125 for a quick 30 minute city flight (considering you can score a real one way to Auckland for as good as that) but it’s meant to be pretty authentic.

Ladies – it’s a great pressie for your boy who loves his toys.

Thrive

November 24, 2006

Thrive

I went to Thrive today. Some real good inspirational stuff. And a real lesson on how to stage an awesome event. Extremely professional.

The key messages I took home:

  • do what you love doing, and things will just happen
  • focus, focus, focus on what you are best at
  • never deviate from your beliefs
  • go with your gut instinct
  • work out where you want to go, but don’t neccessarily worry about how you’re gonna get there
  • get the right people, and you won’t need to worry about how to manage your staff
  • branding is massively important

I particularly enjoyed Gareth Morgan’s dig at his investment companies $240m customer, whom he refered to as a “right little shit!” And I also really enjoyed Michael Hill.

I’d thoroughly recommend it if they hold it again next year.

Have you ever bought a Rolls-Royce just so you can drive to the corner shop?

We run a number of web apps at my current company, and one of our apps is built in Java.

Now, this was about a couple of years ago, but we thought we’d give Java a shot as that’s what pretty much everyone else in Wellington (now Silicon Welly) appeared to be doing at the time, and the general business buzz was saying ‘Yay!’ What were we missing out on?

Turns out nothing much, in my opinion.

A couple of years on, and after dabbling in numerous other technologies I’m coming round to thinking that building a web app using Java is just too damn hard. It just appears to be total over-engineering. Call me daft. Call me stupid. It’s just too slow to get anything done.

Now I know this will spark off truck loads of debate, but c’mon – look at the alternatives out there:

  • PHP
  • ASP .Net
  • Perl/CGI
  • Ruby on Rails (Hooray!)
  • Oracle & Apache ModPlsql
  • (dare I even say it) Cold Fusion

I’d be placing my money on Rails where Web Apps are concerned. It’s fun. And it seems quite easy. That, combined with presentation frameworks such as Prototype.js, Scriptaculous (prototype extension), and MooFX. The great thing about all of these is that you can be up and running writing 95% of what you need in a matter of hours. Sure, you need some nous, but at least you don’t need a PhD in rocket science (which, incidentally, I as good as have!)
I’ve mucked around with all the above and built real simple web apps in a matter of hours. From scratch. Whenever I’ve asked (even supposedly experienced) Java developers to do similar things it oftens takes days, maybe even a couple of weeks.

Is it just me? Am I a technical moron? Or do others think that Java is just overkill? It just has to be simpler.

Technology for technology’s sake? Following the masses? Try this: KISSKeep It Simple Stupid

UPDATE 24/11/2006

A beery chat with an old friend reveals another viewpoint – “It’s not JAVA that’s the problem – it’s the people that code JAVA.  They like to make it as complicated as possible!”

Sigh.