How to rid the world of all bugs

…And Now for Something Completely Different…

How to rid the world of all bugs? It’s easy!

1. Become acknowledged software testing expert

2. Develop a new method for finding bugs

3. Wait until the software testing world really starts to take notice of you

4. Jolly well tell them what to do

5. Make sure they get everything right (processes, standards)

6. There will never be bugs any more!

Bye-Bye,

P.S. Monty Python – How to do it

Discussions on Twitter (I)

Saturday night (Finnish time) I witnessed interesting discussion about testing between Michael Bolton, Iain McCowatt and Pete Walen on Twitter. They were discussing on how people can’t distinguish good and not so good testing. At one point discussion was dying and I jumped in as I felt there was more to juice from it. I took screenshots of the discussion, but be aware that some tweets are missing as I felt that to make the flow of discussion more balanced, I needed to modify it little bit.

Here we go:

At this point it seemed that the discussion was dying and I wanted to see it continue as I found this subject highly interesting.

After this I tried to forward discussion on different direction. I wanted to think more about the big picture and trying to figure out why and who we are really testing for.

After this I went to sleep and continued next day the discussion with Michael Bolton with few tweets. Here are just few of those that I found most interesting. If you are interested all of them, go to my Twitter profile :)

 

Final words

When I was talking about making money (or profit), I was trying to explain that if the company goes to bankruptcy, there is nothing to test. So the focus should be on how we can by any means available shape the product via testing so that it helps (sell, perform, making profit, whatever you call it) our company.

Actually this is more of a statement: “Anything that distracts or blocks us doing the testing in the way we see it done optimally, is not just hurting our testing, but in the end, our company and its ability to survive. ”

P.S. Thanks for Rosie Sherry for the tip of adding tweets to blog post.

P.P.S If you are wondering the ‘(I)’ after the topic, that’s a Roman numeral referring to that this will not be the last post about discussions on Twitter.

 

 

What we can learn from Russell L. Ackoff

Ilari Henrik Aegerter recently wrote a blog post about great Osamu Tezuka and what we can learn from him. It was an interesting description of a man that resembles of what I consider to be as expert. Key point being regular practice. I want to now make similar post of a man I think deserves one.

Russell Ackoff at Washington University in St. Louis, May 1993 (Creative Commons Attribution-Share Alike 2.5 Generic)

I myself recently saw a Youtube video of Russell L. Ackoff, whom I had not heard of until
then (I want to thank you Bob Marshall for accidentally leading me to Russell L. Ackoff. It was his tweet that mentioned Ackoff.). Now I regret that I have not heard of him before. I immediately watched some more videos of him and ordered a book for my Kindle. I’ve been now reading the book, thinking the things he described in those videos and I wanted to write a blog post that introduces Russell L. Ackoff for others too. In case you have not heard of him before. I will introduce him through few of his f-laws and what I learned from his videos in Youtube (I highly recommend you to watch those videos).

Who is Russell L. Ackoff?

You can read about Russell L. Ackoff from Wikipedia. Specifically his biography and career. I want to though add here a description from the book ‘Systems Thinking for Curious Managers: With 40 New Management f-Laws’. The description is written by his long time friend and business partner Jamshid Gharajedaghi. He says:

Talking about Russ Ackoff is not an easy proposition. His uniqueness and multidimensionality defies conventional wisdom. He was forceful and yet kind; caring but not compromising; fearsome but dependable. For me, he was the epitome of wholeness, bringing complementary opposites into a harmonious whole.

Jamshid also adds later that,

For Russ, choice is at the heart of human development, but choice without competence is meaningless. He exemplified a novel notion in political philosophy that considers colorlessness and the loss of individuality to be as threatening to social sanity as the tyranny of the majority.

Russell L. Ackoff sadly died 29th of October, 2009. That does not mean though that his legacy will not touch our lives now and in the future. As far as I think, it should touch, a lot.

Let us look into some of the ideas he presented via f-laws and his talks.

Systems thinking

Russell L. Ackoff is considered as a pioneer in systems thinking (among others e.g. operations research and management science). Quote that strike me the most on his video that led me writing this post was:

System is not a sum of the behavior of its parts, it’s the product of their interactions.

He was referring to programs of improvement that concentrate on improving the parts separately. According to Ackoff:

If we have system of an improvement, that’s directed at improving the parts taken separately. You can be absolutely sure that the performance of a whole will not be improved.

