Agile SCM: Martial Arts Principles

The authors look at software configuration principles in terms of how they might relate to the martial arts. They discuss ways to learn new skill and master them, how to handle conflict, energy, efficiency, and timing.

We've been looking at principles of other fields such as OO and seeing how they translate to SCM principles. In a variation on this theme (and because of personal interest), we wanted to write about what the principles and practices of martial arts might have of relevance to us as SCM practitioners.

Which Martial Art is Best?!
Of course there are myriad different types of martial arts with some very different outlooks and approaches. There are also many similarities, for example there are limits as to the number of different ways in which you can manipulate the human body, so different arts may have independently discovered very similar if not identical techniques (and effective techniques are often "borrowed" in any case).

Anyone practicing martial arts will get asked "which martial art is the best one to study", often with the initial expectation that there is only one answer. The answer of course starts with a question - "why do you want study martial arts?" - effectively this is saying "what are your requirements?".  Some excellent advice is to be found in FAQ for rec.martial-arts:

It depends heavily on your objectives, but remember, these may change with time.  Many people who begin martial arts training strictly to learn self-defense become quite interested in other aspects as their training progresses.

Someone who is young and fit may be more attracted to one of the apparently more physical arts, whereas an older person, whose body is starting to creak and ache a bit may focus on other factors.

Looking more at some of the common themes in martial arts, we think it is interesting to consider where the processes and philosophies are similar.

Learning the Skills and the Path to Mastery
The Japanese have the concept of "shu, ha, ri" in which applies to martial arts, but also other skills from dance to calligraphy. Summarising briefly, in Shu you learn the techniques (the outward forms) and perhaps history of the school or style. The focus is on  replicating what the teacher demonstrates. In traditional schools and training methods, shu can last for years, or even decades. It is not the time to be demonstrating your individualism!

Ha is when you start to gain a deeper level of understanding or insight into the techniques, and really appreciate what a particular technique is really achieving, and perhaps why a detail which may at first appear insignificant is actually rather important. It is also a stage where your techniques may start to have a different outward appearance to those of your teacher, and indeed is often considered the point where you may "break" from your teacher and start to go your own way.

Ri is where overt techniques disappear and there is freedom to improvise and yet be true to fundamental principles. This is a level of mastery which is not often achieved.

This concept occurs elsewhere - Bruce Lee's Jeet Kune Do refers to: "learn the principle, abide by the principle, discard the principle".

George Leonard in "Mastery: The Keys to Success and Long-Term Fullfillment" refers to martial arts as well as many other sports and activities:

    • Mastery is the Path not the Destination
    • Progress is a series of spurts of improvement separated by increasingly long plateaus of seemingly little learning or understanding. Almost always those who are at the top of their field are the ones who love to practice (love the plateaus).
    • The essence of boredom is to be found in the obsessive search for novelty. Satisfaction lies in mindful repetition, the discovery of endless richness in subtle variations on familiar themes.
    • The


About the author

Robert Cowham's picture Robert Cowham

Robert Cowham has long been interested in software configuration management while retaining the attitude of a generalist with experience and skills in many aspects of software development. A regular presenter at conferences, he authored the Agile SCM column within the CM Journal together with Brad Appleton and Steve Berczuk. His day job is as Services Director for Square Mile Systems whose main focus is on skills and techniques for infrastructure configuration management and DCIM (Data Center Infrastructure Management) - applying configuration management principles to hardware documentation and implementation as well as mapping ITIL services to the underlying layers.

About the author

Brad Appleton's picture Brad Appleton

Brad Appleton is a software CM/ALM solution architect and lean/agile development champion at a large telecommunications company. Currently he helps projects and teams adopt and apply lean/agile development and CM/ALM practices and tools. He is coauthor of the book Software Configuration Management Patterns, a columnist for the CMCrossroads and AgileConnection communities at,  and a former section editor for The C++ Report. You can read Brad's blog at

About the author

Steve Berczuk's picture Steve Berczuk

Steve Berczuk is a Principal Engineer and Scrum Master at Fitbit. The author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, he is a recognized expert in software configuration management and agile software development. Steve is passionate about helping teams work effectively to produce quality software. He has an M.S. in operations research from Stanford University and an S.B. in Electrical Engineering from MIT, and is a certified, practicing ScrumMaster. Contact Steve at or visit and follow his blog at

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!