Friday, June 29, 2012

The Sculptor

You never know where an insight will come from.  I've been designing software for over 35 years, but it wasn't until the last 10 that I came across Christopher Alexander's "The Timeless Way of Building" (an architecture book) because of a recommendation by Alan Shalloway, when I joined Net Objectives.

I learned a lot from Alexander, but one thing I could never quite understand was the one thing he said was actually the main thrust of the book, namely that you should favor "design by differentiation" over "design by synthesis".  The latter I kind of understood: building things by finding pieces and then putting together whatever you can with the pieces you found.  I'd done that for years -- ask the customer for details about the problem domain, make those things into objects, and then create an object-oriented design based on the objects.  This seemed reasonable, and after all what else could one do?

But Alexander said to disfavor this approach in deference to "design by differentiation".  His description of what "differentiation" actually is however, totally eluded me.  So I understood that the approach I took was not such a good one, but the better way was incomprehensible to me.  Frankly, this was kind of frustrating.

But then I got... lucky.  I tend to.  I happened upon a very kind and helpful man who, unknown to himself, resolved this conundrum for me entirely.  He was, in fact, a sculptor.

I was perusing the Bellevue Art Walk with my wife, Andrea. She is a very skilled artist, and we go to these fairs pretty regularly because she has an abiding interest in art.  The Art Walk consists of blockading several blocks around Bellevue Square (disallowing traffic) and inviting artists to display their works to the pedestrians.

I like art, but the art fair is not my favorite venue to enjoy it in; they are usually conducted on very hot days, and I seldom see any artist selling any art, so I find them kind of depressing.  I often wonder how these people are able to feed themselves.  Anyway, we'd been there for about an hour, and I was grumpy.  I was sweating in the summer heat, and totally bummed about the failure of the artists I saw to sell anything at all.  I told Andrea this, and she suggested we stop for an iced coffee, to cool off and cheer up.  It seemed like a good idea to me.

The thing is, and here's the lucky part, they had designated the parking lot of the local coffee place as the "scupture garden", and thus all the sculptors were there in a large group.  In order for me to enter the coffee shop, and thus to get my coffee, I would have to pass by them all.  Otherwise, I would not have paid them much attention, given how out of sorts I was.  I had no choice, however.
It turned out that two of the sculptors, one at the entrance of the garden and one at the far end (at the front door of the coffee shop) had by happenstance chosen the same subject matter; a particular kind of fishing bird called an osprey.  

An osprey hunts in a most unusual way; as it flies above the water it looks for the shadows of fish that are just under the surface.  Seeing one, the bird simply folds up its wings, extends its talons, and starts to fall from the sky, like a stone.  It is a large bird, and can quickly pick up speed in this way.  By the time it strikes the water, feet-first, it is moving so fast that the fish has no chance to react before it is in the clutches of the bird's very sharp talons.

But, now the bird is in danger of plunging into the water itself and, being not-a-duck, does not want to.  It would surely drown.  So, at the last minute, the bird unfolds its massive wings and, beating back against the air, reverses direction abruptly and emerges from the splash up into the sky, flying away with its prey as the splash collapses just beneath the bird.  An amazing thing to behold, this, and it was the very moment that both sculptors had chosen to capture.

Showing movement in sculpture is tricky, and they both had taken on the challenge in different ways.  The first sculptor along my path was the sort of artist who, I am imagining, goes into a junkyard or rubbish pile, and finds pieces of interestingly twisted metal, odd shapes of industrial machienery, and so forth.  Taking these items back to his shop, he assembles them into an abstract representation of his subject matter.  His product was interesting, but frankly I (as a rather naive art critic) could not really see the bird in what he had done.  I'm sure that's what the artist intended; not a literal representation of the bird, but an expression of... his own reaction to it, or something like that.

But the other sculptor, at the opposite end of the garden, was the sort of artist who works with what I considered to be more traditional methods, they way sculptors in the movies seem to always work.  Take a block of marble and, using chisels and drills and so forth, create a literal representation of your subject matter.  His osprey looked more like a real osprey to me.

In fact, this piece was unlike the typical artwork.  In my experience, most art requires that you stand back a little in order to appreciate it.  Get too close, and it begins to lose its beauty.  This piece, however, looked better and better as I got closer to it; and thus I ended up standing directly in front of it with my mouth hanging open.  It was amazingly impressive and realistic-looking.

The sculptor noticed my interest and, obviously hoping for a sale, sidled up next to me and said "you like that, do you?"

"Yes!" I replied.  Then I noted the price tag.  "And if I had $16,000 to spare, I'd love to buy it.  But I don't."
He smiled.  "No problem, glad you enjoyed it anyway.  Someone will buy it eventually."

But then it struck me.  The first sculptor, what he had done; wasn't that design by synthesis?  He started by looking for parts, and then made what he could make given the nature of the parts he happened to find.  Isn't that like looking for objects and then trying to assemble them into a structure?  In fact, I recalled Alexander saying that a design by synthesis lacked "the character of nature."  I noted that his osprey didn't look nearly as real as the one the second sculptor created.  So, maybe what the second sculptor was doing was an example of design by differentiation. 

