One of the primary goals of the Go Daddy Enterprise Architecture team is to look for ways to maximize the value that technologies provide to the business. With several platforms, scores of development teams across the United States, and more than 50 distinct products spanning multiple lines of business, duplication of effort and discrete solutions to the same (or similar) problem become distinct, if not likely, possibilities. In some situations this is the optimal architecture for the enterprise, typically due to mutual exclusivity or nuances that substantially reduce the value proposition of a unified solution. However, this is often not the case. In an abstract sense, Go Daddy sells, provisions, and supports Web services to our customers through similar or common means. Recurring functionality, capabilities, and solutions for our products can often be unified to minimize development and operational costs and maximize interoperability.
A tenet of Enterprise Architecture is to remove assumptions from the decision-making process. Ensuring that the Enterprise Architecture is effective requires collaboration and input from key stakeholders across the enterprise. We have adopted the idea of a summit to kick start this process – lock all key personnel in a room, confined under pain of death, until an acceptable outcome is reached. While perhaps not quite that severe, sometimes it can feel that way. With a few of these summits now under our belt, we have learned a few key lessons:
- Disseminate Pertinent Information Beforehand – To paraphrase a long-held precept of successful project management, “Email status reports before checkpoint meetings. Use meetings to discuss problems and next actions.” In the first Enterprise Architecture summit, we spent far too much time discussing facets that could easily have been discussed via email beforehand rather than burning precious time accomplishing the same goal.
- First, Focus on Understanding Why and Defining the Problem – Understanding the fundamental business driver for the solution is paramount to ensuring outcomes are aligned with business strategy. Albert Einstein is famously quoted as saying, “If I had an hour to save the world, I would spend 59 minutes defining the problem and one minute finding solutions.” The importance of this lesson cannot be overstated. When assumptions are made about drivers, or focus is lost on the desired outcomes, misalignment is sure to follow.
- Stay Out of the Solutions Space – With the problem clearly defined and a room full of intelligent, highly-skilled alpha-type architects and engineers, solutions inevitably begin to spring forth. We learned it is critical to resist the urge to jump immediately to offering solutions, and first spend substantial time rigorously defining the requirements and requisite capabilities. By putting the requirements horse in front of the solutions cart the solutions architecture begins to organically take shape. This process ensures that the final solution is ultimately the best suited to meet the requirements of the problem rather than the capabilities being bolted-on to a solution that was prematurely contrived.
- Don’t Throw Rocks – We have been blessed with the challenges of hyper-growth at Go Daddy for quite some time. We must constantly strive to balance solid design that will scale in the future with operational realities, while keeping up with growth and product road map development. Knowingly assuming technical debt due to time or resource constraints is a virtual certainty that we all must face. When revisiting these cases in a re-architecture effort, it is critical to be mindful of these factors. Dave Hitz perhaps said it best in his excellent book, How to Castrate a Bull:
When new people were fixing the problems of the past, I cautioned them not to complain too loudly about the “moron who designed this system.” I said, “You’ll design a replacement system, and after two more years of growth, the moron will turn out to be you.” Respect your ancestors, and perhaps your descendants will respect you.
Enterprise Architecture is new both to Go Daddy and to those of us on the team tasked with this role. We continue to strive to learn how to best serve Go Daddy and master this discipline, an endeavor I imagine will continue on for quite some time.