Esoterica and the Whichness of the Why
On Eric Evans’ Domain Driven Design group, there’s a discussion going on right now about Chris Partridge and others’ notion of Ontological Modeling. This is an approach to modeling that’s based in metaphysics, the philosophy of being. (That is, what is, and what is not.) General Ontological Modeling info can be found at the BORO Program Web site. Look here for Domain Driven Design material.
I asked a couple of questions about Ontological Modeling, Chris kindly replied, and pointed me to the book material for a new edition of his book. I was interested in the notation, which is in section five of the book.
After reviewing the material for a bit, I found myself quoting Inigo Montoya from The Princess Bride:
Let me explain ... no, there is too much. Let me sum up.
Then I said:
I have this reaction to much of the material I've studied over the years, and even more so to much of the material I've only touched on, such as DDD and now Ontological Modeling: There is too much. To really take an important role in practice, ideas need to get built into people's heads. Since most practitioners don't read much, they get most of their ideas from people they talk to, things they can read quickly, and most of all, from ... practice. Practice: that's what we do.
And that’s what this article is about.[AV]
The Work Teaches Us
Richard P Gabriel said “The work teaches us.” We learn by doing the work, by working in our medium, whether that is words or clay or code. We need to practice, whether that means practicing the piano, practicing Tai Chi, or practicing programming the bowling game over and over again. In our work, most of the practice we get is in actually doing the work, because when the day is over we need to do other things like dandle the kids on our knee or mow the grass. (Those things can teach us as well, of course.) But most of what we learn about our work, we’ll learn from doing the work itself.
This has implications for those of us who hope to change the world. One of the things we do is publish a lot. We write books, and we write articles, and we build web sites. We give talks. We cast our bread on the waters.
But what changes people is what they do, not what they read. How many diet books have I read? Am I thinner? How many self-organization books? I can’t even find them all.[II]
I was fortunate enough to find myself in a place where I got to do the practices that are sometimes called Extreme Programming. Had to do, one might say. And I learned some things, and I changed. For the better, in my opinion.
It was that experience that inspired Chet and Ann and me to write Extreme Programming Installed. We had read the philosophy described in Beck’s White Book, and we had lived it, and it resonated with us. But we realized that in order to have that experience, people needed to know what to do. Therefore we wrote about what to do, the practices as we then understood them.
Just Do It
There has been a long period in XP where the discussion has been around what you have to do to “be XP”. Early on, I thought, and others of us thought, that you had to do all the practices to be doing XP. For the past three or four years, though, I’ve been saying that there is no meaning to the phrase “doing XP”. XP is not the kind of a thing that can be done or not done. XP is an understanding that one has, to some extent.
There’s a commonality to the understanding that is XP: many of us think of ourselves as “doing XP”, or being members of the “XP community”. We can talk to each other, and often we can even communicate. And yet each individual’s understanding of what XP “is” is different. I believe that is as it should be.
To me, XP is a set of notions that inform my actions. Those notions have been learned, primarily through doing, primarily through making mistakes and being corrected. As I do things, as I make mistakes, and get corrected by other objects in the universe, I learn how to understand situations and how to choose actions that are likely to give me the outcomes that I want. I believe that to a fairly large extent, I “have” XP; I’ve got it; I get it; I grok it.
Unfortunately, of course, to a fairly large extent, I still don’t have it. That leads me to say and do things which are deplorably stupid. The good news is that these are usually opportunities to learn, because the universe has ways of letting me know when I screw up. (I call some of these ways “friends”. Others of them just seem like things that happen.)
All this is just to say that when it comes down to functioning in the world, we learn by doing. Reading, listening, thinking … these can give us ideas. But it’s turning the idea into action that counts.PR
Back to Ontology
What does this mean for ideas like Domain Driven Design, Ontological Modeling, and the like? And for ideas like Extreme Programming, for that matter?
I think it means that when we write a book like Eric’s, or Chris’s, or Kent’s, or mine, we can hope to touch just a few people. Many people will never see the book; some will buy it, fewer will read it. A few of those will do something differently.
The thing they do will often not look very much like what we intended in the book. But whatever it is, it will teach them, because the work always teaches us. They will learn something from the lesson, perhaps the thing we’d like them to learn, perhaps something very different. They may call that thing DDD, or OM, or XP, whether we’d agree with them or not.
Then those people will write books, or tell other people, and ideas will ripple outward from where we tossed our book into the pool of ideas. New readers and listeners will do new things and will learn from those. If history is any indication of the future, and it is,[FMLP] our ideas will be washed out rather quickly, and people will be doing really weird things in the name of DDD, OM, XP. Been there, seen it happen.
Is There a Lesson?
Well, this is an essay, so for me the lesson is in the journey. But I think there is a lesson and oddly enough it’s the one I had in mind when I started. The proponents of ideas like DDD, or OM, or XP want to help people.[NH] They are trying to influence people to have something better, to do things that will make their lives better. Idea peddlers are trying to get something to happen.
For me, the lesson is that the more practical the advice, the more likely it is to have the effect that we want, or at least to have some valuable effect. Because people learn from what they do, if we can get them to try something different, they’ll think something different, and they’ll deal with that difference somehow. Often, they’ll learn something of value, especially if the thing we ask them to do offers value in itself. It’s hard to go wrong recommending something that always helps a bit, such as a bit more testing or a bit more working together.
The idea is “Here, maybe you’d like to try this. Here’s what it does for me, here’s what it might feel like when you’re trying it.”
Faced with Domain Driven Design, or Ontological Modeling, I don’t know what to do. Sometimes, if the material is interesting enough to me, and I have enough time, I’ll figure out something to try. I’ve been an early adopter of a lot of programming and management ideas, and often I’ve had to translate the author’s intention into action steps. For me, that’s where it begins and ends.
It begins and ends with what we do. Therefore, let’s help people find new things to do. New ways of thinking will follow.
For an alternate and complementary look at practices, check out Dennis O’Neill’s article on practices as habits. I’d quibble with some of his points, but it’s an interesting way to look at the subject.
[II] Irony intended.
[PR] Many of you may not know that I invented the Pet Rock. It’s true: long before the product came out, I was ranting about pets and the attention they required. I said “Now a rock – that would be a perfect pet.” Unfortunately, I didn’t take the action required to get it to market. One more in a long list of missteps.
[FMLP] “The future will be much like the past, because in the past, the future was much like the past.” – author unknown
[NH] I’m expecting some push back on this notion that idea proponents are always trying to influence people. There’s been a bunch of discussion on the XP group lately about listening, and about helping people to find their own way. I’m thinking that maybe some of the folks on that area of the board will start some interesting threads about what they’re up to. My question will be, of course: Why are you telling us that? Is it so people will be just the same after you’ve been here as they were before?