Level 5 means never having to say you're sorry

In Big Macs vs. The Naked Chef, Joel derides the least common denominator effect of formal methodologies:

This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2005/02/level-5-means-never-having-to-say-youre-sorry.html

Just a great post. Thanks.

Just a great comment. Thanks.

Ya, I’m definitely Level 5.

It’s somewhat coincidental that level 5 = number of fingers in one hand.

Level 5 = talk to the hand!

Not to be argumentative, but Hubert and Stuart Dreyfus came first. Benner applied their model to nursing. The comment that “It has nothing to do with software development” is ironic given the actual background of the model.

I believe you, but can you provide links that elaborate on this connection?

Regrettably the fact of CMMI accreditation does require that software teams implement the necessary processes throughout - program manager, analyst, developer or test we are going to have to think and work within a standards driven process. Which means learning it and practicing. Interestingly much compliance driven work has been outsourced to CMMI level 5 firms in Asia, while many domestic UK and US shops have not demonstrated achievement of level 3 CMMI competence.

No Best Practices

"And if you are one of those people who promote a ‘testing maturity model’ then you must be apoplectic. A maturity model is basically a gang of best practices hooked on crystal meth. In my maturity model of the industry, promoting a maturity model is mere level 2 behavior. By level 3, we outgrow it. "



I’ll modify the link, too…

Very interesting post, as usual.
Once I was inspired by the article (don’t remember who’s) about role of management in development process as a support service. This post makes perfect sense in continuation of this theory - here is a very difficult job for the management: find and juggle with perfect balance of rules and free hunting for a very diverse development force. Too often (I would say always) I see that seniority is assigned at the hiring point as the org chart prescribes it. Too bad if management thinks it’s job done at this point – the novices will not have their rule set to grow on good examles and seniors will be chocked away.

IMO, not having a CMMI or ISO 900 certification is not a good thing (the company I’m working for has none, but I’m not happy with this). IMO it only shows either the incapacity of an organization to formally describe and acknowledge how and what it is doing, or the lack of understanding of what advantages such a formal description brings with it - which IMO is the possibility to discover smart things and generalize them and discover bad things and elliminate them.

Also The Methodology is IMO also not a bad thing in itself. As long as The Methodology is a living body of rules, periodically revised and properly maintained, and into which’s maintenance feedback from the actual process is used, I think a Methodology is a must, especially in larger teams. What’s IMO wrong with The Methodology in most cases is that it’s always something hard to swallow for the senior ppl which initially established The Methodology that on one hand they may have been wrong, and on the other hand that the world is changing. Since those are usually the ppl with authority, in most cases The Methodology fails to be useful at some point in time. But 99% of all organizations getting the maintenance of The Methodology wrong still doesn’t mean that The Methodology in itself is a bad idea.

Other point here is that experts usually cannot work together. I think that this is because of their ego, so a humble expert is very rare combination. I believe that the ego developes within the grow process. That’s why a lot of famous people who achived some mastery in some subject are so eccentric. When a person becomes an expert, he starts to dictate the rules since he thinks that only he is at this level and others are not so skillfull. And becuase they are “not so clever” (here is the ego - I’m much smarter then the others), they have to follow the rules to avoid the mistakes - otherwise the goal will not be acvhieved. In this way, others cannot grow and achive the mastery, since they are always protected to avoid the mistakes (when the real learning happens IMHO, at least for levels 1,2 and 3, for next levels, person learns mostly with observations).
Good metaphore is too protective parents - how they protect the children (not-expierenced) for life - in the end the children are weak because they never tried “to cope with big problems”.
One of the chalanges is to develop a working social model where experts collaborate successfuly.

A very thought provoking article and comments there on.

Methodologies for methodologies sake would not deliver. A clear purpose of the methodologies must be established and a regular check on whether those methodologies are delivering must be made by the management and technical staff to be account to make the requisite changes to methodologies keep in continually delivering on the purpose.

