The British House of Lords as a Testing Organisation

lords
Lords.  A British institution involved in Tests.

The British system of government is highly anachronistic, and nearly unique.  This post will cover a brief summary of the system, what’s unusual, and the surprising benefit that it gives.

How does the British Parliament[1] work to produce legislation?

There are two houses, the House of Commons (HOC) and the House of Lords (HL).

The UK has no “constitution” per se.  It has a body of laws and on top of that various parliamentary conventions (for example HL doesn’t usually get involved in budgetary legislation).

HOC creates all legislation.  If the legislation is passed (majority vote) within HOC,  it is then submitted to HL.  HL reviews the legislation and either passes it or kicks it back to HOC – typically with details of what they don’t like and why and suggestions for ways to make it better next time.

Two other side-notes on the process.

  • HOC isn’t required to make all (or any) of the changes that are suggested, and HL can keep rejecting legislation with markups, so in theory HOC/HL can end up at loggerheads.  However by convention HL pass any legislation third time round and in practice the loggerheads never happens[2].
  • Once passed by HL, the legislation is then submitted to the reigning monarch who can also veto anything.  Again to my knowledge this has never actually happened.

So, who makes up HOC and HL?

HOC consists of 650 MPs, who are voted for in general elections every 5 years.  It’s your normal, standard “vote for someone to represent your area” style democracy.

HL consists of around 825 people, who are a slightly odd crew, but mainly composed of people thought (or thought in the past) to be good at working out what’s good for the country.  The vast majority of them are “Life Peers” (700 or so out of 825) – they’re people from all over who’ve been added to HL for life as people with something useful to contribute.

So, we’ve got HOC trying to build stuff to their best interpretation of what the customers (the population) say they want, and HL, a separate organisation trying to pick apart the new stuff, spot the holes, find the unintended consequences, and where the interpretation of what the customer wants probably isn’t what the customer actually wants or needs.  And then passing back a bunch of bug reports and suggestions for making things better.  And steps have been taken to make sure that (a) the HL team can’t be directly pressured by HOC (separate chambers) or the customer (no re-election) and (b) they provide information as a service to the HOC team, rather than owning the release schedule or having control over what exact product is shipped and when.  That sounds like an organisation with a strong independent test team.  Huh.

So a final random political thought here at the end.  There’s some debate in the UK about how to reform or abolish HL.  I’ll not weigh in on that debate, but as I see it, the key benefit we get from the HL is their role as an independent test organisation – which is enabled by having a bunch of people who by their decisions cannot affect their re-election – thus freeing them to make decisions for the long term benefit of the country as they see it[3].  The interesting thing to my mind is how you go about carefully choosing people to join that group and how exactly the interactions work between the expert testers and the dev team to ensure that the customer ends up with a good product that they’re hapy with short and long term!

 

 

========

Footnotes

[1] I’ve used the horrible Americanism “British” to label the process of lawmaking in Westminster.  In doing so, I’ve glossed over the various national assemblies, the excitement and confusion involved with Britain, The United Kingdom, Wales, etc.  For a fun diversion into the start of just how complicated this gets, check here for an explanation of the various countries that make up the UK.

[2] There are a couple of other conventions about what HL does and does not comment on and when they step out of the way.  I’m not going to cover details here as it’s complicated and I’m sure I don’t know all of them – and it doesn’t really affect the point I’m trying to make in this post.

[3] An example of what happens if you don’t have that independence:  The US houses of Senate and Congress (modelled on the original British system but made more democratic – more voting is good, right?) manages to add all the complication of an additional house while wrecking the main benefit from the British system by requiring re-election of their testers every few years).

Testing thoughts from the back of a Yoga class

Untitled.png
The closest I could find to a picture of me doing Yoga

I do yoga, as an enthusiastic amateur.  The main weekly class that I go to can best be described as “the basics, really well”.  Think of it as the equivalent of a concert pianist practicing their scales – basic stuff for them but the foundation of a good technique. Just doing scales and arpeggios isn’t going to make you a concert pianist, but in order to be one, you’d better be prepared to understand and be really good at your scales and arpeggios.  So the yoga class is an open class with a mix of newbies and people who are very very good, but with a focus on doing the basics right.  The teacher, Nadia Narain, is excellent, especially for a geek like me; for the asana practice (the physical poses part of yoga) she puts a lot of effort into explaining exactly what’s going on with your body in each pose and what the core point of a pose is, rather than just telling the class what position to put their arms and legs in (effectively talking about the requirements behind the pose, not the specification).