He uses few examples in his videos and I recommend again that you watch them. I think most of us face in our daily work all kinds of improvement programs that are specifically directed to improving the parts. Like raising the amount of test cases executed, improving the test coverage or perhaps decreasing the time spent on fixing the bugs. You can argue if any of those metrics have any relevance with our work but even more ignorant is focusing on them separately and not thinking on what are the effects on the system as a whole.

Problem solving

Houston, we have a problem.

There is probably not a single person that has not heard this famous phrase (which was originally said as: “Houston, we’ve had a problem”, but was changed for a movie, Apollo 13).

But what is a problem actually? The Wikipedia defines it like this:

A problem is an obstacle, impediment, difficulty or challenge, or any situation that invites resolution; the resolution of which is recognized as a solution or contribution toward a known purpose or goal. A problem implies a desired outcome coupled with an apparent deficiency, doubt or inconsistency that prevents the outcome from taking place.

If we resolve a problem, are we really doing anything to ensure that it won’t happen again? We are actually not looking far enough if we are merely trying to resolve it. Instead if we look from the systems thinking point of view, we should aim at dissolving the problem. Ackoff’s 87. f-law (from the book Systems Thinking for Curious Managers: With 40 New Management f-Laws) states that ‘It is better to dissolve a problem than solve it‘. There is said that:

There are four ways of treating a problem – absolution, resolution, solution, and dissolution – and greatest of these is dissolution.

The description of the law continues on dissolving like this:

To dissolve a problem is to redesign the organisation that has the problem or its environment so the problem is eliminated and cannot reappear. An old Chinese proverb says that giving a hungry man a fish may solve his problem, but it will reoccur. Teaching him how to catch a fish can dissolve his problem.

Before you can absolve, resolve, solve or dissolve anything, it should be noted that problems are based on subjective construct. What problem is to us, is not most often the same as it is to someone else. On the same book 119. f-law says that ‘Problems are not objects of experience but mental constructs extracted from it by analysis.‘. The law is described in more detail like this:

Problems are abstractions. What managers actually experience are messes, which are complex systems of interacting problems. Problems are to messes what atoms are to desks. We experience desks, not the atoms they are made of; we experience messes, not the problems they are made of.

No problem can be solved without affecting others in the system of which it is a part, usually without exacerbating them. A solution to a problem taken separately can create a much more serious problem than the problem solved.

If you want to (dis)solve the problem you need to understand how (dis)solving the problem will affect the system and what the problem really is. Gathering the mental constructs of several people with different mindsets will gain you more understanding of what you are dealing with. Ackoff’s 86. f-law (‘Viewing things differently is not a defect: it is an advantage‘) describes this similar subject stating:

It is only by viewing problems differently and evaluating those differences that the most effective treatments can be found.

Management

The book ‘Systems Thinking for Curious Managers: With 40 New Management f-Laws’ is obviously directed toward managers even though there are a lot of message to everyone else too. According to Ackoff the job of a manager is:

 To manage the interaction of subordinates (s)he has, not to manage their actions.

This sentence was from one of the talks if I remember right. As I understand it, managers should be concentrating on how to make the interactions between the parts of the system work for the purpose of the system itself. Focus should not be solely on what individuals are doing separately.

There is also discussion about metrics, which are talked a lot lately, mainly because they are used to achieve goals that serve no value in terms of the purpose of our existence (organizations). Ackoff’s 51. f-law ‘Managers who don’t know how to measure what they want settle for wanting what they can measure‘ is quite good example of this.

Ackoff also talked a lot about doing the right thing instead of doing things right. This is demonstrated in great way via 109. f-law ‘To managers an ounce of wisdom is worth a pound of understanding‘:

Information, knowledge and understanding enable us to do things right, to be efficient, but wisdom enables us to do the right things, to be effective. Science pursues data, information, knowledge and understanding: what is truth; but the humanities pursue wisdom: what is right.

What next?

I have just dived into the world of Russell L. Ackoff but already see many pieces of information that help me better understand how organizations work and how should we deal problems. Both are essential parts of my career as software testing consultant. As far as I am concentrating on learning more about testing, I also need to gain understanding how my work affects the system as a whole and how I can use that understanding in my advantage. Hopefully someday the knowledge turns into wisdom.

I wish that you will look into the work of Russell L. Ackoff and consider the things he has said and written. Also think of how his legacy affects your work and how you could be the one to make the difference by using that information.

I’ll try to do the same.