In line with FourLevelsOfCompetence
, I am working these days to ThreeLevelsOfAudience
(Oh My, aren't we becoming Chinese here: the Gang Of Four, Trial of Five, 9 Ways, etc. frightening (but off topic)).
- People learning, for whom it is important to have a procedure, heuristic, or set of rules to try to follow.
- People who are at the point of learning to break those rules.
- People so accomplished that rules have transitory value only; they pick up and put down rules by the second.
The point being that when a learner says, "How do I do OO design?" (or whatever), it is not useful for the expert to say, "Oh there are lots of ways, just use your judgement,etc." The learner wants 1 way that gets somewhat close, in order to develop some facility.
The level 2 audience is ready to talk about heuristics for varying the rules -> converting rules to heuristics.
The level 3 audience knows that all the heuristics are personal and somewhat arbitrary. It is easy for these people to get bored with discussions of heuristics and say anything goes. They can provide counterexamples. The discussion with them often sounds Zen. "Do whatever works" "When you are really doing it, you are unaware that you are doing it." "Use a technique so long as it is doing some good." See CodeIsJustCode.
The upshot being that technique descriptions and methodology tomes are mostly for Level 1 audiences. That does not make them useless, it bounds their use.
Being reflective for a moment, it seems that this description, which is the best I can muster for the moment, is written at Level 2, since it discusses the heuristics for varying away from rules.
I think we need a Level 0, for the people who just want to throw rotten fruit and monkey wrenches.
p.s. This informs me about the writing of Methodologies.
At Level 1, the methodology might tell the group any or some of the following: these are the techniques to learn, these are what the deliverables look like, these are the workflows, these are the group policies.
At Level 3, the methodology only says, "These are the group policies". The people are supposed to know how to do their work.
The reason I need this, is because my newest methodologies, the CrystalMethodologies
, are all aimed at level 3 readers. I -and my readers- were struggling with CrystalClearMethodology
, because it doesn't give enough
guidance (to level 1 readers)... it presupposes there is someone advanced enough to read it and do the extrapolations to their own project in their head. The implication is that I should add a Level-1-reader section to be specific, while making it clear to level 2 readers where the variance occurs, and level 3 readers what the policies are.
The above sounds similar to the budo concept "shu, ha, ri" (see ShuHaRi
) which translated from japanese roughly means "hold, break, leave" and illustrates the levels of learning of a person. --DanielSvennberg
. See for example:
Love it love it love it. Gads I'm only a few decades (or centuries) too late. --AlistairCockburn
Know when to hold 'em, know when to fold 'em, know when to walk away, know when to run
"A good process is no substitute for knowing what you are doing."
Funny I keep coming across this concept in different arenas. I was first introduced to the idea of different levels of learning by the FAA... only to come across the shu-ha-ri discussion in aikido several years later. (My post relating shu-ha-ri to the FAA "levels of learning" at: http://www.aikiweb.com/forums/showthread.php?p=52730#post52730
Here's a poser, though: how does one deal with audiences who think Level 1 is the ultimate goal?
Implicit in the discussion on this page is that there should be a progression from one level to the next. Whether you are a martial artist, a student pilot, or an OO-head, you need to expand your learning style if you expect results. I've been encouraging co-workers to be willing to "break" when it is the right thing to do; when departing from the Rules (whatever they may be) will increase the success of the project. To get comfortable with the dogma at Level 1, and then move on.
But some personality types seem to NEED to stay at level 1. Staying at shu/hold, Rote, or Cockburn's "Level 1" is seen as somehow better
than moving to the other levels. Usually the perceived value is discussed in terms of controllability, repeatability, certainty, etc. (The CapabilityMaturityModel
is often cited to support this reasoning.)
For these people, I think it's closer to a CulpabilityModel? (i.e. who can I blame).
The only idea that comes it mind is that all technique descriptions and methodology tomes should contain some caveat; "herein lies a methodology, a simple distillation of a very powerful body of knowledge which you can never learn from a book. Apply the methodology if you must, but also Question Authority."
Doesn't seem like it'd be a very popular message, though. Blah.
As for same personality types NEED to stay at level 1... I think it's more likely that some people need *others* to stay at level 1... KayPentecost
Yes, this is when it causes arguments. If you feel you need to stay at level 1, you probably do. If you are at level 1 and feel others should be too, you could be wrong. I would say a third-leveler would recognise if someone should be a first-leveler, though. I hope that makes sense; this isnt the easiest thing to write about, as i dont know where my audience is. ;-) -- JamesKeogh
Some people need to stay at level 1 as its a "safe" place to be, with its rule books and prescriptions. At what point of time is the beginner ready to move on to level 2? And how does he know? -- Krishna
Probably, he will not know, and it will either happen or not. Likely, he will not be aware of the whole process until after he has reached level 3, and wonders why the newbies struggle so hard with details that don't really matter.
Before we talk about those who "need to stay at level 1", let me suggest that all of us
are those people. We aren't people at level 1, 2, or 3; we're people with skills in 1, 2, or 3.
As a programmer, I'm a 2 or a 3 depending on context. As a chess player, I've been a level 1 all my life. I'm just breaking into level 2 (maybe) as a cook. We all have level 1 skills, because we don't have the energy to invest equally in everything we do.
Level 1 gets you moving in roughly the right direction. An experienced professional in any field is at least a 2 in their professional skillset. But we all have a bunch of skills we keep at level 1 just to get by, and we likely have no interest in investing the kind of time and effort it takes to improve to level 2 or 3. --RobMandeville
This page is written at level 1. See ThreeStagesOfKnowledge
for a level 3 description.