A list of questions to ask, by Michal Bolton, prompted me to write about assumptions. Most of these ideas come from doing the ‘dropping a calculator’ exercise with James Bach.
Why do we need to make assumptions ?
Asking questions is very good, but in some cases we can not get the answers. There could be different reasons :
- There is no-one to ask from – assignment arrived in mail.
- The client does not know the answers.
- The client is busy and will answer in few days (hopefully)
Now, as we all know, making reckless assumptions is bad, but in order to not to waste valuable time, we should start testing right away. But how to avoid the problems with false assumptions? After all, even if we do get answers, some of those are ambiguous, some false, and some questions we forget to ask. Thus we cannot escape making assumptions.
What to do with the assumptions ?
As MB said in the comments: “… sometimes stating an assumption is a very useful proxy for asking a question.”
We should write them down in any way that counts, to make them visible to those who might correct us :
- E-mail them to your client
- Put them up in internal wiki/forum
- Put them into the Test Plan
But how does that help ?
There are several very good reasons for publishing your assumptions :
- People are not mind-readers, they cannot correct you if they do not know what you assume.
- People can (and usually will) correct you sooner
- Protecting one from accusation of testing the unneccessary areas
- Protecting one from accusation of not testing the critical areas
Which assumptions to ‘state’ ?
Surely, all of them would be the best approach. Alas, that might not be practical for all sort of reasons. Impossibility being one of them. Therefore we need to make a choice and for that we need to analyze the assumptions. All of them share these aspects:
- Probability – how likely the assumption is to be true (or false)
- Impact – what would happen if the assumption would turn out to be false
- Context – You are making the assumption in a certain context, depending on your knowledge and experience. What if someone important would make a different assumption?
By assessing these aspect one can make an educated choice.
So, are we now done with them ?
No! They need to be revisited – importance assessed, corrected if necessary, communicated again, etc. They are valuable tools for provoking answers, but only if used wisely.