Archive for December, 2007

Jeff Patton on a trap for Agile projects

Gojko Adzic has a nice summary of what Jeff Patton’s been saying recently about a way Agile projects fail.

My only quibble with Jeff’s description is that he distinguishes between “incremental” and “iterative” development. That has the same problem that’s bedeviled “verification and validation” for years: the common English words mean sort of the same thing, and the words begin with the same letter, so many people (me, Jeff himself when it comes to V&V) can’t remember the difference.

At SDTConf, I suggested that Jeff use “assembly” for “incremental” and “growth” for “iterative” (or is it the other way around?)

Agile 2008 accepting submissions

The Agile2008 submission system is now ready for use. The deadline is February 25th. However: we’re not gathering up submissions for one big review at the end. Instead, committee members and anyone else who wants to will post comments on a submission soon after it arrives. You can keep revising and improving your submission until the deadline.

Making it clear

At James Bach’s request: testing needs incisive and restless thinkers.

UPDATE: As requested in comments to the original posting, the context:

In the late 90’s and early 00’s, I was a vigorous proponent of the Context-Driven school of testing. As was typical of members of that school, I was intensely interested in test design, which I’d define as “thinking well about how to execute the app in order to fulfill the testing team’s goal.” (My favorite goal being to be “a service organization whose job is to reduce damaging uncertainty about the perceived state of the product.”) Also: people thinking well about anything deserve respect, more respect than testers got. So I was an advocate for the worth of tester as an identity.

Since then, especially since around 2003, my interests have drifted to the point where I now refer to myself as “having a testing slant” rather than “being a tester.” (And, more and more, I use the word “examples” rather than tests to remind myself that I’m not doing what I used to do.) I’ve also emphasized tendencies I’ve long had that didn’t come into play as much in my testing days. For example, I’m much more focused on harmony and trust and deferring to others than I used to be (although that tendency can be seen way back in 1998’s “Working effectively with developers“).

There’s a problem when someone who used to write exclusively about X stops. Does it mean that he repudiates X? Am I now happy if testers have low status? Do I think that testers who don’t code are useless? Do I think manual testing is rote work that doesn’t require incisive thought?

I could argue that I haven’t completely stopped writing. If you look at my recent test design links post, you’ll find links to a bunch of writings squarely in the context-driven tradition, and such linking signals approval. Still, it doesn’t hurt to be completely explicit, especially because (1) I write a lot about automated tests, (2) test automation comes with a lot of historical baggage and so is an emotionally charged topic, and (3) the early interactions between the Agile proponents and testers generated even more baggage because the Agile proponents often did act exactly like we testers were used to programmers acting: dismissive. Fortunately, that’s mostly corrected itself. But still… hurt feelings persist.

Because of all that, the original statement seemed useful.

Facebook and decentralized identifiers

An interesting commentary on the problem of global identifiers, via Michael Tsai. In a nutshell, global identifiers are for the benefit of the implementer, not the user. For many practical purposes, users care about many fewer people than implementers do, and they’re happy to identify those people idiosyncratically.

[…] this approach uses the social network to manage identity, by reducing the size of the problem space by about seven orders of magnitude. It’s perfectly feasible to keep track of the identity of a few hundred people using familiar attributes like names, faces and personal relationships: humans have been doing it for literally hundreds of thousands of years.

I myself am lukewarm on Facebook, but I’m finding Twitter oddly appealing for one of my jobs, keeping track of what interesting communities exist and where they’re going next. More on that later. (My twitter account.)

What does “simple” mean when applied to our artifacts?

I had a thought at the Simple Design and Test conference.

“Simple” is an adjective, but there are different kinds of adjectives. For example, one might point at a can and say that the adjective “blue” applies to it. That use of the adjective is objectively true, at least in Richard Rorty’s sense: we use the adjective “objective” to describe those statements it’s pretty easy to get people to agree about. The harder it is to get people to agree, the more subjective the statement.

However, suppose the can contains iced coffee. I claim that the adjective “tasty” does not apply, but other people would disagree. Here’s an adjective that quite clearly depends not just on the object it labels but also on the person doing the labeling.

Finally, consider a bed labeled “comfortable”. To be more specific, suppose it’s a waterbed. A waterbed might be extremely comfortable for sleeping, but someone I trust tells me it wouldn’t be comfortable when making love, and I’m quite sure that no waterbed would be a comfortable platform for doing deadlifts. Here we have a case where the suitability of the adjective is bound up with both the person applying it and the activity they’re thinking about.

I claim that “simple”, when it comes to “design and test”, is most like the third category. In a way, when we say “that’s a simple design”, what we should be saying is “that design lets me do actions X, Y, and Z without friction and with ease.”

So: when we talk about what properties make, say, a design “simple,” we’re using shorthand: “I’ve noticed that property X is usually associated with designs that make activities A, B, and C easy.” The fact that we have a hard time getting people to recognize or desire simple designs suggests that we maybe ought to focus on understanding and explaining the activities over capturing the properties.