Bloggo back to the blog
An Interview with Michael Bolton-->
We are lucky enough to have an interview with Michael Bolton below – hope you enjoy it!
– How did you get involved with testing initially?
Like all children, I was born a tester. Alas, many of us seem to have the testing instinct suppressed by parents and school systems. I was lucky enough to have parents who encouraged me to ask questions and to seek answers, and I was equally lucky to have several teachers who allowed me to explore and investigate the things that interested me. When I began programming for money, around 1988, I quickly found myself in a humbling position. I discovered that if I wanted my programs to work for other people, I had to test. One kind of testing-confirming my own expectations and getting agreeable results from the computer-was relatively straightforward. A second kind of testing was much harder-exploring and investigating the program and the problem space to discover whether my programs were actually solving problems for my clients. I think people are still wresting with that kind of testing today.
While working for Quarterdeck in the early 1990s, I was seconded to the testing department to assist with the development of DESQview X, a product that turned DOS and Windows into X Window clients, so that you could sit at any workstation in the organization and run any kind of program-Unix, Windows, DOS, or whatever you liked. From there I became a program manager, the person who decided what went into the box, and who made sure it went in at the level of quality required by the company. I was responsible for QEMM, DESQview, and CleanSweep, all of which were best-sellers. Quarterdeck was very advanced; it ran itself into the ground in an Internet play, fully three years before it was fashionable to do that. I jumped off the ship just before it was sold for scrap. When I left the company, I became an independent consultant, writer, and teacher, and have been ever since.
– What has been the most challenging test project in your career to date?
Every project has different challenges, and each one requires testers to learn something new. Sometimes the challenge is in finding information quickly; sometimes it’s in helping the client understand the extents and limits of testing; and sometimes it’s in developing the means of discovering problems quickly and effectively. One of my favourite challenges was developing a test oracle in the form of an Excel application that would rapidly produce an answer for comparison with a huge banking system. Absolutely everyone on the project was convinced that such a thing wasn’t possible, but fortunately I was resourceful, lucky, and stubborn enough to see it through. The best thing about it was that I learned a ton in the process. Array formulas are really cool, and I had to learn for myself how to do Boolean operations (ANDs, NOTs, ORs, and XORs) independently because of bugs in Excel’s built-in functions. That learning was really exciting.
– What has been the most interesting/unique test project/activity you have been a part of? And why?
For a few weeks just before my daughter was born, I worked on a project that was a total disaster. It was an organization with “can-do” management. “Failure was not an option”, they said-so apparently it was mandatory. It was fascinating to watch how the people running the project remained deliberately and desperately oblivious to the results that testing had clearly showed all the way along-that the project was in deep, deep trouble from the outset. Eventually-almost a year after I left-the project got deployed roughly two years behind the original estimate and was charged with a $30 million loss. That resulted in the disassembly of an entire IT organization. At the time it felt pretty uncomfortable, but on the principle that we learn from failure, working on this project was like getting a doctoral degree.
– What changes have you seen take place in testing over the past 5 – 10 years?
The most encouraging thing that I’ve seen is a growing acknowledgement that testing is far more than just a process of confirmation, verification, and validation. Excellent testing isn’t about relentlessly revisiting what we already know; it’s about exploring, discovering, investigating, and learning. The Agile movement’s focus on programmer testing has helped to move the confirmatory work back to the programmers, which helps to shorten the feedback loops and to produce higher-quality code. That allows testers to focus on extending what we know about the product, rather than making sure that the same old tests still pass. Products are too complex and too risky to leave to mere checking, they have to be tested. I’ve written a fair deal about that on my blog recently (http://www.developsense.com/2009/08/testing-vs-checking.html, and the blog entries linked from it).
The other thing that is most interesting to me is the increasing recognition of the importance of context, and a decrease in the babble about standardization and “best practices”. We work on different products, in different domains, for different customers, with different people who have different skill sets. With all that diversity of product and of purpose and of people, there are no practices that are universally best, and it’s silly to insist that there are. If you look social and biological systems, maturity isn’t about doing what your parents tell you; it’s about independence and adaptability, having the skills and the wisdom to do what’s right in context.
Finally, we are at last seeing some widespread skepticism-at least within the testing community itself-about the value of bogus certification. Some certifiers have noble goals at heart, and others are more cynical, but I think that any question-and-answer-based certification that takes place without careful observation of how people actually test and how they report what they test has crippling limitations. It’s like a written driving exam. A very expensive and very uninformativewritten driving exam.
– Where do you feel testing as a profession is heading for in the future?
The Agile movement has rediscovered the idea that it just might be a good idea for programmers to think critically about their code and to check it rigourously. If that idea becomes widespread, my great hope is that the focus for testing will be on user experience and on value for our clients. That means that testers won’t be mere checkers; that we’ll be mandated to learn about the relationships between the product, the customer, and the problems that the customers want solved. Skilled testers need to understand all kinds of things about the business domain; about the ways in which people make decisions (and mistakes!); about the ways in which our products interact with other systems and with people; about programming and tool development; about critical thinking. In order to handle all that, we’ll need to develop rapid learning skills, and we’ll need to grab ideas from all kinds of disciplines, everything from economics to anthropology to music (yes, music) to medicine to art to cognitive neuroscience. Testing isn’t just computer science, and it isn’t just engineering. Those metaphors have been useful-still are to some degree-but in the long run, they may be too narrow and too stale for a world of ubiquitous software.
– When you are not working, what do you do to relax and unwind?
I play Irish traditional music on the mandolin. I’m tremendously lucky, because the Irish have travelled the world and planted pubs and the tunes all over the place. A Web site calledwww.thesession.org (run as a sideline by Jeremy Keith, a Web designer that someone should invite to EuroSTAR) makes it easy to find them. So I bring the mandolin with me in my suitcase, and after a day of teaching work or conference sessions, I often end up at an Irish pub, playing tunes with a bunch of new friends. I’ve been to sessions in Orlando, San Francisco, Phoenix, Minneapolis in the States. London. Wellington (New Zealand). Barcelona. No matter where I go, the tunes got there first, and they’re kind enough to introduce me to the people. It’s instant community.
I also love getting on my bicycle for exercise, and I read a lot. Not at the same time, mind you. These days I’m doing a lot of reading is about the history of science. It’s remarkable how much of what we see there is being recapitulated in testing.
– You have attended a number of EuroSTAR conferences, which was your favorite and why?
Well, you always remember your first. My talk in 2007, Why I Am Not (Yet) Certified was my first major keynote address, and it was a thrill to meet such a vibrant and active testing community in Stockholm that year. But winning the CapGemini Innovation Award and receiving the highest-rated feedback for Two Futures of Software Testing in 2008 in Den Haag was a wonderful occasion too. So they’re tied, top two out of two. I hope that they’ll have competition in my affections from the 2009 conference.
– Has testing become a career choice amongst IT Graduates/Professionals?
I don’t know. To me, it doesn’t look like it, though. That’s okay; as I suggested above, testing needs diversity above all else. We need social scientists at least as much as we need programmers in this business. Maybe more.
– What specific areas of testing do you find yourself most attracted to?
These days I’m becoming increasingly interested in user experience. User experience is a lot like testing; businesses are only just waking up to its importance, and we testers have a lot to learn from the user interaction and user experience communities. As I suggested earlier, I’m also interested in areas like cognitive neuroscience, psychology, and economics; how we value things, why we make the choices we do, and how easily we can be fooled.
– Who has been the greatest influence on your career? Why?
I met Cem Kaner in 1996, when he taught a session of his Black Box Software Testing course at Quarterdeck. James Bach has been an invaluable colleague, and I’ve been working with him since 2003, and as a co-author since 2006. James put me on to Jerry Weinberg and his work. All three of them have been absolutely focused on the idea that products and testing are there to serve people. All three of them speak and write directly to this idea.
There’s a fourth person that I should: I should also mention Ross Collard, who gave me my first opportunity to teach testing classes.
– Where is your favorite holiday destination?
Work has taken me all over the world. Standouts include Barcelona, Singapore, London, Stockholm, New Zealand, and India. I wish holidays had taken me to so many places. Spain and the Netherlands are two places where I’ve been able to bring with the family, so they top the list internationally. There’s an area within a couple of hours of Toronto, Prince Edward County, where friends have a cottage, and that’s another favourite since the family gets to go there too.
– If there was one piece of advice that you would give to an aspiring tester, what would it be?
Never get trapped by assuming that you’re limited to a single option.
– Who is your favorite band? And what is your favorite song?
I refuse to be trapped by assuming that I’m limited to a single option. I’m fond of XTC, Gomez, the Beatles, early Bruce Springsteen, and Irish traditional music. I’m a huge fan of Ry Cooder, too.
– Last question, what qualities do you feel are important in order to become a talented test professional?
Learning is available everywhere you look… and everywhere you don’t look too. So look around, and bring whatever you can to the craft. Testers need to focus not so much on correctness, but on what our clients value. So my nominees for important qualities are curiosity, independence of mind, the capacity for general systems thinking, and empathy.