Matt Heusser’s Blog
Testing at the Edge of Chaos
It’s march!
And that means it’s time for the March Issue of Software Test&Performance Magazine! With Ross Collard as the guest editor, the issue includes articles on lessons learned in simulation, security testing, testing financial applications, and, yes, ST&Pedia, by yours truly and Chris McMahon. This month’s column, on page seven, covers techniques for extremely low-defect software.
On another note, every now and again someone will ask me “how I find time” to write so much. I find that fascinating. I mean, besides the day job, for the most part, we always find time to do what’s important to us. People who “can’t find the time” to write (or whatever it is they are waxing poetic that they are sad they can’t do) are, in effect, saying with their choices that everything else is more important.
I’ll put that a different way: If I asked my brother in law how he finds the time to watch so much University of Michigan football, he’d likely say … no. He’d likely punch me, because he’d feel I just insulted him.
I do think of there are real questions about how we do creative work, and how to get started, and how to do more of it. But first of all, you’ve got to be serious about it. If you are serious, you’ll be compelled to do it, like the engineer and his cup of coffee.
It doesn’t take discipline for me to write; it takes discipline for me to not write. Sometimes, especially right before a speech (or if I quit work with some critical tests undone), it takes discipline for me to be present.
One of the people I like to listen to about creative work is Merlin Mann, because he is both serious about creative work and an entertaining read. And he’s got a blog post about the #1 thing to do to maintain focus and get a project done, called “First, Care.” I thought this audience might appreciate it.
Merlin also did an appearance at MaxFunCon last year, that has audio up on the MaxFunCon blog. Note the conference is part serious conference on creative work, part sketch comedy, so expect an R-rated romp and a fair amount of swear words. You can find the audio here here (MP3).
If you find this kind of content interesting, let me know, I’ll provide more of it – and I’ll look for shorter snippets on the PG side. If not, let me know, we’ll swing back to testing.
On Creation
In this bit of a lull between Christmas and New Years, I’d like to introduce something a little more lighthearted, a little further off the beaten path than my typical blog post.
I would like to talk about creation.
No, not just creativity, not just “creative work” – but Creation – the actual act of making something new.
If you were like me, you had a moment, when you were young; maybe six years old, maybe ten where you sat at the keyboard and typed something like this:
10 Print “Matt is Cool”
20 Goto 10RUN
That time was powerful. It was magical. Without any spec, or any defined process, or
any requirements, we created something new.
If I had to explain that kind of joy myself, I would say that I believe in a creator – the author of the universe. Thus, in a way, when we create, we are sort of ‘tapping into’ the divine – or, perhaps, displaying an attribute of his character. Now that’s just my way of explaining the feeling; there are others. For some reason I expect that even the strident atheist, looking at the 255 specific strings of protein that have to connect in order to form life would say that moment was a kind of magic, and that, in a way, when we create things, we have some shadow of that magic.
… time passes …
Somehow, I end up stuck in a cubicle, given a requirements document (or a test plan) and told that my job is translation – doing stable, predictable, repeatable work.
For some reason, it’s not fun anymore.
Where did the creation go?
No, don’t blame the customer. Don’t blame the boss. As an industry, we trained it out of our own work. We, technologists, are our own worst enemy.
“Creative Work” and “Creative Types”
Let me explain. Consider other fields: Writing, Graphic Design, Advertising Media. In those fields, the deliverable matters – not the process. With creative work, it is expected that the customer can give an extremely vague problem to the freelancer, and the ‘creative people’ will figure it out. The assignment might be “We need our website to look more edgy” or “I need a one-thousand word article on Enron and Integrity”, or perhaps even “We need a series of 30-second ads to make our product appeal to women.”
No, really, they get requirements like that. And there is an entire set of literature about how to be successful in the face of ambiguity – what questions to ask to guide the customer, how to do prototypes and mockups and get feedback.
Nobody talks about ‘process improvement’ for freelancers; instead, editors and agents hire them and pay a flat rate. The incentive for the freelancer is clear: Get the work done faster and you get do more work. Do it better and you’ll get repeat work or you can raise your rates. When they do talk about ‘performance improvement’, it has an entirely different flavor; consider Merlin Mann’s work on time and attention -

Now compare that to the knee-jerk software development reaction. We wanted to make software an ‘engineering discipline’ and get specific, actionable requirements and defined process.
BZZT.
That’s where creativity went in software development. We killed it.
Now, yes, some of us are writing software the drive tanks and automobiles and embedded medical devices, with a slightly lower tolerance for failure than an editorial in the New Yorker. On some level, we will have requirements and we will need process. The question is: How much?
My friend, Markus Gaertner, points out that defined process and creativity are tradeoffs; you can’t be creative if your process tells you exactly what to do at every step now can you? All I am suggesting is that we push the pendulum back the other way, in the direction of choice over defined process..
I see some of that in the recent Software Craftmanship movement. I’ve tried to contribute a bit through this blog and other outlets like Boutique Testing. The general idea is that restoring choice to the workplace can help redeem it.
My Resolution
So here’s a New Year resolution: In the Year to come, I resolve to try to move the needle, just a little bit, to restoring choice and creation to the corporate workplace. I intend to do it in two very specific ways: First, by proposing a book on the life of a good tester that de-mystifies our craft in a meaningful way. In addition, I will work to develop an actually good model for performance improvement for a software team. Yes folks, I resolve to work on an alternative to the CMM that is well-written, straightforward, and actually values human beings as people. While I am skeptical of the whole thing, and may end up recoiling in horror, I do have a few ideas. I resolve to give it my best shot.
All you have to do is one specific thing to move the needle. It may be hard, you may not be rewarded for it, but it’s the right thing to do. Will you join me in this revolution – er, um, resolution?
It’s time for 2010, and a Happy New Year, Indeed.
Let’s make the most of it.
