The Quest for Fluency – An Introduction December 29, 2009Posted by ActiveEngine Sensei in ActiveEngine.
In a different post I’ve discussed how chess master Josh Waitzkin mastered the field of chess and a martial art, winning world championships in both fields numerous times. In true Budo fashion, by learning to focus Josh was able to achieve an elevated ability to evaluate multiple contingencies and make innumerable judgments rapidly. In his quest, Josh discussed how certain mental patterns enabled him to make logical connections and solve thorny problems as if by reflex. So deeply ingrained were these mental heuristics that the imagery that they projected onto his thoughts actions “seep” into his martial arts training. Josh possessed the capabilities of rapid recall, projection and judgement. All in an instant. A turbo ActiveEngine.
The meme of “10 years to master a subject” is passing again in the software development circles. Mary Popendieck gave an excellent presentation that discusses the deliberate practice of performance and how you must make measures in order to improve. 10 years alone is not enough as you need to make objective judgments to gauge the effectiveness of your efforts. What is at issue is whether you can achieve this during your work day.
Not all organizations are concerned with developing your fluency; rather, they want efficiency but may not be able to judge when GTD leads to too much context switching and re-work. Your job as a practitioner of ActiveEngine-do is to prepare yourself and solve the short term problems of business with your steady practice, enduring devotion to mastery. It’s tough to do. Customers see screens, they don’t get it that the ice berg goes on forever beneath the surface of the ocean. Management’s objective is to get along with the current regime and hope that resources and budgets won’t be further reduced by silly decisions such as “Hey, database administrator over there! We never have any issues, what are you really doing? You’re fired”. Or worse, “let’s outsource our core development to a foreign country that is 8 hours ahead of us. Oh, you’ll be tired from talking on the phone at night, but that’s ok, as you’ll won’t be doing the real work. Gotta go – next meeting to attend!”
Creating a working model of your software solution becomes the most important item on your agenda. Without one you will be enslaved by capricious, vacuous wishes of the business units. You need to create an environment where the business team can join you, the developer, in a shared heuristic. That is, you need to be able to summon their creativity and guide it every time you meet. Two minutes of warm up, then go. Discipline them, and you will be better able to concentrate.
You also need to eliminate, if you can, customer / developer impedance mis-match when translating the working model to functioning code. The simpler the code is, the less you have to summon up into your skull and retain in order to work. Think of it as working with an unfettered mind. It would be nice if your model of the problem domain could just become working code, instead of you switching gears and creating a map of business requirements to packages. Over the course of the next few months Sensei will introduce some tools to help you along the way.