Today I’m wrapping up a series of posts on the broad topic of Enterprise System Pitfalls. In this series, my hope was to help shed light on the primary problems that cause us to miss budgets, fall short on capabilities, or completely fail when implementing an enterprise system. 
Complex enterprise systems have the potential to revolutionize our business, improving topline revenue and reducing operating costs. For hospitality CMOs, this may be a project intended to create a backbone for disparate connected systems, creating the ability to offer unique service offerings to guests, differentiating the brand. For CSO’s, the right platform can significantly improve data security and prevent damaging breaches. For COO’s, real-time connectivity and automation is a way to provide efficiencies in the field and improve consistency in the hotel operation. The right enterprise system has great theoretical potential for good! But at least as great of a potential to be at best a mediocre solution, and at worst a complete disaster.
When designing a new enterprise system, take these suggestions into consideration, and you will greatly increase your odds of establishing a solution that will accomplish on-time delivery of a secure, feature-rich platform.
Focus on feature code
Frameworks, libraries, layers, or any code that does not provide clear, eminent, and calculated functionality must be questioned. Error on the side of reducing code when in question. Too often, we take the opposite approach and include theoretical ideas, future-proofing, more logging, etc., because we feel they can bring some sort of certainty. Most additional, non-feature layers and code only bring more complexity, security holes, and poor performance. Though you don’t write a check for licensing another open-source library, you will still pay a price every time.
Solve problems by reducing, not by adding
Whenever possible, eliminate to solve problems rather than add. It is better to get something tested and working than to create more initially. Your team may be agile in process, but waterfalling in thinking. Many engineers will build massive infrastructure before a single feature is added.
Be OK with little uncertainty
Many of the complexities we add to platforms are intended to help us be certain of results. I hate to break it to you, but there is no such thing. Nothing is certain. But our linearly processing minds walk us down a path that results in us thinking if we add one more control, one more pattern, etc., that we’ll make things more certain. In a small minority of cases this is true. In the vast majority of cases, we’ve solved nothing and simply added more things that can go wrong. Everything we add to a system exponentially increases the risk to outage, bug, or other failure.
Many companies have implemented enterprise platforms to a lesser or greater degree of success, and you, too, can be successful if you are intentional and wise. In addition to making sure you have the right team and clear requirements, keep an eye out for the pitfalls I’ve described in recent posts, and you’ll stand a much better chance to be on time and on budget.