Jon Bach Accepted to Speak at PNSQC
Jon Bach's paper, "Turning Complexity into Simplicity: an experience report" was accepted for inclusion in the 2010 Pacific Northwest Software Quality Conference to be held in Portland October 18-20th.
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, and after some research with colleagues, we find we are not alone.
To study this further, we enlisted the Weekend Tester (India) crew recently (http://weekendtesting.com/archives/1031) to have them test what we thought was a complex application: Mifos, a microfinancing application by the Grameen Foundation.
We 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 and test the application to discover new bugs, usability improvements, and user manual improvements
We wanted to discuss the notion of complexity. But what we didn't account for was that the conversation was heightened by the fact that everyone participating used a very SIMPLE application to collaborate test notes (www.typewithme.com). This application was so simple and easy to use 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 - eg. 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, and you move from base to base, eventually scoring a run." Modelling 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.
This talk will elaborate more on those dynamics and how complex things can be made simple, and simple things be made more complex.