Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 08 | Comments: 18

filter by tags archive

Implementing Methodologies

time to read 2 min | 226 words

I am writing this in a bar in Malmo. Sitting with a bunch of guys and discussing software methodologies. I had an observation that I really feel that I should share.

Most software methodologies are making a lot of implicit assumptions. The most common implicit assumption is that the people working on the software are Good people. That is, people who care, know how and willing to do.

This work, quite well, in the early adopters phase, since most early adopters trend toward these set of qualities anyway. The problem is when the early adoption phase is over, and the methodologies hit the main stream. At this point, the implicit assumption about Good people no longer hold true.

Just to annoy Scott Bellware, here is a big problem that I can find with Lean just from the things that I heard about Lean from him. Toyota hires the top 2% of the engineers that they interview. A lot of the methodology assume a competent team, or at the very least, a competent chief engineer.

I don't think that I need to state that competency is not universal.

If your methodology assumes competence, and most of the methodologies that we (as in I and like minded people) would find favorable do assume competence, it is going to fail in the treches.



Are you seriously carrying your Air to bars with you now?


I agree. It is one thing for one developer to understand the gains from following a certain practice, but it is a completely different thing for that developer to make his colleagues understand the gain.

It can take a while for some people to understand the value of thorough unit testing, although it is my impression that most people can understand this. But stuff like TDD, IoC, SOLID and even continuous integration seem to be more difficult to grasp, and I don't think all developers will understand and/or accept it all. I have certainly experienced this by working with my own colleagues.

But I also think that if we give up on those colleagues, we are copping out. If we see ourselves as good software developers, we need to get better at passing on that learning we believe makes us good to people who might not seek out that learning by themselves and I think the notion of software apprentice could be really useful for this.

Lior Friedman

yes, you are right.

But have you ever seen a methodology that works with an incompetent team?

or put differently, have you ever seen an incompetent team succeed?

Ryan Roberts

Even 'no brainer', obvious improvements that don't require learning investment can cause problems. I recently made a political mistake introducing CI to a codebase that is shared with developers from another company. They freaked out big time (despite agreeing to it in a meeting) and demanded that I remove it as It was 'nearly Christmas', so we must carry on using ad hoc builds from their developer machines to avoid problems.

The code they produce really is the most stereotypical late 90s vb6 voodoo stuff 'intValue as string = false' 800 line methods levels of horror. The worst of of is that they don't even know how bad they are, choosing to spin necessary basic improvements to process and technique as dangerous so they can stay in their comfort zone.

Mr ludd is still alive and well in the north on England and is working in IT

Comment preview

Comments have been closed on this topic.


  1. Concurrent max value - 2 hours from now
  2. Production postmortem: The case of the memory eater and high load - 3 days from now
  3. Production postmortem: The case of the lying configuration file - 4 days from now
  4. Production postmortem: The industry at large - 5 days from now
  5. The insidious cost of allocations - 6 days from now

And 5 more posts are pending...

There are posts all the way to Sep 10, 2015


  1. Find the bug (5):
    20 Apr 2011 - Why do I get a Null Reference Exception?
  2. Production postmortem (10):
    14 Aug 2015 - The case of the man in the middle
  3. What is new in RavenDB 3.5 (7):
    12 Aug 2015 - Monitoring support
  4. Career planning (6):
    24 Jul 2015 - The immortal choices aren't
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats