Monday, December 20, 2010

All the cool kids do Agile …

Agile software development is the big thing at the moment. Looking through the end of year reports for the year, there has been huge growth in the use of Agile processes.

At my company, there has been a huge drive to develop an Agile solutions team, which our boss feels is the best in the country.

I've been spending the last year trying to read up – having had a part Agile solution put on a last project. That project had some difficulties because there was an attempt to cherry pick some “Agile bits” and developers were saying things were “done” when they weren't tested or in a position to be tested (supposedly a big no-no).

Our boss is a great character, but I think without meaning to, has introduced a bit of a “them-and-us” feeling between the Agile team and the rest of us.

If we were in one of those dreadful teen movies, the Agile team would be the Cheerleaders must fawned on by the Principal, and the rest of us the Chess Club. Of course it doesn't help with comments like “that's just so not Agile” etc, it can feel a bit like they're a bit smug and “we're better than you”. Which I know isn't the case, as they're people I get on really well with individually … but all the same it does feel a common perception of the non-Agilers.

One of the problems I've found though with Agile is seeing the wood for the trees. Reading a book on Agile Testing I went through it and was “well about 80% of this is just good testing practices” - the kind you do and call yourself classic Waterfall.

And I suppose this is another of the issues – with Agile practitioners ring-fencing all the good practices as “this is Agile” it makes out if you're not Agile you're not following good practice, and hence some kind of cowboy. Which is a little unfair.

I'm actually very keen on a lot of what I've read about Agile and would love to see it close hand on a project.

But as a tester, I do have concerns. Or is it a suspicious mind? I've seen before ideas come into software for “magic bullets” to improve productivity and efficiency. They're usually good ideas too.

The problem is though these things are often oversold. What then gets taken on is good, but not really delivering all the sales pitch promised, and so good management wants to know why, and bad management want to blame.  And at the moment everyone wants to get on the Agile development bandwagon - it's a kind of Code Rush.

Here's hoping in 2011 I get to shake my pom-poms a bit ...

Thursday, December 16, 2010

Testing for Christmas 2010: Trends?

A thoroughly fascinating book is available free to download from the Software Testing Club …

“Book” might be stretching it – but it's a collection of question responses from different testers around the world.

Being stuck here in New Zealand, it's interesting to note certain trends around the world. It's sometimes noted that New Zealand can feel a bit stuck on the end of the world, and we're almost the last ones to feel any change shifting in the big players.

It's a mixed blessing as it means of course we rode the recession out a little smoother as well.

But certainly I think most of the major themes picked up by other testers are being felt here.

To summarise the trends seen overall,
  • Fighting corporation mentality that “anyone can do testing” - just give them some scripts and point them at what needs testing. You don't need to be skilled or experienced (oh the horror).
  • With the economy picking up, it's harder to retain good staff, as they move to better positions elsewhere.
  • An increasing trend to use Agile in software projects.
  • More development of CLOUD solutions (and the challenge of testing them).
  • Increased use of automation tools

Wednesday, December 15, 2010

Getting the right tools

There should be a saying “tools maketh the man” or woman (obviously). If your workman has the wrong tools, you know you've going to get a slap-dash job.

Same goes with testing.

Recently I moved into a house with an extensive sloping garden – which is all a bit new to me.

Going around my garden centre I knew a lawnmower would be unsuitable – I noticed two brands of item which both seemed to do the same thing – lawn trimmers and weed hackers.

They look similar – both have a cord that spins around at speed. Lawn trimmers cost $50, weed hackers £250.

No contest then – I went out to buy me a lawn trimmer.

Man it sucked – it took about 5 hours to do the garden in hour sprints. Exhausting – the cable kept breaking. Nightmare.

Then – and only then someone explained to me – a line trimmer has a 300W motor, a weed hacker a 1300W motor, and uses thicker cable. Tutting a bit, I bought a weed hacker – and to my surprise found I did the same in an hour as I did in 5!

We've all had this experience with our test tools too. There are a host of tools out there at different prices.

Often it seems management will look at a couple of tools, but always desire the one that's cheapest – understandable – I did the same with my “lawn solution”. But as I learned to my cost, it can be a false economy, underperforming and taking longer to use.

Freeware has it's place, and as a tester I'm happy that it's there to fall back on. Alas sometimes management seems not to understand why the stuff you download for free doesn't deliver the efficiency, features and performance of the stuff you pay for ...

Saturday, December 11, 2010

Yabber Dabber Don't

Social networks there's not yet been a way for the world of social networking and work to coexist peaceably. It seems every few months there's another news story about how someone's job has been affected by something they've said on Twitter or Facebook.

For the workplace the adoption of social networking type capabilities internally offer a powerful way to connect employees and allow them to share information.

However how do you use them correctly? I've seen this in my time using Yabber Dabber within E-Sys. A kind of internal forum solution, it allowed all us employees to share stories and expertise.

Problem was it was massively monitored by management. Their reaction a bit like that famous Monty Python sketch was,

