Posts Tagged ‘software’

How to become a better programmer

January 5, 2009

ride of into sunset

Life as a software consultant is pretty good. You come into a company, build an application or two, and once the project is over you climb back up onto your horse and ride off into the sunset.

* You aren’t asked to hang around.
* You don’t have to worry about any pesky bugs or support issues.
* You get to work on new greenfield projects.
* You often work with the companies best and brightest.

It’s great fun and life is pretty good.

It wasn’t until I stopped being a consultant however, and starting building and maintaining my own applications, that I realized I was missing out on a big opportunity for learning.

What you miss

When you build something, and then don’t stick around to maintain it, you are only watching half the movie. You don’t get to see how it ends.

* You miss out seeing where you got the design right – and where you got it wrong.

* You miss out on seeing which areas you tested well – and those not so well.

* You don’t get to see which features your customers love – and which ones they hate.

You basically miss out on all the great feedback that would tell you where you kicked butt, and where you screwed up. All of which would of course help you on your next project.

And that’s a shame.

So for those of you building apps and thinking about moving on – slow down.

See how the movie ends.

Your future customers will benefit from your broadened experience, and you will be stronger for it.

Advertisements

How to host a Bug Hunting Party – Part II

December 11, 2008

Last week, I showed you how to host your own Bug Hunting Party for developers. Well this week we hosted one for business, and while the feedback was completely different, both were valuable tools for improving the quality of our app.

Let me explain why having both outside developers and business trying to break your app is the best of both worlds.

Developers, developers

A lot of people think developers make poor testers. I think that’s rubbish. Some of the best testers I know are ace devs and I would pay cold hard cash to have these guys come and try to break my app. And that’s exactly what we did last week with stellar results.

You see outside developers (those not familiar with the business of your application) have great technical insight into the technology behind how your app is built. They will know what types of exploits you’ll face, what kind of validations you will need to do, and better yet be able to offer suggestions on how to handle any problems they find.

It’s like they are the security guards at the bank with the inside track.

mission-impossible

They also have the added luxury of not really knowing how your app works from the business side. That’s an advantage because they won’t necessary start trudging down the happy path. They will take detours. They will try and do things you never thought of. You can watch them, see where they struggle, and listen for things that are confusing or don’t make sense.

Taking care of business

Business users on the other hand brings an entirely different perspective to testing. They don’t care about technology per se. They care about whether the bloody things works!

As a developer, you can stare at your application for months on end, and not see the forest through the trees. Sit someone from business down however and they can tell you in about 30 secs the 10 things that are wrong with your front page. That’s why we always have business test.

And data. Boy do they know data. When you load up you application with production data, business can tell in an instant if things are working correctly. They have a feel and touch built up that only comes with experience.

You need em both

Of course the ultimate scenario for bug hunting is when you get both parties (developers and business) trying to break your app. Most teams focus on the business (which is the right thing to do) but don’t forget that outside developers can make fine testers too.

So if you’ve done a Bug Hunt with one side of the family tree but not the other, consider inviting both. Developers and business together each bring something different to testing applications, and together form a great one two punch for improving the quality of your application.

Happy hunting!

A special thanks to our hunters

Cameron Young
David Chamberlain
Bill Low
Arthur Tam (hunted)

bughunt2