Of course, I had no idea how such a sculpture is created. So I said "I don't want to take up your time since I'm not a potential customer here, but do you mind if I ask you some questions about how you did this?"

He was very nice and said I should ask him about anything that interested me.  The problem was, I was not sure what I wanted to ask, exactly.  So I started with an obvious one: "How do you begin?  Do you work from photos of ospreys, or drawings, or actual birds?  Do you go to the zoo?  Do you bring a bird back to your studio to observe it?"

He said "In the beginning, the bird is not important."

This surprised me.  "Really?  Well... then what is important?"

He smiled.  "The money," he said.  "I rarely work without a contract.  I don't just sculpt things in the hope that maybe, someday, someone will buy it.  I did in this case, but that's rare.  Usually I work on commission."
Makes sense, I thought.  I don't work for free either.

"So, let's say," he continued, "that you have a new building scheduled to open in the fall, and you want a sculpture of, say, a hunting osprey for the lobby.  You contact me with the request and we work out how much I'll be paid, how much I get up front, what budget I have for purchasing the marble, when it needs to be completed, and so forth."

"I get you.  But then, what representation of the bird do you use?"

"None," he said.  "It's too early for that."  As the conversation continued, it became clear to me that there was a lot he had to do and discover before even contemplating the actual bird itself.

First, he would need to visit the actual site, the lobby in this case, where the sculpture would eventually be installed.  He'd need to know the dimensions of the area (to ensure the finished work would physically fit into it, and also be attractive and "right sized"), he'd need to know the color scheme of the surroundings (marble comes in lots of colors, and a pink artwork in a blue enviroment would look clownish), the patterns of light entering the room at various times of the day, where visitors in the lobby were going to sit, and so forth.  The environment where the completed work would be installed must be taken into account before beginning the work.

Also, once armed with these notes, he would have to visit a marble quarry and seek out a piece that was of the right size, the right hue, and which he could afford given the constraints of his contract.  There may be only one piece that would fit all the constraints and requirements and limits.

Having purchased the marble, he would take it back to his workshop and examine the raw material.  Each piece of marble is different; they all have different grain patterns, flaws and cracks, weak and strong points, and if the sculptor is not highly aware of these then his work might fracture or even crumble into pieces before it is complete or when he tries to move it to the installation location.  Only certainly things are possible with a given piece of marble.

What I realized from this was that the sculpture started not with the subject, but the context in which the subject would be placed once it was completed.  Again, recalling Alexander, I remembered his phrase "design by context."

"When does the bird come into it?" I asked.

"Right about now," he said.  He had taken photographs of ospreys hunting in the twilight hours, which is their preference, and then blew the pictures up large and mounted them on the walls of his studio.  He particularly focused on images of that critical moment when the bird is emerging from the collapsing splash, taken from various angles.

"Okay, so now the actual work begins, " I said.  "How does that go?"

He explained that what he liked to do what sculpt the entire piece, from the tip of the beak to the end of the tail-feathers, from the arch of the wings to the talons with the fish captured, very quickly and very roughly.  In a scant few days, perhaps a week, he would have a completed piece; but everything would be very vague.  The bird's head would be a simple oval, the talons like orange traffic cones, the wings just large triangles, etc...  complete, but very little detail or nuance.

Having completed the work, he would stop, look at it, look at the photographs, think, and then take it on again; the whole piece from one end to the other, but on this pass over the work he would be adding just a bit more detail to each part he encountered.  Having completed the second pass, over another few days, he would stop, look at it, look at the photographs, think, and start again.  More details would be added on the third pass, and on and on and on.

As he was explaining this to me I began to think about my industry, software development, and how in the past several years we've been changing the way we work.  Where we used to think of software as an activity conducted in discreet phases (analysis, design, coding, testing, deployment) we've been moving toward more incremental approaches, as suggested by eXtreme Programming, Scrum, Lean-Agile, and the like.  In each increment we do everything from analysis to testing, over and over again.  

So I said "I'm a software designer, and I have to tell you that we're doing something similar when we make our products these days.  I think I know why we do that, but tell me, why do you do that?  Why do you work in an incremental fashion like that?"

"I started doing this because of the schedule commitment that my customers almost always want.  When I promise to deliver a sculpture in 6 months, I do so in good faith.  It is my best guess that the thing will really take 6 months to complete, but in fact I'm probably wrong.  I find it devilishly difficult to estimate how long a given piece will take because in reality while they share some similarities with other works I've created, no two sculptures are really enough alike that I can tell you how long the next on will take.  It's my best guess, that's all."

I didn't say anything, but I thought "man, I know just what you mean.  I have the exact same problem."

