Jon Bach, Quardev
Can complexity be made simple?
Webster’s definition: “Something complex” or “The quality or state of being complex.” Look up “complex” and you get “hard to separate, analyze or solve”.
This defines a lot of what software testing sometimes feels like to me, and after some research with colleagues, I find I am not alone.
To study this further, I enlisted the Weekend Tester (India) crew last week (http://weekendtesting.com/archives/1031) to have them test what I thought was a complex application: Mifos, a microfinancing application by the Grameen Foundation.
I gave them this charter: Read their new user manual – http://en.flossmanuals.net/bin/view/Mifos/WebHome. Using this manual, read the welcome (http://en.flossmanuals.net/bin/view/Mifos/Welcome) to learn a bit about the purpose of Mifos and pick one of the following sections, then test the application to discover new bugs, usability improvements and user manual improvements
I wanted to discuss the notion of the product’s complexity in the debrief. But what I didn’t account for was that the conversation was heightened by the fact that we used a very SIMPLE supporting application to collaborate our test notes in real time (www.typewith.me). This application was SO simple that it provided a nice contrast to Mifos and spurred some great conversation, leading me to conclude the following:
Complexity means too many factors to handle at once. One tester said: “I stopped reading the manual because there was too much to read (too complex). I felt I had to try the product to get context then re-read the manual. It was only at that stage that I could read the manual in detail to find issues with the wording, etc. I found the manual was non-technical, and I needed some technical content to understand how to enter data in the fields – e.g. the limits of the fields, or field types, or basic date rules.”
Complexity means being overwhelmed — having too little time to process information. “The manual was too complex, but not the wording. It was written in a very basic way. It was just too much too soon. My brain was not prepared to read all that information. I had to try to learn it quickly in increments. That meant doing about 3 passes over the manual, as I was learning the data entry form.”
Complexity is the inability (or desire) to distill or simplify information: “If we model at each level or state, then we improve our level of understanding, and the depth of confidence with complexity. It’s just like a baseball game: you move from base to base, eventually scoring a run. Modeling helps us find a safe place when looking at complex pieces.”
Complexity depends on the emotional relationship with the object of study: Whether it be confidence, safety, or familiarity, said a tester, “You have to acknowledge the level of detail you are at, and move between your ‘safe zone’ and the complex zone. There is always a level you are confident with. If you freak out, then go back to your ‘safe place’ and start again.
With this paper, I intend to share how these 4 ideas can be explored to make something that may seem complex be more simple.
2010 Technical Paper, Jon Bach, Abstract, Paper, Slides