Development and Quality: Reply to Agile Diary

Getting on the soapbox about developers.

Former WiZiQ product manager Vikrama Dhiman responded to one of my tweets with a full-blown blogpost, thereby giving support to Matt Mullenweg‘s point that microblogging goes hand-in-hand with “macroblogging.”

My tweet:

enjoys draft æsthetics yet wishes more developers would release stable products. / adopte certains produits trop rapidement.

Vikrama’s post:

Good Enough Software Does Not Mean Bad Software « Agile Diary, Agile Introduction, Agile Implementation.

My reply:

“To an engineer, good enough means perfect. With an artist, there’s no such thing as perfect.” (Alexander Calder)

Thanks a lot for your kind comments. I’m very happy that my tweet (and status update) triggered this.

A bit of context for my tweet (actually, a post from Ping.fm, meant as a status update, thereby giving support in favour of conscious duplication, «n’en déplaise aux partisans de l’action contre la duplication».)

I’ve been thinking about what I call the “draft æsthetics.” In fact, I did a podcast episode about it. My description of that episode was:

Sometimes, there is such a thing as “Good Enough.”

Though I didn’t emphasize the “sometimes” part in that podcast episode, it was an important part of what I wanted to say. In fact, my intention wasn’t to defend draft æsthetics but to note that there seems to be a tendency toward this æsthetic mode. I do situate myself within that mode in many things I do, but it really doesn’t mean that this mode should be the exclusive one used in any context.

That aforequoted tweet was thus a response to my podcast episode on draft æsthetics. “Yes, ‘good enough’ may work, sometimes. But it needs not be applied in all cases.”

As I often get into convoluted discussions with people who seem to think that I condone or defend a position because I take it for myself, the main thing I’d say there is that I’m not only a relativist but I cherish nuance. In other words, my tweet was a way to qualify the core statement I was talking about in my podcast episode (that “good enough” exists, at times). And that statement isn’t necessarily my own. I notice a pattern by which this statement seems to be held as accurate by people. I share that opinion, but it’s not a strongly held belief of mine.

Of course, I digress…

So, the tweet which motivated Vikrama had to do with my approach to “good enough.” In this case, I tend to think about writing but in view of Eric S. Raymond’s approach to “Release Early, Release Often” (RERO). So there is a connection to software development and geek culture. But I think of “good enough” in a broader sense.

Disclaimer: I am not a coder.

The Calder quote remained in my head, after it was mentioned by a colleague who had read it in a local newspaper. One reason it struck me is that I spend some time thinking about artists and engineers, especially in social terms. I spend some time hanging out with engineers but I tend to be more on the “artist” side of what I perceive to be an axis of attitudes found in some social contexts. I do get a fair deal of flack for some of my comments on this characterization and it should be clear that it isn’t meant to imply any evaluation of individuals. But, as a model, the artist and engineer distinction seems to work, for me. In a way, it seems more useful than the distinction between science and art.

An engineer friend with whom I discussed this kind of distinction was quick to point out that, to him, there’s no such thing as “good enough.” He was also quick to point out that engineers can be creative and so on. But the point isn’t to exclude engineers from artistic endeavours. It’s to describe differences in modes of thought, ways of knowing, approaches to reality. And the way these are perceived socially. We could do a simple exercise with terms like “troubleshooting” and “emotional” to be assigned to the two broad categories of “engineer” and “artist.” Chances are that clear patterns would emerge. Of course, many concepts are as important to both sides (“intelligence,” “innovation”…) and they may also be telling. But dichotomies have heuristic value.

Now, to go back to software development, the focus in Vikrama’s Agile Diary post…

What pushed me to post my status update and tweet is in fact related to software development. Contrary to what Vikrama presumes, it wasn’t about a Web application. And it wasn’t even about a single thing. But it did have to do with firmware development and with software documentation.

The first case is that of my Fonera 2.0n router. Bought it in early November and I wasn’t able to connect to its private signal using my iPod touch. I could connect to the router using the public signal, but that required frequent authentication, as annoying as with ISF. Since my iPod touch is my main WiFi device, this issue made my Fonera 2.0n experience rather frustrating.

Of course, I’ve been contacting Fon‘s tech support. As is often the case, that experience was itself quite frustrating. I was told to reset my touch’s network settings which forced me to reauthenticate my touch on a number of networks I access regularly and only solved the problem temporarily. The same tech support person (or, at least, somebody using the same name) had me repeat the same description several times in the same email message. Perhaps unsurprisingly, I was also told to use third-party software which had nothing to do with my issue. All in all, your typical tech support experience.

