I’m well known for promoting philosophy. By philosopher, I mean someone skilled in the exploration, analysis and clarification of meaningful ideas and the processes by which we arrive at those ideas. Since software is made of ideas, that sounds like testing to me. So, if you want to be an excellent all-around tester, I think you need to think like a philosopher.
(Of course, I have critics who dispute this, but there’s a funny thing– in order to form a coherent argument against my point of view you would have to do philosophy, and that very process would tend to undermine your credibility. Kinda like beating someone to death to prove that pacificism is best!
If you really believe you don’t need philosophy to be a tester, a more effective move would be to refuse to argue. Just use coercion and manipulation to get your way. This is what most of the certificationists choose to do. The harsh light of reason and open debate is a kind of acid to them.)
Promoting the practice of philosophy in daily work is a somewhat lonely job, because our schools manage to turn it into drab and awful subject. I persist for only one reason: I have a drive to be an excellent tester, and I want to help other testers be excellent, too. Otherwise, I would have given up long ago.
Enter Tawney Gowan. Tawney is a somewhat hyperactive young woman from Montreal who attended my STAR East tutorial called “How to Teach Yourself Testing.” She’s been a tester for a few years, but she recently went back to school to study the history ideas. After the class, she came up to me and complained that my citation of Thomas Kuhn’s theory of paradigms in scientific revolutions was out of date. I was tickled that she had an opinion on that, since so few testers have read anything about it.
After a few minutes of hearing her rant, I thought I would buy myself some time. So I asked, “Can you put together a reading list of the things you think I need to stufy?”
She replied, “I already have.”
I just think this is cool. It’s the kind of service I need from a colleague. I hope that Tawney stays in testing and starts a blog.
Here’s to testers who are fearless learners!
Pradeep Soundararajan says
Tawney, here is another tester asking you to start a blog and I hope to learn a lot from you.
Simon says
Hear, hear!
What about Bertrand Russel?
His use of logical analysis and philosophical approach to try and simplify language is something that has a lot of resonance in today’s test engineering approaches – whether that is specifying requirements, test cases or processes.
He re-used Occam’s principle of simplification and that is very relevant today (the medieval version of KISS – keep it simple stupid.)
Now there’s someone who would have made a good tester!
[James’ Reply: He’s a great writer, too. I like his intro to The Problems of Philosophy. The first sentence is “Is there any knowledge in the world which is so certain that no reasonable man could doubt it?” Lots of good stuff for a tester, there.]
Shrini Kulkarni says
I am amazed by Tawney. In the age where testers rush to learn an automation tool, a process, get some business training, get some testing certification, some one talk about philosophy and stating Thomas Kuhn’s idea as outdated is “refreshing” to know. It strengthens my resolve to learn more about Philosophy, history of science and others. Interestingly, when I talk about this with my colleagues, most fail to see the “connection” to testing. They say “oh that is philosophy, let us do some work”.
I hope Tawney has read/listened to CBC podcasts (http://www.cbc.ca/ideas/features/science/index.html) on “how to think about science” – Kuhn was mentioned prominently in at least 10-12 interviews in the series.
Tawney, if you are reading this – feel free to drop me a mail (shrinik@gmail.com). I would be happy to discuss some of the interviews…
Shrini
Josh Crompton says
Interesting, I’ve taken testing classes from James in my previous job doing software testing, and am now studying the history and philosophy of science at my local university. James, I’m curious how fit Kuhn into your class. Perhaps you compared his paradigms to the other schools of testing? I can see how that would fit. I’m pretty skeptical about his model, myself. A nice counter-point to Kuhn, especially for testers, might be Karl Popper.
And finally, thanks for the reading list, I’m looking forward to checking out those recommendations.
[James’ Reply: I find value in both Kuhn and Popper. I think they are talking about different things. Popper believed that science is a rational enterprise, which it is– I apply conjecture and refutation when I test. Kuhn believed that science is not only a rational enterprise but also a social enterprise, which it is– I recognize that my testing is only good or bad with respect to the needs and desires of my clients. The two men had different explanations for particular events in the history of science, but that’s okay, because we get to study this for ourselves and develop our own models. We are part of the conversation, if we want to be.
Kuhn comes into my work when I explain how it’s possible that reasonable people can have different entire theories of software testing. This doesn’t come up in my class too often. It comes up when I do the “Teach Yourself Testing” course.]
paul Szymkowiak says
Hi Shrini:
>some one talk about philosophy and stating Thomas Kuhn’s idea as outdated is “refreshing” to know
I think you missed what Tawney was saying: she was claiming that James was out-of-date (well, his citation of Kuhn), not that Kuhn was.
Its an interesting problem dealing with “information expiration”: just the other day, someone mentioned they’d read that the earth wasn’t flat!
Paul.
Shrini Kulkarni says
>>> I think you missed what Tawney was saying: she was claiming that James was out-of-date (well, his citation of Kuhn), not that Kuhn was.
Yes, I stand corrected. I note she meant James’ citation was old and came up with few that could “supersede”. How many testers that we see today have read or even know about Kuhn. To me that was high point. Few of us due to our association with people like James – read about philosophy and science. I pity about those “certified” testers – who are not realizing what they are missing to forward their testing career.
These folks just need ask one question “how can think better? what tools/reading material I have to help me in this direction and who are the people that engage in similar thinking? How do I hook up to them?”
I am happy that I am an elite company that helps me to learn, question and repeat ….
Shrini
Michael M. Butler says
A successor to Popper and Kuhn is a fellow named W. W. Bartley III. He wrote a book called “The Retreat to Commitment”, and though the main thrust of that work overtly relates to analysis of Christian theology and rationality’s place there, it is-was the explication of what has become called “Pancritical Rationalism”. The topic is worth a look, even if the book itself might be tough to get through.
Shrini Kulkarni says
>>> Kuhn comes into my work when I explain how it’s possible that reasonable people can have different entire theories of software testing.
James, I notice, how cleverly you used the word “reasonable” people. As we discussed other day, if we consider software testing as social enterprise (not rational) – there would be people who can (do) have entire different theories of software testing.
[James’ Reply: Rational and social are not mutually exclusive.]
Agile people, ISTQB people (probably they may not fit in the group totally), Factory school people, CMM-Six (sick?) sigma people – are examples of groups of people (some unreasonables included) who carry totally different theories of testing.
How would Kuhn explain that?
Shrini
[James’ Reply: I think Kuhn would shrug and say that he was talking about scientific revolutions, not testing communities. But I can apply his ideas to testing communities, anyway.]
Kerry says
You might also find Michael Polanyi’s work on Tacit Knowledge interesting (he was Karl’s brother). The wikipedia article on him has a good summary of his philosophy of science. See also the Tacit Knowledge topic.
[James’ Reply: Weird! I was just reading about tacit knowledge today.]
Michael Bolton says
(Tawney) was claiming that James was out-of-date (well, his citation of Kuhn), not that Kuhn was.
Many people have advanced Kuhn’s work, though, and are starting to question it. Ian Hacking wonders if we’ll see any more revolutions in physics; we seem to be in an era of more steady, evolutionary work, rather than revolutionary work. Peter Galison suggests that scientists are more and more steered towards interdisciplinary work, and that those blurry boundaries make paradigms more commensurable than perhaps Kuhn thought.
[James’ Reply: I heard Galison interviewed yesterday, and it seemed to me all he was saying was that if people from different paradigms tried really hard, they could find ways to work together than would allow them to communicate at least in shallow or practical ways.
But that’s only relevant in a non-hostile situation where people are trying to build bridges. Of course, in the testing field, this doesn’t happen very much.]
Tawney Gowan says
As Michael has pointed out, I was saying that Kuhn was in some ways out of date. Kuhn found the application of his model to human endevours and not pure science as problematic. I think James is right in saying that Kuhn would probably have found the application of his model to testing as inaccurate. To me this is to the core of what’s wrong with Kuhn, he takes on a scientific topic in a social manner but in a strict sense does not want to engage in applying his model to social science activities. That’s why I think it’s important to realize how others have advanced Kuhn’s theories (e.g. when paradigms are identified in say civil engineering), and come up with their own. The paradigm model does have some merit in perhaps helping to explain why terminology between tester schools is mangled, but in some ways it’s important to engage in the ways that this application is different than what Kuhn intended. Anyway, it’s encouraging to see such a discussion in a software testing context. My history of science class had a lot of trouble using Kuhn on subjects beyond Copernicus and Newton so this is exciting.
I started a blog (linked above) to discuss my activities in both history and testing. Between my thesis and work I haven’t spent too much time configuring wordpress and the website itself is about 5 years out of date, but as James notes, I am hyperactive so it shouldn’t stay that way for long.
[James’ Reply: It seems to me that the applicability of Kuhn to testing is quite simple: different communities of people, who claim to be studying and promoting the same field of practice, are using radically different and incommensurable ontologies to describe it. The different communities value different things and have different goals. After Kuhn, each community has a paradigmatic way of working that defines the puzzles they consider worth solving. To be respected in any specific community, you must be able to speak the right language and solve interesting puzzles.
I believe the “Factory” paradigm of testing has been in crisis for years, and bright people have been abandoning it, just as I did. The Context-Driven school was created by men who were dissatisfied with the way the future of the craft was languishing in worn out debates. By declaring our school, we created a space within which we could solve puzzles that we think matter in relative peace.
It’s the very applicability of Kuhn to us that explains how some people (not you, Tawney, but some) strongly reject the introduction of Kuhnian thinking to the social world of testing: It challenges the dominant paradigm!]
Huw says
Was interested, when I read Tawneys’ blog, to note the application of military theory – I was rather of the impression that my approach, which is heavily coloured by my background in history, was somewhat of an oddity in the world of Testing.
I’d like to contribute to the discussion and suggest that almost any knowledge can be usefully applied to Testing. I’m primarily a Historian and have a strong interest in Military History and Theory, and use the derived knowledge from this interest in my work as a matter of course. Ideas are useful, but so also are the lessons of the past – in this case the lessons learned by examining past projects whether good or bad – and any applications of sound academic technique should surely be encouraged, not just the application of philosophy.
To that end I’d recommend that you add “Achtung – Panzer!” to your reading list as well, I’ve found it to be a great deal of use in Testing.
[James’ Reply: Really? How do Panzers relate?]
Huw says
The operational difference between an approach which focuses upon the broad application of a sole discipline with attached specialists and the approach which calls for smaller combined teams which encompass a broader spectrum of disciplines working together in a co-ordinated amnner; for a real example: Let us call this the WWI model – The Leaders and strategists remain isolated and distanced from the actual effort, project management formulate the plans and initiate but then take little more part and commit their resources in pr-dormulated waves, first BAs, then Developers, then Testers then finally it is hoped allow the users free rein on the system to conclude the project. Guderian in effect analyses the prior experience of military operations by producing a quite reasonable analysis which points out where this approach is likely to go wrong, where resistance is met (in software bugs or similar) the only reaction can be to continue committing resource of the commited type to attempt to overcome.
The model put forwards is one of closer co-operation between the teams, where project and senior management maintain a closer relationship with the projects, even taking the lead where needed, where the teams work in a method designed to take advantage of theiri strengths and minimise their weaknesses, and where if resistance is met sometimes the decision needs to be taken to either pull back and re-examine or to bypass and leave for a second wave to deal with later. In addition (and more so in Panzer Leader) he highlights the need for initiative and a certain pride in the frontline team, a certain esprit de corps which is trained into people to allow them to believe not only that they can do what they need to but also that those above and arround them will support their activity.
In many ways it is not hard to see the startling similarities between what I would call “old school” development and project management with the WWI model – in some cases evolved to the “deep battle” operational model propounded by Tukhachevsky in the General orders of 1936 – and to be able to conjecture from that model where and why a project might fail and then to contrast it with the more flexible model propounded by Guderian and implemented by many of his peers in 1939-45 and see where real gains can be made in project success and effectiveness by the simple application of smaller, more reactive teams with a greater ability to act as they need in order to achieve the operational goal.
Hence, in my opinion, Panzers relate quite well :o) Albeit as part of an operational model where the emphasis is upon mobile and not positional capability. One of the good things about “Achtung-Panzer!” to my mind is the very high quality of analysis contained within it and whilst it should be remembered that it is by no means an unbiased work – it was of course designed to help sway the General Staff of the German Army towards increased mechanisation and the concentration of armour into divisions rather than its allocation in penny packets along the line – it was written to open peoples’ eyes to a new way of taking advantage of emerging technology and to provide them with a way in which best to use such technology in order to obtain better, faster and, if transposed into business cheaper results.
All that said it’s also fascinating to see how the basic model of for example the Mongols can be applied to a work environment or indeed how, to refer back to Deep Battle, sometimes that concept and model might be superior to the one I have been extolling above. Part of what I hope I have understood correctly to be your initial point above is that the application of knowledge can be used to overcome obstacles in our work lives, learning to analyse prior events and occurances and seeing how those who were involved both dealt with them and developed to deal with future such occurances helps us all and hopefully can be used as that extra factor to allow us to achieve a certain degree of success within the work environment. Which surely can only be a good thing? Apologies for both length and for straying off the point by the way!
[James’ Reply: Excellent! Thank you. Examples of methodologies, working and not working, are all over the place in military history. The advent of close air support controllers during WWII, among the allies, for example. After many friendly fire incidents, they began to have actual fighter pilots take turns being on the ground, with the troops, coordinating air strikes.]
Huw says
No problem.
Hope you both read and enjoy the book!
Lou Wilson says
“[James’ Reply: Rational and social are not mutually exclusive.]”
Well, now that Rational has been swallered up by IBM, that’s not as true as it used to be. Or is more true. Depending on your point of view.
[James’ Reply: It was so ironic when I consulted for Rational and witnessed them do such irrational things. It was almost as if “rational” was just a word that didn’t mean anything to them.]