It took me a couple of years to realise that a lot of the adjustments that Nadia and her assistants are actually doing on the good people in the class are actually pulling people out of deep poses – to stop them from enthusiastically (almost competitively) doing what they think the pose is about, not what it’s actually about.

A simple example – Janusirsasana (Head to Knee Pose) is a twist and stretch pose, tightening various core muscles, aligning and tilting your pelvis, stretching your hamstring and creating space in your back. If you’ve been doing a lot of yoga, for a long time, you might end up with your head in the vicinity of your knee – hence the name.  Or once you’ve done a bit of flexibility work, you can curl around like a letter “d”on it’s side and whack your head on your knee, stretching your hamstring, but missing the core points of the pose and stretching and wrecking your upper back into the bargain, while performing a literal head-to-knee pose.

And the thing I eventually realised here is that these aren’t people who are bad at yoga, or have bad teachers – these are good students (most of them far above where I’ll ever be) who are trying to do good work.  Instead, it’s a weekly reminder of some everyday truisms that apply all over, that we often forget, and that are especially important to remember when testing:

  • What everyone sees and talks about isn’t necessarily the interesting thing that’s going on.
  • What appears to be the obvious point or rationale of something isn’t necessarily what’s going on.
  • Everyone (customers, users, developers, testers, whoever) will all enthusiastically do what they think they’re meant to be doing without asking.

So next time you’re deep into some testing, don’t forget to occasionally back out of the pose a little and ask yourself what you’re actually trying to achieve.

 

 

Save

Testing and Cooking

heston
A tester

This post was triggered by thoughts following on from a Michael Bolton tweet and blog post making analogies to explain that test cases are not tests.

The analogy (a test case is like a recipe, and the testing you’re doing is the cooking) is interesting in that it helped me realise why people often love test cases so much.

 

As a student, I used to cook without recipes.  And the food we made was.. edible.  And we didn’t know better (and besides we didn’t have much to spend on the ingredients).  Then as a graduate in my first job, being paid real money and everything, I discovered (a) more complex ingredients and (b) cookery books.  For geeks.  With detailed recipes and everything.  And I loved it.  My results when cooking were much tastier, and crucially I discovered the more detailed and precise the recipe, the better the result.   I craved detail and precision – and my results were better for it.

My wife is an excellent cook.  She knows what she’s doing, how flavours work together, and her sense of taste is exceptional.   When she cooks from recipes, she doesn’t care about the great detail.  She’ll start on the recipe – and then substitute half the ingredients, swap all the timings around and end up with something technically different, but that tastes way better.

I can’t replicate what she does, even when I used to write down all the tweaks she made, because what she’s doing is cooking – reacting and working with what’s happening in real time – nailing that down and turning what she did into a detailed recipe and repeating that makes things worse – because so many other things are going on that aren’t written down.

 

And that, I think, mirrors into testing.  CDT testers have developed an allergic reaction to test cases (detailed recipes), and that’s a good discussion to have and way to think for people who are already basically competent cooks and can be freed from the recipes into thinking for themselves.  (Now I’ve got some reasonable cookery skills, my cooking has improved significantly since I’ve stopped worrying so much about the details of the recipe.)  However, for people starting out, the reverse is true.  Following a nicely well constrained test case gives demonstratably better results than them fumbling around in the darkness, and so they react badly to people telling them that contrary to their personal experience, the reverse is true.  Instead of telling them “recipes are bad”, we need to tell them that recipes are ok to enable them to start their journey to become a good cook – but that following a recipe by rote does not make them a cook, or improve their cooking skills.  We also need to help teach them the skills of cooking and encourage them to explore around their recipes and onwards, so they can take pointers from recipes and do their own thing.

 

 

Book: Turn the Ship Around

turntheshiparound
I’d say “No ships were harmed in the making of this book”, but I’m not actually sure if that’s true.

This is a book about management (we read it in our management book club at work), rather than testing.  I found it first pulled out clearly a lot of vague thoughts I’d been having about how to develop bright people (or more truthfully enable them to develop themselves), and ways to ancourage people to safely pull delegation of responsibility in an organisation with quite strong management lines and a strong reputation and focus for delivery.  It then blew me a way as a demonstration of how much farther you can go than I’d been thinking.  It’s part biography of life on a submarine – which helps keep you reading – and part briefing on the take home lessons.

