Thursday, June 27, 2013

Bicycle Riding Lessons

I have always been a fan of bicycle riding. Energy from a renewable resource (my legs), fresh air, beautiful scenery sweeping by and speed.. what's not to like! Travel within the city in our younger days in India was entirely on bicycle.  Riding clunky and heavy bikes, with a luggage rack in the back, and an oil lamp hanging in front, the start of a bicycle journey was always heralded by the anticipation of reaching the destination.
So when my first born decided he wanted to learn to ride a bike, I was thrilled to share my love for economic travel and offered to teach him myself. We had bought a small bicycle that was on sale and came fully assembled.

We started off with preparations. I could not find a helmet that fit his small head so off we went to Target to get the helmet. I also got a pair of sturdy sneakers that would protect his feet from the pedals and the road. Just in case there was a emergency, I also packed a medical first aid kit with bandages, Neosporin, cotton and candy as a pacifier. I found an old electric inflator that ran off my car battery and pumped the tires of the bicycle to the required 60 psi. I tested the brakes to make sure they worked. Ensuring that the clip that secured the seat from going up and down was firmly in place, I went for a test ride hunched over the small bike on my driveway and pronounced the bike roadworthy and safe for my son.

We found a quiet parking lot in his elementary school over the weekend when no cars were parked or moving around. We found a kerb where he could stand and slip his legs over and around the seat and climb on.

I slowly pushed the bike forward with my son sitting on the seat. I held on to the bicycle to keep it vertical and steady as he began to pedal. And off he went as I ran by the side holding on. I helped steer the bike on a straight path and maneuvered it to return back to the curb where we left. I asked my son to apply both the front and rear brakes to stop the bike. The bike lurched to a stop and my son almost fell off but his feet could touch the kerbside and he was able to steady himself.

We made a few more passes and then came the decisive moment: his turn to ride alone without Dad holding the bike and running alongside. Were we ready? My first task was to move the battleground to the grass and away from the paved parking lot - my thought was that falling on grass was less painful and had fewer long term consequences if things did not go according to plan.  The next strategy was to build up enough speed from the takeoff that the extra speed itself would keep his bike vertical.

Everything went off according to plan. But. I had forgotten to show him how to stop and dismount. Just as the thought came to me, I saw my son fall to the ground in a thud at the end of the successful ride. We went back to the drawing board and practiced how to dismount while the bike was still coasting and not relying on the height of a kerbside.

Two more sessions and my son became an accomplished bicyclist - soon he was showing off by riding his bike hands free. He had finally mastered a very important skill and I was left with an architectural lesson from observing the whole process (we architects tend to complicate the simple and the obvious with complex terms and abstractions!)




Lesson number 1: Activity definitions depend on the Performer
The activity I was performing was Teaching My Son to Ride a Bicycle. The activity he was performing was Learning How to Ride a Bike. Notice that the verb phrase for the same activity changes when the performer changes - I was teaching and he was learning. Changing a viewpoint and concern changes the verb phrase and the metrics. I would be measuring my ability to teach while he would be measuring his ability to learn. We are both engaged in the same activity but goal-ed differently!

Lesson 2 Capability development has many solution paths
I was imparting (at least I thought so!) lifelong capabilities to my son. From a capability view, my son was acquiring the capability to Ride a Bike and its component capabilities (all of which are required) : (1) Mounting a Bicycle (2) Propelling a Bicycle Forward and (3) Dismounting from a Bicycle. We call the collection of capabilities all of which are required for achieving a larger capability, a capability configuration. Ride a Bike requires a capability configuration of at least three smaller capabilities. Of course, we have completely ignored the additional need for preparatory capabilities such as being able to inflate the tires, check the road-worthiness of the bikes (including the brakes) and the post riding capabilities of being able to shelter the bike from bad weather and moisture. All the stuff that seems to come in automatically as part and parcel of operating a vehicle.

Each of these capabilities could have been satisfied by solutions  in many ways: Mounting a bike can be performed by finding a high spot to climb on to the seat on a stationary bike or the rider can coast and stand on one pedal and then swing his legs over to mount.

Lesson 3 Activity Need drives Capability Development
Down the pike the capability of Ride a Bike the assumption is that my son would perform  the following specific chores (activities) (1) Bring groceries from the store (2) Ride to the public pool for taking a swim (3) Ride to a friend's house to hang out. The vision of what activities are enabled by capability drives the enthusiasm and excitement for acquiring capabilities. Investment in capability acquisition is an expensive exercise as we found out with his violin lessons and tennis lessons. Being able to map capabilities to the achievement of activities that are near and dear to his heart is a strong justification for that investment in his mind!

