Tuesday, 2 June 2009

Simplify, Simplify, Simplify!

#softwaretesting

History is an amazing resource from which to learn. There is a principle originating in the 14th century that can help us when reviewing documentation - whether requirements, user guides, test documentation or whatever else.

Occam's priniciple of simplification (also known as Occam's razor) is something we need to see more in today's software testing circles... It's something I apply to descriptions, specifications and guides.

I think of it as the medieval KISS (keep it simple stupid) - or maybe just KIS (to use the simplification principle.)

Essentially it means removing duplications in the language - this is done by breaking something down into its component parts and removing the duplications (or even the parts that are not necessary.)

It's this act of analysis (whether there are duplications or not) that gives us the simplification/clarification - so it's almost an indirect use of Occam's razor.

A typical example would be to break a convoluted requirement into 2 (or more) requirements - breaking it down into it's constituent parts/requirements. Remember one of the earliest steps in a testing phase is to inspect/review the input documentation...

So, the next time you see fuzzy requirements or some other fluffy descriptions you can calmy tell the author/review-circle that you're invoking one of the following (make sure they know this is slightly tongue-in-cheek):-
  1. a 14th century priciple
  2. the law of parsimony
  3. Occam's razor

Where once we had "education, education, education" - then "location, location, location" - Occam gives us "simplify, simplify, simplify" - at least indirectly!

No comments:

Post a Comment