A good standard is one everyone uses.
Well, duh, right?
While I was on the board of directors for an international standards consortium (HR-XML), the biggest battle has always been getting developers to use the standard. When we did, we got amazing things to happen, like getting 18 states to start providing compliance receipts for job deliveries in just a few months. Like enabling entire marketplaces.
Nearly everyone who I’m aware of who launched an HR-XML initiative has finished quickly for a few reasons:
- There wasn’t anything to argue over. The taxonomy is already built. The interfaces are predefined. The architecture astronomy is already settled.
- The focus is on functionality instead of database schema. You can focus more on how to use the data than how to validate and store it.
- Off the shelf XML tooling could be used. So much of software is just moving data around. Being able to use off the shelf tools for ETL / data exchange really makes it easy to build integrations.
So, if making using standards is so productive, why don’t people use standards more often?
- The standard isn’t perfect for my use case. This is probably the most cited reason not to use HR-XML or other HR Open Standards specifications. Reality is that widely adopted standard ever since screw threading has some flaw or compromise. You trade in the perfect screw for one that can be easily and inexpensively purchased anywhere when you use the standard one. Make sure you are making the right tradeoff when you decide to not use the standard.
- PR. I can roll a data structure, serialize it and call it a standard… and promote my product by promoting the ad-hoc standard. This is especially the case with startups who don’t realize that by adopting the standard they could pick up customers and even promotion from other standard users… and even more importantly, get on the radar for being bought.
- Critical mass. The best standard is one everyone uses. If everyone isn’t using your standard, it’s easy to get caught up in Not Invented Here Syndrome or in the pursuit of perfection.
- Reinventing a standard is easy money for contractors and consultants. Why use off the shelf when you can bill 1,400 hours to implement a CRUD api for a resume schema?
- Lack of awareness. Even though we have lots of reasons (Google, Bing, Duck Duck Go, etc…) that unawareness is a bad excuse, developers like to get things done… and research is often something that gets in the way of cutting code.
Every software engineer and every business manager knows that standardization is the key to opening up entire markets… but we all find so many excuses not to use them. When we do use standards, we get the web, automobile, computers and smartphones… when we don’t we get a Rube Goldberg like mousetrap.