Lesson 4 Capability Shortsightedness
As my son grew older, the capability Ride a Bike was replaced by Drive a Car to perform these very same activities representing a Technology upgrade from Bicycle to Car. It occurred to me that maybe I should think of the capability Ride a Bike in broader terms as Travel Independently (of which Ride/Travel by Bike was a sub-type) and then I could accommodate today's bike travel with tomorrow's automobile travel to the future jet-plane travel he does today as an employee of a large corporation. By couching a capability in terms of current or the "then" technology made it limiting.

Lesson 6 Process Components
Clearly my concerns in various parts of the whole process were on different types of things:
In the PREPARE phase I was concerned with ensuring that the whole process would work. Part of the preparation was making a checklist of things to buy, things to check out and things to worry about, anticipating risks and threats,  and putting in place an environment where at the end of the day, my son would be able to successfully ride a bicycle.

In the PERFORM phase I was concerned with ensuring that I taught my son how to mount a bike, ride the bike in motion and then dismount after reaching the destination. He was interested in acquiring these skills also.

In the CLOSEOUT phase, we returned the bike back to the garage, hung it on the hook from the ceiling, kept away the helmets, and washed our arms and legs before we went back into the house.

In the CONTROL phase I was observing what my son was doing , making course corrections in the instructions, pointing out obstacles, gently guiding the bike's handles and supporting my son until he was able to ride on his own.

In the RESOURCE Phase my concern was to provide the supplies we needed such as buying the helmet and the boots and components of the first air kit for example to ensure that the day went well and we had all the supplies we needed.


(Figure 1)

I tried to layout the various components of the process using a diagram to show separation of these types of concerns.

Lesson 7: Process Components are Fractals and have their own threads
Interestingly, the task of purchasing a helmet from Target had its own model which involved preparations like fueling my car, getting a map, physically driving to Target, getting instructions for the location of the bicycle helmet aisle, selecting a helmet, checking out and paying for the helmet, driving back home and then parking the car. This sidebar model had ots own "locus" that touched upon the day's exercise of teaching my son how to ride.

The lesson was that the process pattern we established for the overall activity of teaching my son how to ride a bicycle was a fractal - its components displayed the same pattern in their own internal structure. In fact we can use the pattern as the DNA for any process.
I tried to depict the fact that each of the component activity phases had their own locus's using the picture shown below:


(Figure 2)

The secondary threads are not sidebars to the primary thread, but necessary processes required for the success of the primary thread.

Lesson 8 Process Components Deal with Different Variables
As we look at the various components (Phases) that make up the process pattern, we find that different variables are involved in each of these components as they address different concerns and measures related to those concerns.

(Figure 3)

Lesson 9: Modeling techniques are different for each of the components
Notice that the process component CONTROL is not linear but is always monitoring the progress of the other components to determine a course of action or to make decisions. The classic modeling technique for linear processing such as IDEF0 and BPMN do not work very well for modeling the locus of the CONTROL component. Rather modeling techniques such as OODA (Observe, Orient, Decide, Act) sometimes also called PDCA are more appropriate. In our story, when my son fell off the bike because he did not know how to get off, I had to redirect my training strategy and add an element of dismount training to make it all work.

On the other hand the RESOURCE Component needs lead time and a set of linear processes to provide the supply of resources at the right time to the right activity that is performing. In our story, I did not have the luxury to go out and earn the money I used to pay for the helmet at Target. I had to have cash on hand (or some other means of payment) to be able to walk out of the store, helmet in hand!

(Figure 4)

Conclusion
In my brief story are embedded many architecture lessons!  The DoD Architecture Framework is versatile enough for me to express the various concepts in architecture terms. However, the simplicity of the story in the beginning of this blog is lost in the various detailed renderings. An architecture description tries to represent with completeness and clarity all the various aspects of structure and behavior. The pattern that I have presented appears to be a powerful one for process modeling. The fact that each component can be recursively modeled using the same pattern is a powerful one because the pattern exhibits fractal properties.

I have always been intrigued both by the completeness and the simplicity of a IDEF0 Context Diagram both as a black box and as a fractal structure for decomposed activities. Flows and threads tend to make a model very complicated. At the same time flows and threads tend to be scenario and situation specific and their usefulness in enterprise modeling is about the same as Use Cases that are tailored snapshots.  Flows and threads also tend to "micro manage"  fine grain couplings that goes against the separation of concern approach expressed in this article.


 The current craze for using BPMN models belies the inherent simplicity of the Process Pattern as well as the separation of concerns that delegates the internals of a Process component to the performer.. Often we wind up with a spaghetti of carefully (and expensively) modeled BPMN flows and are struggling to place their context and define how they interlock.

No comments: