In my earlier post on The Launch of Enterprise Architecture, I describe the conditions within the business that led to the creation of my team. At that time, we were exploring the role, responsibilities, and methods of Enterprise Architecture at Go Daddy – and over the course of these last nine months, we’ve learned a lot.
Synthesizing our understanding of the business, technology, and architectural strategies, we have developed seven principles that we reference to help guide our architectural decisions. It is easy to become mired in the design details of complex projects and lose sight of one or more of these principles; thus we have found it enormously helpful to have them defined, to ensure each are considered every time. We logically grouped these principles into two sets – the first three are customer-centric whereas the last four are internally focused. They are:
- Customer Experience
- Cost Optimization
Let’s take a look at each.
One of Go Daddy’s core values is, “Taking Care of the Customer Above All Else.” We recognize that our customers come first and pride ourselves in providing high quality service. One facet of this is the service front end: the customer interface and experience. Of course we strive for beautiful and feature-rich products that are easy to setup and use, which is within realm of expertise of our product development teams. However, within the scope of Enterprise Architecture, the two most important factors of the customer experience are availability (uptime) and performance.
We believe the security of customer data is the most important responsibility we have to our customers. Customers entrust us with their hosting presence, which often represents their privately owned business, and we work hard to maintain that trust. Undoubtedly, uptime and performance are crucial, but in this facet, we value the safety and privacy of customer data above all else. Through experience, we know that complex and coordinated malicious attacks are a virtual certainty for Internet products and services. It is easy for security to be an afterthought in design, considered late in the process, when it is typically substantially more expensive and less effective than if it is factored into the design phase.
John Gall captured the heart of this principle in his seminal work, How Systems Really Work and How They Fail, in what has since become known as Gall’s Law:
“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”
We have observed that over-engineering has a tendency to creep into design and increases complexity and cost. Unnecessarily complicated systems are more difficult to maintain and troubleshoot, more fragile, and require more time and effort to train operations teams. It is important to consider this principle both during and after design. Once an architecture is complete we should always make a concerted and collaborated effort to look for ways to simplify the system. In the words of Antoine de Saint-Exupéry, “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
The velocity of the development of technology continues to accelerate. The Law of Accelerating Returns describes an ever-increasing rate of change and decreasing time to market. Predicting the development of tools, techniques, and technologies is becoming increasingly difficult. The ability to pivot strategy faster than our competition will prove increasingly essential for success. Developing an agile architecture and infrastructure is paramount to our future success.
Go Daddy provides a full suite of products and services to enable a web presence from domain registration to hosting, site building and shopping cart services. Though these can appear very different, fundamentally they share many characteristics. Substantial efficiencies can be gained with a high degree of business integration (sharing data) and process standardization (executing the same/similar business processes in the same/similar ways). Unnecessary variations in technology, architecture, configuration, and data leads to operational problems, increases the amount of time required for maintenance, and increases the risk of outages. We should seek standardization first, evaluating deviations for cost benefit and adopting them only when necessary.
In The Fifth Discipline: The Art and Practice of The Learning Organization, Peter Senge wrote, “The only sustainable competitive advantage is the ability to be able to learn faster than your competition.” Undoubtedly that was true in 1990 when the book was written, but is even more applicable today. The ability to minimize cycle time is a tenet of both Agile and Lean methodologies. The concept of ‘build, measure, learn’ is reasonably well understood, however, frequently poorly executed. Planning for this cycle should be done in the opposite order: define what you want to learn, develop metrics to measure this outcome, and then define what to build. Directly and rapidly learning from real customer experience and application behavior is the most beneficial methodology and increasingly becoming critical for success.
As an organization we are focusing our efforts to empower small and medium businesses (SMB) as demonstrated with our recent Site Builders Mobile launch and acquisition of cloud-based financial management company Outright. We recognize that cost optimization is especially important to our SMB customers. We to strive to provide high-value products and services within the price range they expect. With our continued progress, findings ways to leverage economies of scale, which are basically cost advantages due to expansion where the average cost per unit falls as the output increases, is critical to our long-term success.
Naturally, every initiative is unique and presents different requirements and challenges. Often, these principles are related through either positive or negative correlation – for example it is not always possible to maximize agility and standardization simultaneously, but both can lead to improved cost optimization. The goal is not necessarily to maximize every one of these principles in each design — in fact, that often would prove to be impractical, if not impossible — rather to consider each of these factors in the decision making process to ensure technologies are aligned with the business strategy.