But my tweet wasn’t really about tech support. It was about the product. Thougb I find the overall concept behind the Fonera 2.0n router very interesting, its implementation seems to me to be lacking. In fact, it reminds me of several FLOSS development projects that I’ve been observing and, to an extent, benefitting from.

This is rapidly transforming into a rant I’ve had in my “to blog” list for a while about “thinking outside the geek box.” I’ll try to resist the temptation, for now. But I can mention a blog thread which has been on my mind, in terms of this issue.

Firefox 3 is Still a Memory Hog — The NeoSmart Files.

The blogpost refers to a situation in which, according to at least some users (including the blogpost’s author), Firefox uses up more memory than it should and becomes difficult to use. The thread has several comments providing support to statements about the relatively poor performance of Firefox on people’s systems, but it also has “contributions” from an obvious troll, who keeps assigning the problem on the users’ side.

The thing about this is that it’s representative of a tricky issue in the geek world, whereby developers and users are perceived as belonging to two sides of a type of “class struggle.” Within the geek niche, users are often dismissed as “lusers.” Tech support humour includes condescending jokes about “code 6”: “the problem is 6″ from the screen.” The aforementioned Eric S. Raymond wrote a rather popular guide to asking questions in geek circles which seems surprisingly unaware of social and cultural issues, especially from someone with an anthropological background. Following that guide, one should switch their mind to that of a very effective problem-solver (i.e., the engineer frame) to ask questions “the smart way.” Not only is the onus on users, but any failure to comply with these rules may be met with this air of intellectual superiority encoded in that guide. IOW, “Troubleshoot now, ask questions later.”

Of course, many users are “guilty” of all sorts of “crimes” having to do with not reading the documentation which comes with the product or with simply not thinking about the issue with sufficient depth before contacting tech support. And as the majority of the population is on the “user” side, the situation can be described as both a form of marginalization (geek culture comes from “nerd” labels) and a matter of elitism (geek culture as self-absorbed).

This does have something to do with my Fonera 2.0n. With it, I was caught in this dynamic whereby I had to switch to the “engineer frame” in order to solve my problem. I eventually did solve my Fonera authentication problem, using a workaround mentioned in a forum post about another issue (free registration required). Turns out, the “release candidate” version of my Fonera’s firmware does solve the issue. Of course, this new firmware may cause other forms of instability and installing it required a bit of digging. But it eventually worked.

The point is that, as released, the Fonera 2.0n router is a geek toy. It’s unpolished in many ways. It’s full of promise in terms of what it may make possible, but it failed to deliver in terms of what a router should do (route a signal). In this case, I don’t consider it to be a finished product. It’s not necessarily “unstable” in the strict sense that a software engineer might use the term. In fact, I hesitated between different terms to use instead of “stable,” in that tweet, and I’m not that happy with my final choice. The Fonera 2.0n isn’t unstable. But it’s akin to an alpha version released as a finished product. That’s something we see a lot of, these days.

The main other case which prompted me to send that tweet is “CivRev for iPhone,” a game that I’ve been playing on my iPod touch.

I’ve played with different games in the Civ franchise and I even used the FLOSS version on occasion. Not only is “Civilization” a geek classic, but it does connect with some anthropological issues (usually in a problematic view: Civ’s worldview lacks anthro’s insight). And it’s the kind of game that I can easily play while listening to podcasts (I subscribe to a number of th0se).

What’s wrong with that game? Actually, not much. I can’t even say that it’s unstable, unlike some other items in the App Store. But there’s a few things which aren’t optimal in terms of documentation. Not that it’s difficult to figure out how the game works. But the game is complex enough that some documentation is quite useful. Especially since it does change between one version of the game and another. Unfortunately, the online manual isn’t particularly helpful. Oh, sure, it probably contains all the information required. But it’s not available offline, isn’t optimized for the device it’s supposed to be used with, doesn’t contain proper links between sections, isn’t directly searchable, and isn’t particularly well-written. Not to mention that it seems to only be available in English even though the game itself is available in multiple languages (I play it in French).

Nothing tragic, of course. But coupled with my Fonera experience, it contributed to both a slight sense of frustration and this whole reflection about unfinished products.

Sure, it’s not much. But it’s “good enough” to get me started.

Advertisement

Lydon at His Best

By definition, my reaction is subjective. So it might just be the fact that it’s a sunny day or that Life Is Good®, as my water bottle and diner mug say.

Yet there’s something about the April 17 episode of the Radio Open Source (ROS) podcast with Christopher Lydon which works for me.

Maybe I was just charmed by the introduction as it played with my expectations. But there’s clearly more to my enthusiasm for Lydon’s interviewing style in that specific episode than the mere enjoyment of being fooled. My initial excitement abated a bit as the show progressed and Lydon went back to his I-show mode (which I mentioned before and warned students about). This decrease in excitement strengthens my notion that Lydon was, surprisingly enough, letting participants speak in earlier portions of the show.

In fact, Lydon did something he rarely does, during the first part of this episode: he proposed a topic and let one of his guests respond without even asking a question. Sometimes, Lydon will string together a long series of questions to which the interviewee cannot really respond. In the way I was enculturated, these strings of questions are markers of close-mindedness so I have a hard time understanding why Lydon would produce them.

In fact, I would seriously like to do some conversation analysis of Lydon’s interviewing style. For instance, how long (in seconds) are his questions as compared to his guests’ comments? Is there a difference when the guest is perceived to have a higher status, in which case Lydon might go into “deference mode?” Is my perception accurate, that Lydon speaks differently to women and men? (In my observations, ROS seems to mostly have women as guests when gender is admittedly the focus.) Are there cues in Lydon’s speech patterns which reveal what he might be thinking about his guests? Is Lydon typical of “Old Media” radio shows even though he entered the “Web 2.0 landscape” with ROS?
What ticked me off, originally, was Lydon’s tendency to cut his guests in a very cavalier manner and his habit of emphasising distinctions based on perceived prestige. These issues are less problematic to me during some shows, but they still do tick me off fairly frequently. Lydon’s respect, contrary to mine, seems quite selective.

Why do I care so much about Lydon’s style, you ask? Why do I ever listen to the show if it makes me react so strongly? A number of reasons.

Radio Open Source is one of the first few podcasts to which I subscribed when iTunes began podcast support. Although I’ve unsubscribed to many other podcasts, this is a podcast which became part of my habits. I know several people who watch shows they don’t like so that they can complain about it. It might be the case for my listening to Open Source. Although, I would really prefer it if I were not to complain (I hate myself every time I do). My “problem” is that ROS often has insightful guests, frequently tackles fascinating issues, and represents the cultural specificity of a small segment of U.S. society with which I happen to relate on a fairly regular basis. In fact, ROS often provokes thoughts in me which lead to my own insight about U.S. society specifically or, on occasion, about post-industrial societies in general. And the often insightful blog comments, gatekept by the very thoughtful “blogger in chief” Brendan Greeley, occasionally make their way into the program, which evokes a type of polyvocality that is rare in Old Media (but required in the “Web 2.0 movement”). (Unfortunately, Greeley is apparently leaving the show, on which occasion I might start listening to another Greeley show if it’s podcast.)

So I probably won’t stop listening to ROS for a while. Can’t avert my ear.

Why do I tease Lydon so much? Well, as we say in French, «qui aime bien, châtie bien» or “I keed because I like.” People from the United States, especially those who claim European-American ancestry and respond rather well to the Judeo-Christian liberal model, tend to avoid conflict at all cost. It might be the main reason why, though some members of the ROS staff have contacted me after reading some of my blog posts about the show, I get this feeling that my perspective on the show is falling on deaf ears. It’s not that they don’t want to hear criticisms and critiques of the show, it’s just that my voluntarily confrontational style might clash with their own styles. If anyone on the ROS staff reads this: sorry, nothing personal!

So, do I write those posts just to be mean? Not really. But I do like challenging preconceived notions about the skills of people in positions of power. In other words, I tease Christopher Lydon because I know he can handle it. He apparently has a fairly high status within “PRI culture” (which is possibly similar to the “BBC culture” described by Georgina Born). And, to be honest, he sounds self-assured enough (notice I didn’t say “cocky” or “arrogant”) to dismiss this type of nagging offhandedly.

So, Lydon is the journalist I enjoy teasing.

Hey, it is some people’s idea of fun!

Humanistic Sociocentrism

There must be a common term for this and it is certainly well-known. A kind of wishful thinking of the trailblazer type. A combination of utopianism, humanism, naïveté, forward-thinking, and ethnocentrism. You wish for society to change in a given way, you predict that society will eventually switch to that direction, you wait patiently for social changes to happen, and you eventually notice that you’re in the minority.

Been thinking about “dreamers” («rêveurs», in Amélie), artists, idealists, intellectuals, marginals, elites, trend-setters. May even consider myself part of that group, somehow. A tiny minority. Running the gamut from hyper-specialist to Renaissance-type polymath. Getting jobs in different sectors but mostly in fields such as business, academia, expressive culture, or diplomacy.

Using the pattern of “ethnocentrism,” sociocentrism as social limits on thinking. Not necessarily thinking your social class to be better than others. But failing to notice that members of other social groups (in this case, the majority groups) may not think along the same lines as you do.

It might be what prevents some people to become successful politicians. Social life might be better that way.