One of the things I liked most about it was that it is the author‘s description of a journey, and what he and others tried and didn’t try, why they did so, what did and didn’t work, and what they learned at each step – rather than a presentation of “Here’s the answer we got to, listen to me, I’m amazing.”, which many management books seem to be.

If like me, you’re trying to balance a passion for people development within an organisation with a strong reputation and focus for delivery, I thoroughly recommend this book as a demonstration and tool to let you deliver on both without compromise.

 

Review any test plan or specification in 5 minutes

 

5minutes

In the same way that automation tools don’t replace testing – the advice in this post shouldn’t replace proper reviewing.  However, I recently realised that there are a bunch of standard mechanical things that I check for when reviewing, which are fast and easy to check and add good value.  I rate them highly as things to do when you’re reviewing – and even better, when you’re creating such items in the first place.

  • Eradicate weasel words.  Should, probably, negligible, perhaps, mostly, and their friends.  These are often hints that whoever wrote this doesn’t know for sure and is kinda hoping it’s going to be ok.    It’s absolutely fine when writing a spec/plan/whatever to say you don’t know (or don’t care) what the behavior is going to be in a particular situation.  Call it out. Give others a chance to tell you that it does matter to them.  Using the weasel words just gives you a chance of sneaking a bug past your reviewers.
  • Check the perf section.  And the diags section.  And the security section.  And any other standard template sections that aren’t “function”, and where people can often write try to get away with writing variations upon the theme of “it’ll all be fine”.  Often you’ll catch these with the weasel word check above.  But also, ask the question, is it actually fine?  Really?  What about…?  Speaking of which…
  • Ask why.  Skim through and find any unsupported claims about function, about what customer use cases are, about how this will work in the field, about what’s reasonable behavior.  And ask why.
  • Ask why not.  Quickly shove any claims (supported or unsupported) that we don’t need to worry about X, Y, Z under the microscope.  Do they hold.  Will they hold in the future?  Who might care?

Finally, a note on sending the feedback.  Be nice.  All of the above find issues basically because they’re levering open bits of work where people may not have done all the thinking they needed to.  You’re spending very little time and effort, but for the person who’s work you’re reviewing, they may need to spend a lot of hard thinking and time to fix the holes in something they previously hoped was close to done.  That can be a little demoralizing, especially if someone sees how little time and effort you spent uncovering that load more work for them.

On the other hand – no need to keep the list above secret.  I expect many people who’ve had me review their output to recognise something similar to that list above.  Tell people that’s what you’re doing, and they can do those checks themselves (and save both of you time and energy).  On that note, if you have any other similar checks that you run yourself that I haven’t mentioned, please share in the comments below.  I’d love to improve!

 

New Years Resolutions and OKRs

Computer The Business Key Online Success Keyboard
I searched, and this was my Key Result

New year is so often resolution time.  And it’s 15th January already, so it’s already about the time that the first of those resolutions start to drop by the wayside.

We’ve been trying Objectives and Key Results (OKR)s at my place of work (the link gives you a better summary and range of info than I can achieve here).  I’m still very new to these and learning, but I quickly realised that one of the strongest things about OKRs is the idea that you’re not trying to hit 100%.  Even if you’re not “doing OKRs” I’d recommend considering the idea of setting a bunch of goals where you’re not expecting to hit more than (say) 70% or so. Just by doing that, you win three things.

  • Ambition – you can shoot for things you don’t know you’ll be able to achieve.
  • Flexibility – you can dump things that turn out to be boring (in exchange for doing well on things that are fun and engaging).  Likewise you don’t have to keep working on polishing something after you’ve already got most of the value out of it.
  • Motivation –  100% resolutions are binary.  If you slip one thing, one day, you can’t get it back, and the pressure and motivation fall off.

 

(more…)

#30daysoftesting

MoT30days

A tester, or interested in testing, or learning and developing further – but not sure what to do or how?  The Ministry of Testing are running a “30 days of testing challenge” which has 30 straightforward and different things that you can do.

They range from the trivial to the complex, and they’re all differnt, but crucially they’re all straightforward, simple, achievable SMART objectives that you can knock off alongside your normal work – it’s “Do one thing” at it’s finest.

These are aimed to let you safely and easily explore outside your comfort zone.  If you do them all, I’m sure that you’ll find more than a few things that you’ll enjoy and do more of.

See the MoT Site for all the details.  Happy playing.