In the least, the methodologies can establish a common vocabulary and a consistent understanding of terms used in the organisation and encourage consistent practices.

I think I’ve applied this to security guard training…lol

Level 5 no rules means you know the rules inside out, have used the rules and understand why the rules are there. Only then do you know when and where to break the rules.

Don’t hate Political Science majors. Remember the creator of Facebook took Sociology at Harvard because he said it would be a waste to learn what he already knew.

There should’ve been a level 6. An expert that is able to follow rules.

You’ve got a long way to go, pal. All I see is biased crap. A response from a level 0.

Level 0:

  • Incompetent and therefore skeptical about any body elses’ opinion
  • Offers opinion without support or detail
  • False sense of superiority
  • Forum and comment troll

I think that with this list the programmer would peak at 4. 5 looks more like a socially defunct programmer who walls himself from the ideas or opinions (and valuable insight) of others. By becoming intellectually isolated personal growth stagnates until their skills/knowledge become obsolete.

If I could fork 5 the other half would be

Level 5B: Expert and Lifelong Learner

  • Transcends guidelines/maxims/models by seeking and understanding the source of their inception
  • Can solve problems intuitively
  • Actively seeks challenges to feed curiosity and personal enjoyment of defeating those challenges
  • Feels need to share knowledge and experience with other programmers because he enjoys sharing in on the fun
  • Looks at future challenges with delight and enjoys that one can never know too much

I have worked with a Level 5A before and it sucked. He whined and moaned about doing less challenging tasks because he felt it was below him. It took considerable amount of effort to get him to engage as a team player. He was blind to see benefit of other people’s ideas. He also had trouble adapting to new ideas beyond his expertise. He was great on his own but as a team fuggetaboutit.

I have also blessed to work with a couple 5Bs. One guy was literally a genius with a photographic memory. He also needed a partner to work with because he moved from one project to another so fast that he needed someone to follow him around documenting everything he did. He had a childlike disposition and he clearly loved and loved to share the work he did. I also worked with another who was team leader on one of the early 80’s variants of *nix. If you asked him about anything technical he would eloquently explain from the basic interpretation to the advanced. Even if you knew what he was talking about, he would still insist. This guy could punch out effective and working code in record time. While working with him I could ask him questions about the theory of what I was working on he was more than happy to help but when it came to details of implementation I was completely on my own. Not to mention that they get excited about talking about new technologies and ideas they they don’t know about yet. These types are awesome to work with and it’s impossible not to learn from them.

What’s really interesting is when you get a small team together for s startup. You start with a single Level 1, because they get stuff out fast. Since they’re the first one there, there’s the expectation that they will eventually become the leader, or management. As the company grows, and brings on higher level devs, really weird chemistries can develop as a result. Level 1 dev tries to grok the maxims and intuitions of the rest of team and often misinterprets, leading to lots of refactoring by everyone else.

@Evan Level 0 is hilarious…

Maybe I don’t understand to the point of this blog post, but it’s rookies who {don’t know, are not willing to learn and follow} any rules. As a result a software project is always misdesigned or does not go through the design phase at all. Then its security is zero and its performance is frustrating. Maintainability of such a project is also very bad, because it does not do what you’d expect when you know the standards. It does something completely wrong and pretends everything is fine by its User Interface. A customer does not know what’s under the hood and it also may look, like nobody cares. But those pigs who disrespect rules and standards in software should have never write a single line of code. They are ruining ICT.

A truly experienced person follows the standards, the rules AND invents / designs completely new revolutionary concepts / methodologies / patents and does globally useful research over existing things / rules / standards in order to increase their effectivity. For example Dennis Ritchie vs. C and the new C0x C++ standard. Or the new ECMA to have JavaScript 3. The people who create these are for me the experts. But a douchebag who disrespects rules and standard is just a f***ing nobody, regardless of any commercial success.