“Stop this it's getting awfully silly”

For my part I found it useful to know it wasn't just me experiencing some difficulties getting things done. However I was unnerved to find my use of it being monitored one year as part of a review.

Soon we were all subject to sign up to a strict “code of conduct” which included a statement that we'd be penalised if any information on there was incorrect. So the inevitable happened – people just stopped using it – the risk of saying something management would deem incorrect, or might deem inappropriate became too much. So it failed.

Instead we all joined external forums which offered anonymity. And allowed us to talk without fear of recrimination from management. But it's a shame we couldn't make it work internally to make use of the knowledge of our peers.

Of course from a company perspective, if as employees we're in there being rude about customers, the competition, or anyone and the site is ever hacked making it public, it looks bad for the company. It's like that disclaimer at the front of any DVD “the opinions in the commentary are those of individuals and do not represent those of Warner Bros” etc.

So can internal company social networking work?

No. I don't think it can. To be successful there needs to be an atmosphere where employees can feel free to talk without recrimination – to speak and not be made to feel stupid. But employers also have a need to monitor to make sure people are being respectful and confidentiality isn't being compromised.

I don't feel these two things are mutually compatible. The only solution is to use anonymous facilities separate from the company which are moderated by third parties. Otherwise one or other interest will always be at play ...

Customer Reality

Well you just can't escape from reality TV – two favourites in this household are Tabetha's Salon Takeover and anything with Gordon Ramsay.

And yes there is a point coming up here!

All these shows at their heart are worth catching. Even for someone like me, who has never cut anyone's hair before.

Why? Because they're about managing people, and managing your customer's expectations.

The best one to single out really is Mr Ramsay. When I first watched his show I was dismayed – he's usually shouting obscenities to his staff, threatening them. It's ugly.

Then I watched again.

Gordon in shows such as Hell's Kitchen is often running a restaurant which his name goes on. And the thing that pushes his angry buttons usually involves poor food about to leave for a customer.

Why is that? Every plate that leaves his kitchen is basically carrying his reputation. If it arrives late, it reflects on him.  If it's wrong or undercooked, it reflects on him. And when it gets sent back it makes his service look poor.

But even worse is if people receive substandard service, and they say nothing. They just pay up and leave. That's the worst scenario – because that kind of customer never comes back, and what's more they tell their friends how poor the service was, and they stay away. A bad service can destroy a reputation that's been years in the making.

The same's true of hairdressing or IT – any service industry. You may have a grand old history, but you're only as good as today's service.

That's why you check what you're sending out before it gets to the customer. Rigorously.

Of course Gordon Ramsays man-management skills could do with a lot of work, especially if he ever moves into IT. But his dedication to quality – that's spot on.

Friday, December 10, 2010

So what is software testing?

Many years ago I had to sit a formal exam board course and examination for Foundation Level testing.  By that point I'd already been working in testing for a few years. It was a chance to “formalise” my knowledge, examine the theory, and get a shiny certification out of it.

Pretty much on the first day we were asked as an open question “what is the purpose of testing?”.  It's a good question to keep asking yourself.  Of course this means in my first two posts I've tackled "who am I" and "why are we here"

But what is the purpose of testing?  There were lots of good answers that came from around the room to this question. However it was a leading question – to get the marks from the exam board you had to answer this as “to find defects”.

I had issues with this, in fact I still do have issues with this. Partly as this adds to the idea that a software tester isn't working unless (s)he's breaking something. Not true.

My answer to this question, which I stand by today is “the purpose of software testing is to prove that the product is fit for purpose”. Of course along the way to achieving this, you're going to find errors, defects, deviations – call them what you will.

If we say our Prime Directive is to find bugs it kind of makes us out to be Captain Ahabs all going out looking to hunt down the biggest defect. It also adds to the stereotype that testers are just trying to make developers and business analysts (BA) – the people who build and design the system – look bad.

Not so. As a tester we're part of a team – it's our job to make developers and BA's look good. By showing they've delivered a product that meets it's design, is robust and usable.

When software goes live, no-one really cares that if had defects, they care that those defects are fixed and the customer won't see them, and nothing is outstanding for the customer to discover. 

Testing is there so that the customer doesn't lose faith in the software they purchased and in those that made it. It helps to ensure that the customer will want to do business again with us.

This is what testing ensures in any piece of software ...  This is "why we are here".

At least from a software engineering point of view.

Who am I?

I am a software tester!

It actually feels a bit like a first meeting of Alcoholics Anonymous to say that. You expect to almost be part of a support circle “I have been a tester for 10 years, and I just can't help myself when it comes to breaking software”.

Of course being a tester is more than “breaking software”. To me it's a job I really enjoy, and so something I wanted to try and write down some of my thoughts about.

Yes – if I were to win the lottery, I'd still want to work within software testing – but it'd be nice to not have to do it for the cheque. Of course the odds of winning the lottery would go up dramatically if I actually bought a ticket.