I've been during last week in Tampere for the
Nääsvillen Oliopäivät, or OO Days. The conference has been good, excellent talks during mornings (
Alistair Cockburn, Pekka Abrahamsson and
Jim Coplien) but way too many sales speeches in the afternoons, and no OO at all!
Alistair's keynote was about the few foundations that he founds crucial for software development and about properties of a successful teams. The first foundation he highlighted is that software development is a craft (quite surprisingly I had a conversation on the same topic with my friends Ari Tanninen and
Marko Taipale while driving to Tampere the morning before the presentation). As a craft it has to be learnt, and about learning Alistair used a Japanese concept called
Shu Ha Ri. It says that there are three stages in learning:
-
Shu (traditional wisdom): you learn the basics of a technique, applying its rules blindly
-
Ha (breaking with tradition): you reflect on the technique, finding exceptions to its rules and reflecting on them
-
Ri (transcendence): everything is now natural, there's no need to think about the rules
I see that as really actual, and especially I see two big pitfalls coming out from that: people in
Shu never leaving that stage and people in
Shu trying acting as they would be in
Ri without having the right knowledge and understanding.
For example, it's a very well known fact that the majority of projects using scrum fail. There's a good literature about that, and usually the causes are: teams sticking to what the book says, without adapting the scrum framework to their own needs (
Shu people sticking there) or teams trying adapting the framework to their needs to early, when they don't yet understand it (
Shu people acting as
Ri).
After that and all the other talks my personal conclusion is that the key to success is not in tools, frameworks, processes and such. It's in people. And it can be summarized in one simple rule:
THINK!