Monday, April 14, 2008

Newly Recommended; and, Now I Understand

I came across flights, I think, by way of a comment on a post by Pos at Niagaran Pebbles. Flights has some interesting posts that are quite well written.

Rather than working (hah! I that's the first time I ever inadvertently used the title in a post) this morning, I've been catching up on blogs for a few minutes.

Flights' author is Shawn Smith. He is a software developer. He did a post on Friday about the need to allow mistakes in software.

You've all read the forwarded Email about if Microsoft made cars, the car would periodically stop running, you'd pull to the side of the road, turn it off and then turn it on again. It would then chug along until the next "crash." Now I understand why software is so buggy.

"I have no problem putting something imperfect into the hands of the crowd and then watching it to see how and where it falls short - within reason." Shawn said in his post. As I am wont to write in posts, "huh?" Shawn goes on to say "[c]ompanies are understandably careful about everything they unveil that has their mark on it. When careful goes too far, however, one pitfall is a culture of fear, where people are afraid to make mistakes or deviate from what is safe and known and familiar." I get the point; but, a "process" that promotes "innovation" often masks "half doing."

My product, words and analysis, does not flow perfectly from my mouth or keyboard (as evidenced by these posts which are for the most part, dashed off); but, I don't throw my imperfect draft at my audience. I play with it until it is, within economic constraints, as perfect as I can get it. The phrase "economic constraints" is, I think the real reason that design products often reach their users "half baked."

In the construction business there's a document called an RFI or Request for Information. It's sent by the user to the architect/designer when there's a hole or ambiguity in a drawing or specification. In effect the user, usually a contractor, is asking "please clear this up" or "please fill in the blank."

As a construction lawyer, one tell-tale sign of a badly designed project is a large number of RFI's. It means that the architect/designer did not think the project through and relied (or hoped) that the mistakes and holes in the design would be caught by the contractor. The designer has been using the contractor as its quality control department. Some architects/designers do this as a matter of practice. Others resort to it because of budget. Whatever the genesis, it means problems for the user.

Now, I understand the use of a "Beta" product. But, a Beta should not be used as a quality control process which is the responsibility of the designer. A Beta should be a last, user oriented, look at the all but finished product.

In a way, I'd like to see this process imported to the law. "Dave, your analysis on this issue has a lot of holes in it." "Your Honor, it's a Beta brief, I'm looking for your user notes." "Oh, oh, I'm sorry, I'll get them to you in a week. When can I expect to see Version 1.1?" "Your Honor, my plan was for a Service Pack in the short term." "Very well, the Court will take the matter under advisement."

4 comments:

Posol'stvo the Medved said...

Dave -- Shawn's a great guy. One of the few in my blogroll who I actually know, personally, as opposed to knowing merely through their blog output.

Software is different than the law. Software affords a great more wiggle room. And the only court that matters in the court of user opinion. Does it get the job done? Is it easy to use? Does this way of doing it work better than that way? Where I see this most commonly is in things like my annual tax software. Every year, it's a different way of getting through the same tasks. But every year, it works. If something was difficult to use this year, I bet it would be changed for next year.

Having babbled about that, your last paragraph was a thing of beauty. You had me laughing out loud. Which, when I am reading, is hard to do.

Spot on, old boy!

Anonymous said...

This could be among one of your best!! Love it

Anonymous said...

Hi Dave. Thanks for the link!

I'd go one step further than posolxtvo (dang, that's hard to type) and say that I was speaking in particular about web development. Web is special in that what you build lives in its own home, on servers somewhere far away from the people using it. This means you can continually iterate and enhance things, and the benefits to the users are immediate. Unlike traditional software, you don't have to send them a software patch, or a new box, or a refund.

Dave said...

Hey Shawn, thanks for stopping by. I'm not too much of a tech guy. That said, I visit sites that are overly buggy; but, making a quick judgment, I think most sites are less problematic than most software.

I thought of you when I pushed down on the serated "push to open" part of my frig pack of beer.

I actually like frig packs of beer; though, I think it's a crime against nature to sell a "box" of wine.