ImageI once heard a person say “there is no such thing as a best practices”.   As I pondered this quote and reflected back on years of work experience I found the statement to be quite true indeed.  The “best” in anything is based upon the context (situation) to which the qualification is being given.   Any of you that has an addition to something, whether it be candy, coffee or some other vices, should realize that what is “best” isn’t always right when it comes to uncontrolled and wrongly inspired pursuits.

Some while ago I was dealing with a customer who was on a quest for excellence in software engineering.  They were throwing all of their efforts towards this pursuit.  Hiring some of the most talented people, utilizing state of the art technologies, and crafting some of the top methods in the industry.  One would think that they would be on a course for smooth sailing.  But to the contrary they were in utter chaos, motivation was at a low, and remedial solutions with feverishly being employed to counteract this downward spiral.  Off in the corner of this company a small group of engineers was merrily off crafting solutions, they weren’t perfect or entirely by the book but they were achieving the results that were asked for by the user (aka project sponsor).  At first glance one would say it was the people, others were quick to say that the burden of process was what was holding others back… and that the wayward direction of this team showed it wasn’t needed, while others were simply discounting luck as a means by which achievements were being made.  We were asked to try and sort this all out and to help them in achieving their pursuit.  What we discovered is not uncharacteristic of client/buyer companies and companies that deliver software solutions as a service… the goal doesn’t match the need.  What does this mean??  If we think of solutions, software or otherwise, we have certain expectations about its risk and durability.  If I buy a cheap watch I expect that it will last a certain amount of time, beyond that its a blessing to get more.  But if I buy an expensive timepiece I expect a whole lot more in terms of durability, longevity and event features.   I have to say that today we are overwhelmed with commodities that are embellished upon to draw market attention but because they are producing cheap watches the excess is not a virtue but is in fact a fatal inhibitor.  If that cheap watch comes with a temperature sensor and a flash light and both either fail to work or only for a limited time it then becomes a sore spot for criticism.  The long term effect is to push for a more simplistic solution and not with with excess perceived value (what some might refer to as Gold Plating).

In the software engineering context we have been a bit misguided by our pursuits.  Rather than to use these aspirations as a measure to advance, improve and afford economic value we have them as stick to drive behavior.  Unfortunately we have seen time and time again that it has driven us to exact polar opposite… its created chaos, confusion and a loss of direction.  In the case of our client company they had wonderful ambitions.  At the sametime these ambitions got in the way of addressing what level of excellence was prudent for the types of solutions being developed.  To user/sponsors who were looking for appropriate and reliable support, they were getting excesses that provided little value, higher maintenance and operational costs, and were fraught with issues.  What should have been an environment to achieve this had become in an of itself the culprit.  Our first question wasn’t about tools, techniques or people it was about the goal.   Was a top tier best practice and the formation of a center of excellence right for the type and complexity of the solutions being crafted?  In the context of a CMMi model, were you aspiring and working to deliver level 5 solutions in a level 3 context??

Today, 2013, we are inundated by companies, who profess their excellence in how they have set the stage for solution engineering.  But in setting that stage the cataclysmic result show a much different situation taking place.  No, these people are not hell bent on creating chaos, they are driven by excellence.  However this unrelenting pursuit is in juxtaposition to what is needed.

The correction can be painful.  It seldom requires a wholesale reversion to earlier practices, rather it requires a righting of the course.  It requires a modification of goals, of practices and even team compositions.  The utilization of software service engineering companies will require a reappraisal to insure that they are operating at the ‘right’ level, and not simply at a level where excellence cannot be achieved (despite all the pragmatism that may be touted).  Some would wish to believe that this will require an objective third party, which it may depending on internal politics, but it simple needs someone (usually a group) to undertake the work of reshaping, re-crafting and redirecting the initiative.  It isn’t always a lengthy effort, but one that requires meticulous attention to the fine details and the effect of change.  The time that can be substantial is in transitioning, redeployment, monitoring and advisory.  But this is a cost of learning, whether its by mistake or by redirection.

So at the end of engagement we were asked what the cost would be for putting things back in good order?  We had worked the numbers and arrived at a cost for the revamping project and put it up on the white board. The client said, “wow I thought it would have been more”, to which we responded it would have been if you stayed on the wrong path.  You would have put at risk everything, not just the software/IT operation but the business as well.  These are matters that cannot be implemented on the basis of popularity, common practice or casual analysis… they require heartfelt and earnest consideration that weights the benefits against reality and not based on wishful dreaming.   Make your best practices and your centers of excellence appropriate to your world.  Stretching a bit is okay as long as its within your attainable grasp.   These measures will contribute to your business, be responsive to needs, and serve as a foundation for the forward growth of the delivery enterprise.