https://www.martinfowler.com/bliki/ShuHaRi.html
[mf-name-wh]
[ ]
* Refactoring
* Agile
* Architecture
* About
* Thoughtworks
*
*
*
*
[ ]
Topics
Architecture
Refactoring
Agile
Delivery
Microservices
Data
Testing
DSL
about me
About
Books
FAQ
content
Videos
Content Index
Board Games
Photography
Thoughtworks
Insights
Careers
Radar
follow
RSS
Mastodon
LinkedIn
X (Twitter)
BGG
Shu Ha Ri
22 August 2014
[mf]
Martin Fowler
agile adoption
dictionary
process theory
Shu-Ha-Ri is a way of thinking about how you learn a technique. The
name comes from Japanese martial arts (particularly Aikido), and
Alistair Cockburn introduced it as a way of thinking about learning
techniques and methodologies for software development.
The idea is that a person passes through three stages of gaining
knowledge:
* Shu: In this beginning stage students follow the teachings of one
master precisely. They concentrate on how to do the task, without
worrying too much about the underlying theory. If there are
multiple variations on how to do the task, they concentrate on
just the one way their master teaches them.
* Ha: At this point students begin to branch out. With the basic
practices working they now start to learn the underlying
principles and theory behind the technique. They also start
learning from other masters and integrates that learning into his
practice.
* Ri: Now the students aren't learning from other people, but from
their own practice. They create their own approaches and adapts
what they've learned to their own particular circumstances.
The fundamental idea here is that when teaching a concept, you have
to tailor the style of teaching to where the learner is in their
understanding and that progression follows a common pattern. Early
stages of learning focus on concrete steps to imitate, the focus then
shifts to understanding principles and finally into self-directed
innovation.
There are other expressions of this style of learning. A more nuanced
approach is the Dreyfus model. I rather like Clark Terry's
formulation of this model: Imitate, Assimilate, Innovate.
Further Reading
You can find Alistair's (better) description of this in his book:
Agile Software Development.
Revisions
Originally posted 30 Sep 2006, updated to include the generalization
and mention of similar models on 22 Aug 2014
[ ]
Topics
Architecture
Refactoring
Agile
Delivery
Microservices
Data
Testing
DSL
about me
About
Books
FAQ
content
Videos
Content Index
Board Games
Photography
Thoughtworks
Insights
Careers
Radar
follow
RSS
Mastodon
LinkedIn
X (Twitter)
BGG
[thoughtwor]
(c) Martin Fowler | Privacy Policy | Disclosures