From Zen and the Art

From Zen and the Art of Motorcycle Maintenance (pages 206-210):

There’s a large fragment concerning Phaedrus’ first class after he gave that assignment on “What is quality in thought and statement?” The atmosphere was explosive. Almost everyone seemed as frustrated and angered as he had been by the question.

“How are we supposed to know what quality is?” they said. “You’re supposed to tell us!”

Then he told them he couldn’t figure it out either and really wanted to know. He had assigned it in the hope that somebody would come up with a good answer.

[…]

Then someone said, “What do you think?”

“I don’t know,” he answered.

“But what do you think?”

He paused for a long time. “I think there is such a thing as Quality, but that as soon as you try to define it, something goes haywire. You can’t do it.”

Murmurs of agreement.

[…]

A few days later he worked up a definition of his own and put it on the blackboard to be copied for posterity. The definition was: “Quality is a characteristic of thought and statement that is recognized by a nonthinking process. Because definitions are a product of rigid, formal thinking, quality cannot be defined.”

The fact that this “definition” was actually a refusal to define did not draw comment. […]

But then, below the definition on the blackboard, he wrote, “But even though Quality cannot be defined, you know what Quality is!” and the storm started all over again.

“Oh, no, we don’t!”

“Oh, yes, you do.”

“Oh, no, we don’t!”

“Oh, yes, you do!” he said and he had some material ready to demonstrate it to them.

He had selected two examples of student composition. The first was a rambling, disconnected thing with interesting ideas that never built into anything. The second was a magnificent piece by a student who was mystified himself about why it had come out so well. Phaedrus read both, then asked for a show of hands on who thought the first was best. Two hands went up. He asked how many liked the second better. Twenty-eight hands went up.

“Whatever it is,” he said, “that caused the overwhelming majority to raise their hands for the second one is what I mean by Quality. So you know what it is.”

There was a long reflective silence after this, and he just let it last.

[…]

At first the classes were excited by [these exercises], but as time went on they became bored. What he meant by Quality was obvious. They obviously knew what it was too, and so they lost interest in listening. Their question now was “All right, we know what Quality is. How do we get it?”

Now, at last, the standard rhetoric texts came into their own. The principles expounded in them were no longer rules to rebel against, not ultimates in themselves, but just techniques, gimmicks, for producing what really counted and stood independently of the techniques–Quality. What had started out as a heresy from traditional rhetoric turned into a beautiful introduction to it.

He singled out aspects of Quality such as unity, vividness, authority, economy, sensitivity, clarity, emphasis, flow, suspense, brilliance, precision, proportion, depth and so on; kept each of these as poorly defined as Quality itself, but demonstrated them by the same class reading techniques. He showed how the aspect of Quality called unity, the hanging-togetherness of a story, could be improved with a technique called an outline. The authority of an argument could be jacked up with a technique called footnotes, which gives authoritative reference. Outlines and footnotes are standard things taught in all freshman composition classes, but now as devices for improving Quality they had a purpose. And if a student turned in a bunch of dumb references or a sloppy outline that showed he was just fulfilling an assignment by rote, he could be told that while his paper may have fulfilled the letter of the assignment it obviously didn’t fulfill the goal of Quality, and was therefore worthless.

Now, in answer to that eternal student question, How do I do this? that had frustrated him to the point of resignation, he could reply, “It doesn’t make a bit of difference how you do it! Just so it’s good.” The reluctant student might ask in class, “But how do we know what’s good?” but almost before the question was out of his mouth he would realize the answer had already been supplied. Some other student would usually tell him, “You just see it.” If he said, “No, I don’t,” he’d be told, “Yes, you do. He proved it.” The student was finally and completely trapped into making quality judgements for himself. And it was exactly this and nothing else that taught him to write.

Yesterday, in an email exchange with a co-worker about Extreme Programming, I said I was “leery of ‘programming methodologies'” like Extreme Programming but couldn’t fully articulate why. As I was re-reading this passage earlier today, the reason suddenly became clear. Extreme Programming and other programming methodologies are “just techniques, gimmicks, for producing what really [counts] and [stands] independently of the techniques–Quality”. Yet, all too often, they are “ultimates in themselves”.

Programming methodologies are not silver bullets that will magically produce Quality. In fact, I’d go as far as saying the opposite is what normally results. I’ve seen projects get so wrapped up in applying the programming methodology of the day that all focus on the end result was lost. The project becomes more about the means–the methodology–than the end–Quality. Just as outlines and footnotes can be invaluable techniques in writing, programming methodologies can be invaluable techniques, if used properly and kept in the proper perspective.

Unfortunately, I’m not convinced the proponents fully understand this.

From Zen and the Art

From Zen and the Art of Motorcycle Maintenance (pages 26-27):

I found the cause of the seizures a few weeks later, waiting to happen again. It was a little twenty-five-cent pin in the internal oil-delivery system that had been sheared and was preventing oil from reaching the head at high speeds.

The question why comes back again and again… Why did they butcher it so? These were not people running away from technology… These were the technologists themselves. They sat down to do a job and they performed it like chimpanzees. Nothing personal in it. There was no obvious reason for it…

… They were like spectators. You had the feeling they had just wandered in there themselves and somebody had handed them a wrench. There was no identification with the job. No saying, “I am a mechanic.” At 5 P.M. or whenever their eight hours were in, you knew they would cut it off and not have another thought about their work. They were already trying not to have any thoughts about their work on the job… they had something to do with it, but their own selves were outside of it, detached, removed. They were involved in it but not in such a way as to care.

Not only did these mechanics not find that sheared pin, but it was clearly a mechanic who had sheared it in the first place, by assembling the side cover plate improperly. I remember the previous owner had said a mechanic had told him the plate was hard to get on. This was why. The shop manual had warned about this, but like the others he was probably in too much of a hurry or he didn’t care…

Lots of this in the software business today, and it shows by how bad most software is.