By working in this way, he explained, it meant that when the day came to deliver the finished piece he would have something complete and ready to display.  "It might not be the best thing I could ever do," he said, "but it will be the best I can do in the time alloted, and it will be very good.  If, on the other hand I just focused on one part of the bird, say the head and shoulders, and refused to move on until it was perfect... it's possible that the deadline would arrive and all I'd have is a head, shoulders, and a huge chunk of raw marble.  That's not going to be acceptable to my customer."

All of this washed over me, and got me thinking about the concept of "design by differentiation" that Alexander had talked about.  I thought the key to understanding this was almost in my grasp, if I just sat down and thought about it.  I thanked the sculptor for this time and started to head to the coffee shop for the iced coffee I'd originally wanted, and some time to think.

"Wait," he said, stopping me and smiling.  "I have not told you the most important part." 

"Oh?  What's the most important part?" I asked.

"This sculpture, the one you were so impressed with?  No deadline.  I just had this idea and wanted to get it into stone before the inspiration passed.  I hope someone will buy it some day, but in this case there was no commission, and therefore no schedule.  Nevertheless, I did sculpt it in that same incremental fashion."

"Why?" I asked.  "You had no limit, you could have done it any way you wanted to."

"Because," he explained, "it's the only way to do it.  I started working this way due to practical concerns, but now that I've learned how to approach sculpting incrementally I know it's the right way to proceed anyway."

"What do you mean?"

He smiled again.  "Come here," he said, motioning me with his hand, "and look closely at the osprey.  I'm going to tell you something about it and you're going to agree with me, but you won't know why you're agreeing.  You'll just know I am right."

He really had my curiosity going now.  He pointed to the bird's eye and said "see how the pupil of the eye is angled relative to the beak?  Yes?  Okay, remember that, and move around to the other side and look at the bird's back."  He pointed out, on the broad powerful back of the bird, that one could sense, under the feathers, just how the muscles were flexed.  He asked if I could sense that and I said that I certainly could.

"Here's my statement: given the position of the pupil in the bird's eye, that is how the muscles would have to be flexed.  Or, conversely, given the way the muscles in the back are flexed, the pupil would have to be positioned the way it is.  Otherwise, it simply would not be right."

I looked, I thought, and he was right.  I could not explain why, but these things matched... somehow.  He went on for about 15 minutes pointing out similar things.  Because the bird's tail was angled downward, the tips of the wings had to have a slight upward bend.  Because the talons were extended unevenly, the beak had to be slightly open and there needed to be a small bump on the back of the neck.  Because of this, that.  Because of these things, those things... on and on.  And I realized that I, since my early childhood, had seen birds in various situations and my mind had absorbed all these myriad details about what they are like, how they move, their essential nature... things I cannot really explain or describe, but when I see them I know them, and I respond because my mind says "that's right, that's how birds really are."  

This was why I'd been so impressed with the piece in the first place.  It looked real in ways that spoke to my subconscious appreciation of nature, and this created a profound effect in me.

I explained my theory to him, and he nodded.  "That's right.  Everything is the way it should be, and you felt it.  It worked because a million little details are correct."

"That's amazing!" I said, "you're clearly a genius.  How in the world could you possibly get all those details correct?"

His eyes twinkled at the compliment, but then he said, with a laugh "you've got me.  I have no idea.  It's too complicated, too subtle, too nuanced for a mere human like me to ever hope to get it right.  It's not me, it's the process itself that makes it work."

He went on to explain his best theory of why this worked.  On each iteration he was not only adding details, but he was learning about each aspect of the bird in the context of each decision he was making, as he was making it.  He, like me, had spent his life absorbing all these unspoken details about real birds in nature and, guided by this as the photographs reminded him, and guided by each decision he had just made the increment before, his current decisions were contextualized, and produced the quality of nature that a good representation must have.

"I learned," he said, "quite by accident that sculpting is not a process of planning and then executing the plan.  Sculpting is a process of learning, of unfolding.  The piece emerges as a result of a million little decisions, each made proximate to other decisions and, as each decision is informed by the previous ones, it in turn informs the next ones.  Gradually a bird is born, complete and organic and natural."

This is the process Alexander was describing, and in fact he alluded to something that might have made it clear to me in the first place:

"The image of the differentiating process is the growth of an embryo" he wrote.

We know, from the work of biologists, just how this works.  Termed "ontology" it starts with single, simple cell, which then splits into two.  These two become four, then eight, then sixteen and so on, all the cells identical to each other.  It is not until enough of the embryo exists, what biologists call the blastocyst, and we have what they term "the context of the organism" that we begin to see the cells differentiate and become the hearts and lungs and tendons and nerves, and the creature emerges in full.  

This is how nature does it, always.  Nature knows what she is doing.

So now I understand that software design should be done this same way.  Not by starting with objects and attempting, lego-style, to assemble them into a design, but rather by starting with the problem... what is important to the customer, how they make their money, what their risks and competitive pressures are, what the knowns and unknowns are, and then to start small and simple, and allow my design to emerge.

This is why design patterns work.  This is why test-driven development works.  This is why agile approaches are essential.

-Scott Bain-

No comments:

Post a Comment