Motorcycle CM

[article]
Summary:
When I learned to ride a motorcycle, I never realized how appropriate the lessons would be in configuration management. Keeping the bike on track, handling emergencies, and monitoring progress are much like improving process in an organization.  This month we'll look at some of those principles and see how they match up.

Look where you want to goOne of the amazing truisms of riding a motorcycle is that the bike will often go where you are looking.  That's good and bad. When a muffler falls off the car in front of you, do NOT look at the muffler.  Instead, look for your escape.  It's much easier to avoid the danger, when you are looking in the safe direction.  In CM, you can spend all your time finding the problems and plugging all the leaks. But instead of putting out fires, wouldn't the time be better spent building the system and processes that negate those fires before they start?  Look to the solid principles and goals.  Clearly you can't ignore dangers and problems but spending all your time on them will result in a series of patches to your CM system, leaving it disjointed. Identify your goals.  Ensure that each of the changes that you do make is consistent with where you are trying to take the organization.  Look toward where you want to go.

Lean in the direction you want to go
One of the first lessons I learned about riding a motorcycle was how to turn.  You cannot turn a motorcycle without leaning in the desired direction.  The same is true of an organization.  The people steering the organization, themselves, have to lean in the direction of the change.  Simply handing down dictates and moving on to the next agenda item is not enough to change the inertia.  It requires a commitment to the changes.  Is the boss making it clear that improving process matters?  Has he or she demonstrated this is valuable to him or her?  Is the organization backing up the dictates with the resources to get the job done?  Within configuration management, it starts with us too.  If we are pushing out a new version control tool, are we using it ourselves for our documentation?  Are we keeping the training manuals, implementation plans, pilot results, configuration plans, etc. in the tool?  If we aren't using the tool ourselves, do we really have the credibility to bring the other groups into the fold?  Lean in the direction you want to go.

Look through the turn
When you are riding a motorcycle, things that are not exceptionally notable in a car can be catastrophic on a bike.  A two foot wide patch of sand spilled from a dump truck may mean little when turning a car.  But when you are on motorcycle, you only have two wheels to work with.  If one of those loses its grip on the pavement, you are in serious trouble.  Look through the turn to see what's coming.  You shouldn't be surprised by something you could have seen sooner if you were looking.  Bikes, like organizations, do not really like to change direction, especially at the last minute.  Looking though the turns allows you to keep your head up for problems to be avoided.  It might be as simple as not putting in the request for additional CM staff when budgets are tightening.  Maybe a new development manager is starting next week and it might be wise to hold off on major process changes until he or she can get some footing or you can gain buy in.  By the same token, maybe now is the time to get on the improvement throttle before the next major product cycle starts in earnest.

Communicate constantly
One of the most difficult things on a bike is being seen and communicating with other vehicles on the road.  Bikes are much smaller and less noticeable.  Almost every time you are on the road, someone will pull out in front of you or swerve into your lane.  Sometimes people are oblivious, other times they are just careless.  Often, the cause doesn't matter to the rider getting squeezed.  It is imperative to gain other drivers attention and communicate your intentions to avoid conflict before it happens.  This same effort is true of CM.  We are usually much smaller and less visible.  It takes extra effort to make sure we stay on the organizational radar, engaging early in projects, so we can provide the maximum benefit.  We need to spend extra time making sure the other functional areas know and understand our tools and processes.  When change is happening, we need to be well ahead of the game.  Constant communication with the various functional and organizational leads makes it easier to stay on the same page.  We all have our own distractions on the SDLC road.  Make sure they know you are sharing that road.

Use the right gear
Ill-fitting equipment can be both uncomfortable and dangerous.  A loose helmet or constrictive clothing can cause irritation, distracting a rider from the dangers of the road.  If you frequently carry material, get a tank bag or saddlebags.  Backpacks can be awkward at times, especially when heavy.  On the CM side, are we using the right tools for the job?  Buying too much tool can be as bad as buying too much bike for a beginner.  Sure the tool can do some awesome things but if it's cumbersome and ill-fitting for the organization, it will be difficult to manage and cause unnecessary resentment.  Take the time to determine the needs of the organization both now and down the road.  Make the investments that need to be made.  Maybe that means blocking out some time to script some things that are time consuming or prone to error.  Maybe it means moving from open source to a COTS tool or vice-versa.  Organizations outgrow processes and tools and it's important to make sure you continue to evaluate what you have and how well it fits.

Preventative maintenance mattersKeeping an eye on your bike and fixing problems promptly, before you are in traffic, can save you a lot of headaches and potential injury.  Check those brake cables to make sure they are operating smoothly.  Are the tires inflated properly?  Are the gears engaging firmly?  These things matter because a rider is often forced to react very abruptly to changing traffic patterns and cannot risk a system failure with a large truck bearing down.  In configuration management, the same can be true.  We might have to respond to emergency fixes, without conflicting with current development.  Was that workflow set up in advance?  What about server failures?  Are we keeping an eye on disk space?  Are we upgrading our toolsets in conjunction with the rest of the groups?  Are we applying patches from the vendors to avoid problems before they happen?  Are old configuration items being archived appropriately?  Most of us have a million things going on, limited budgets, and even less time to do the maintenance that matters.  Often, even when we know an audit is coming, we don't plan the time to make sure security is structured correctly.  We need to audit ourselves so we can do the preventive maintenance that keeps us running smoothly.


In conclusion
Motorcycling, like CM, is something that seems to attract particular personalities.  It requires an unusually high degree of attention to detail, the ability to react to very dynamic circumstances, and the ability to steer is a safe direction.  It demands the ability to think ahead and communicate well with others.  The principles I learned riding a motorcycle are very true to configuration management.  It's not always an easy road but many of us enjoy it none the less.  Following the common principles noted above helps avoid the dangers before they jump out in front of us.  As they say in the cycle community: be safe and keep the rubber side down.


Randy Wagner is a Contributing Editor for CM Crossroads and VP of Technology Development with Taylor Bean & Whitaker in Ocala FL. His experience ranges from major financial institutions to multimedia multinationals to the Federal government. Working in small to large project efforts has given him a unique perspective on balancing the discipline of SCM and enterprise change management with the resources and willpower each organization brings to the table.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.