Ryan Carmelo Briones

mostly harmless

Dogma and Pragmatism: Words to live by October 04, 2010

This “argument” started a few years ago in a way that many arguments start in our community (programmers, agile practitioners, craftsman); a conversation with Corey Haines 1. Some people feel that the words “pragmatism” and “dogmatism” should be stricken from the language we use to communicate about our craft and practices. If you haven’t already guessed, I disagree with this.

These words live on two different extremes of the English language. I believe these live and have a place at different degrees in relation to the skill level of a practitioner. With that in mind, I want to speak to them individual but in the end I hope to show the importance both in the path to perfection of ones craft.

Dogma

Here we find the definition of dogma according to Merriam-Webster:

something held as an established opinion; especially : a definite authoritative tenet

I think it’s the “one true way” interpretation of dogma really gets at people. Everything is subjective, right?

It’s my belief that being dogmatic is the way of the beginner. As a beginner we are given a box, we are told by our mentor this box is the way one practices our chosen skill and we practice relentlessly inside this box. In this way, I believe that dogma is good.

Other teachings on learning allude to dogmatic-like behavior in beginners. The Dreyfus model of skill acquisition tells us that the novice is to be given “tasks without context.” In this way the learner can develop a simple rule system for making decisions about said skill with little understanding of the problem and can practice the skill safely. Another place this has been reiterated to me lately is Aikido’s Shu-Ha-Ri. In “Shu” the student is taught to “to copy the techniques as taught without modification and without yet attempting to make any effort to understand the rationale of the techniques of the school/teacher.” This allows the student to build solid a technical foundation of skills in which further study of the art can be based.

How does dogma work out practically then? I think the way with the greatest potential for success to apply this dogmatic approach would be under the tutelage of a mentor or teacher. The mentor (presumably the master) understands this core theories of the skill the student is attempting to acquire and knows how to properly apply a dogma that is tailored your learning. Many of us are self taught these days, though. I believe a self-educator adopts the dogma of a single teaching through a trusted source of knowledge. Real life example of practical dogma; starting with Agile:

  1. I could beg Kent Beck to take me under his wing where he would (in theory) teach me about the 12 practices of Extreme Programming and enforce strict adherence them 2
  2. I could pick up Kent Beck’s book “Extreme Programming Explained” and I treat this as my bible.

Now as beginners, I believe we have to be diligent about staying in this box. Practicing these simple disciplines is important now, and forever, on the path to mastery because knowing these without thinking is the foundation we have to build upon in the future.

However, there is a time where we grow past beginner. This is where we begin to step outside the box. We allow ourselves to understand the theory behind our practices. Knowing where this line is drawn in the context of the mentor/apprentice path normally fairly clear. A more vivid, pop-culture example of this is from the movie “The Karate Kid” (good in the 80’s version, great in the in 2010 version IMO) where the student is given very specific tasks not related all to the martial art in question. Then all of the sudden, as if by magic, this knowledge is applied in the context of the martial art and the student is able to be extremely effective. Unfortunately for the self-educator (and even worse maybe, self-educating groups) this line is very vague and takes some “playing around with” based on a lifetime experimentation with learning many skills. It’s probably best for the self-educator to define a time box. Something along the lines of 6-months to a year maybe? Remember, the end goal is a muscle memory like knowledge of the practices of your skill. This surely isn’t accomplished in weeks or even a few months. (ie. test-driven development)

Pragmatism

Pragmatism I find a little bit harder to define, although maybe for a reason we’ll look at below. Again Merriam-Webster:

a practical approach to problems and affairs

Pragmatism, I believe, is the the domain of the expert or the master. Being able to be pragmatic comes a long period of dutiful practice and application with theory. The pragmatist knows how to apply, or not apply, a given practice because it’s ingrained in their muscle memory and they have worked hard to understand why this practice is effective through real life usage.

Both of our skill models, Dreyfus and Shu-Ha-Ri, use the same word to describe this state: transcendence. The master reasons intuitively about a problem based on tacit understanding of the problem. To say it another way, the master “just knows.” I think this is what is potentially hard for many to grasp about pragmatism. Few of us are truly at a state with a given skill that we can understand the way the master reasons about a problem. Again, we go to Kent Beck as an example. Kent Beck is certainly the master of test-driven development. It’s likely, and it seems very provable based on his writings, that Kent Beck consistently practices test-driven development. Yet, if one was to sit with him every day, there is a good chance they would find cases where he does not use TDD when approaching a problem. I’m sure he doesn’t have a checklist either (like the beginner might) to tell him when to use TDD and when not too. As he approaches a problem he likely gets a feeling as to why using TDD would be beneficial or not and just executes.

Again, in the same way the mentor knows when his apprentice has grown out of the box of dogmatism, the mentor also knows when the apprentice reaches ability to apply pragmatism to their skill. To the mentor, the apprentice’s skill reacts as naturally to problems as his own skill does. The mentor can teach the apprentice no more. The self-educator has a tougher problem. This phase is probably not something that can be detected from a time-based mechanism or any knowledge source. I believe (potentially) the self-educator enters this level based on a track record of successes and failures – experience in which they draw this tacit knowledge from – as well as continued disciplined practice.

Based on all this I believe that dogma and pragmatism still have a valid place in the vocabulary of the practitioner. We may not always be in a place to understand them fully and we may not always be able to practice them in the way they are intended, with a mentor 3, but I think these words provide a solid framework for developing a skill in the long path to mastery.

Footnotes

Footnotes

  1. This is to say that Corey Haines very open about his opinions, not that he’s a jerk :)
  2. Which he may or may not still agree with…
  3. If you want to learn more about mentoring and apprenticeship, you should talk to one of my mentors, Dave Hoover and/or read his book “Apprenticeship Patterns” if you are a self-educator type.