It is important for development organizations to stay informed on industry standards and to continually review them (new and old) for applicability to technology selection and problem resolution. Staying knowledgeable of standards is critical for selection of internal software components as well as providing outward interfaces and other benefits for both customers and engineers.
Recently I was reviewing some of the latest Java standards published over the last year to see if any standard resolutions had evolved to a development challenge on which my team was currently working. No dice. As it turns out, many other vendors had met and solved this very same challenge however no approach had been standardized. As a result, I’m now weighting the pros and cons of implementing a solution of our own that I’ve been noodling in my head.
But it got me to thinking even if a standard approach had been adopted, it does not mean that the standard solution would be the best development decision. Why? Because while standards generally do provide many benefits, they can also pose new problems which are what I classify as standards freeze.
If a standard is not open and flexible, it can stunt innovation and provide a speed-bump rather than an expressway to productivity. For example, standards freeze happens when an engineer or product manager finds he or she cannot add a new feature or function without breaking the adopted standard. It leaves the development team in the difficult position of either skipping the new feature or breaking the standard – both of which can have political consequences.
Thinking outside of the box does not always go hand in glove with standards adoption. Developing competitive differentiators many times means thinking outside of the box, and thus outside of the standards. It is crucial to take the time to research and ensure that the standards selected by a development organization or product allow for flexibility within the standards so that the product and/or organization can continue to grow without an expensive and time consuming overhaul.
The next time you feel yourself itching to download that open source project and use it because it will save you a few days, make sure you’re also thinking through the standards it was developed on and ensure that you can think outside of the box while staying within the standards.
-- Adam