Right after college, when I was starting off on my own in the world, I lived with a roommate who was an avid fan of Bruce Lee. Through osmosis I came to learn quite a bit about this intriguing pop culture icon of the 1970's - Bruce Lee, not my roommate. For those of you who may not have heard of Bruce Lee, he was a martial artist and filmmaker of some renown in the late 60's and early 70's. His life was cut short by a freak brain aneurysm at age 33. Prior to this, Bruce (as a fan, I feel I can call him Bruce) revolutionized the American view of the Asian culture through his movies, and is largely credited with reshaping the global view of martial arts. As is often the case with highly successful individuals, it was not just his skill at his craft, but his underlying philosophy that made him so extraordinary. He would have also made an awesome project manager.
In his early years, Bruce focused on one style of martial arts. However, as he progressed he became increasingly frustrated on the limits imposed by practicing just one type of discipline. His goal was to be the ultimate fighter; able to adapt and defeat any opponent no matter what the situation or the style his adversary employed. He believed he needed to develop his own style that borrowed from all existing styles. The style that Bruce developed was called Jeet Koon Do, which literally translates to "The Way of the Intercepting Fist". It's why I named this article as such and why I think he would have made an excellent project manager.
I began my work in technology consulting as an extraordinarily average software engineer (though labeling me as such truly discredits software engineers). As I progressed in my career and realized the world's systems were better served (and safer) by me managing rather than developing them, I came to realize how important adaptability is, particularly in consulting. As technology consultants our processes and procedures have to be dynamic to handle each client and each engagement. I bristle when I encounter anyone who states - "we only do [insert methodology here]" because I feel strongly that one methodology cannot possibly be the best approach for every software project. Certainly all projects have the same basic questions that should be asked - "What are the requirements?"; "Which technologies work best to meet the requirements?"; "What are the biggest risks?"; etc. But the most successful teams understand what aspects of methodologies to jettison or go lightly on, and which aspects require more focus and rigidity for the task at hand. Additionally, as consultants we sometimes face the challenge of following our basic tenets while also adapting them to fit a client's existing process.
At OmniTI, what we do involves just about every aspect of IT consulting. We have assembled professionals with skills in graphic design, software engineering, database design/administration, and hosting/network administration. We build custom applications; help customers re-imagine the look and feel of their websites; and provide hosting and scalability consulting in the areas of database and networks. Some engagements bring all those disciplines together and others require a subset of our skills. Our approach is to employ the necessary aspects of our development life cycle based on the circumstances of the engagement and the people involved. I am constantly urging our teams not to be a slave to a particular tool, process, or methodology, but rigidly enforce basic thought processes and tenets. If the client wants to use SharePoint as a document repository then we need to adapt and use SharePoint. The key is that we still have an understanding of the project definition, scope and requirements and store that in an easily accessible location. Maybe we combine all three into one document, maybe they are large enough to require 3 separate documents - I empower the individual PMs and their teams to make that call. The key is that we do them in some fashion and store them somewhere. The same goes for task management, issue tracking, quality assurance, change control and all other aspects of a project.
This approach is very much akin to the philosophy of Bruce Lee's Jeet Koon Do. Sure you have to know how to kick, how to punch, how to block, how to use nunchaku (nunchucks). But how these and other fundamentals of martial arts are employed and in what combination depends on the opponent and the environment. His teachings focus on the fundamentals and the efficient execution of those fundamentals (no process bloat for Bruce). He believed that combat was spontaneous and every aspect of an encounter could not possibly be predicted, thus the need for ultimate flexibility - something not offered by a single approach. A key aspect of Jeet Koon Do is minimal movement with maximum effect and extreme speed. In short, Bruce Lee's philosophy to his craft would have made him a project manager that actually gives us project managers a good name - not the kind that hands out a software design template to be filled out when moving data from one table to another....true story. I also believe that a roundhouse kick to the head would do wonders to control scope creep (not that I advocate violence as an acceptable method of change control, but still....).
One of my favorite quotes from Bruce sums up my philosophy for project management. It was during an interview on the Pierre Berton show in 1971 that Bruce explained the fundamental philosophy of Jeet Koon Do:
Empty your mind, be formless, shapeless - like water. Now you put water into a cup, it becomes the cup, you put water into a bottle, it becomes the bottle, you put it in a teapot, it becomes the teapot. Now water can flow or it can crash. Be water, my friend.
When you start the planning phase of that next engagement, remember - "Be water, my friend" and try to avoid the "crash".