D4 Model: Overview of mid-platform planning methodology
In the previous lecture, I shared with you four issues that need to be considered before mid-platform building. Considering these issues can help us avoid some risks in advance when we actually start building the mid-platform.
Okay, now assuming we have already figured out these issues, how should the middle platform be implemented?
In the past two years of participating in the construction of the middle platform, I have indeed stepped on many pitfalls and taken many detours. Below, I will use the remaining articles in the second part to introduce to you the middle platform landing ideas we have explored and organized in practice, hoping to be helpful and inspiring to you.
First of all, as mentioned in the previous article, there are many types of middle platforms on the market. The construction methods of different types of middle platforms may be completely different, but there are definitely some common ideas and methods. In the following part, I will take the construction process of a Central Product Platform as a sample to introduce the practice of middle platform landing, what difficulties will be encountered, and sort out some ideas and methods.
# The Beginning Stage of a Typical Central Product Platform
In order to let you experience some of the difficulties and problems of mid-platform building, we also use the case of Geek Real Estate to simulate the startup process of a mid-platform building from 0 to 1.
After receiving the boss’s commission, Xiao Wang is ready to start the construction of Geek Real Estate’s Central Product Platform.
Xiao Wang comes from a technical and architectural background. He has led the distributed service transformation of several large systems in the company and has extensive experience in distributed architecture design and implementation. He is also familiar with domain-driven modeling and microservice technology architecture that internet companies often mention when talking about the middle platform. Of course, this is also the reason why the leader entrusted this important task to Xiao Wang.
Just do it. At the beginning, Xiao Wang was still preparing to start with sorting out business needs as usual. But the first question stumped Xiao Wang: which businesses should be sorted out?
Previously, Xiao Wang dealt with single-product level products. As long as he caught the users or business experts of this system and understood the requirements for the product, no matter how complex the product was, there was still a boundary. As for the middle platform, it often involves all the Line of Business of the enterprise. Shouldn’t all the business of the enterprise be sorted out? If so, it basically means that the resources of the entire company need to be mobilized. Why do the various Line of Business cooperate? Even if the business actively cooperates, there are still follow-up questions. What granularity does Xiao Wang want to sort out?
Faced with various problems, Xiao Wang began to feel that something was not quite right. From a technical and architectural perspective, there was no difference between doing a middle platform and doing a distributed system before, but the situation, scope, and complexity faced were completely different. For a moment, he didn’t know where to start.
At this moment, Xiao Wang always feels something is different, but he can’t pinpoint what’s wrong and falls into deep anxiety.
# What is the difference between creating a Central Product Platform and creating a distributed system?
To be honest with you, this Xiao Wang is a true portrayal of my mid-platform planning and implementation when I first started in 2017. Of course, the case is not this virtual case, but the real situation and problems encountered at that time are very similar to those in the case.
Moreover, the problems I encountered at that time were much more numerous than these. For example, even if you have sorted out all the business and planned a middle platform, how can you prove that your middle platform is right and the best? Looking back, that period of time was indeed a painful experience, with these questions lingering in my mind every day. And all the problems can ultimately be summarized into a simple question: what is the difference between making a Central Product Platform and making a distributed system?
No nonsense, let’s just give the answer directly. After a long time of thinking and reviewing, my friends and I found the key point of the problem, which is actually very simple. We have repeated it many times before, but the scope is different. If we say it more clearly, it is still the three words: enterprise-level .
Why do I repeatedly emphasize these three words? I know many people don’t feel anything when they first see these three words, but these three words are indeed extracted from countless pits we have stepped on, and contain the answers to many questions.
Looking back now, the tools, methods, and ideas we used to create a middle platform were not too problematic. We just underestimated the scope and difficulty of the middle platform and made it simpler.
Many people, whether they are mid-platform product managers or architects, are like me at that time, doing more system-level or single business-level system construction or transformation. However, when we are doing mid-platform, we are dealing with things at a higher level and scope, which have jumped out of individual products and single lines of business and involve the enterprise level.
You may ask, what difference does it make if the scope is just a bit larger? I can only say the difference is significant.
First of all, if it is an enterprise-level problem, what you need to solve is a problem at the level of achieving enterprise goals. Such problems are inherently vague and generally at the strategic level, so you cannot just start with the current business situation. You need to start with the strategic analysis of the enterprise and fully consider the impact of future architecture planning on strategy.
Secondly, if it is an enterprise-level problem, you will face organizational issues. Organizational issues are sometimes much more difficult to handle than business issues because they involve the redistribution of enterprise interests. Once you encounter organizational and interest issues, there will be various questions that I call the “why series”, such as the most common one is why should I cooperate with the middle platform? Why should I give data to the middle platform? Why should I use the middle platform? and so on.
Also, if it’s an enterprise-level problem, returning to business is completely different from doing systems in the past. You will face the overall business of the enterprise, even those potential innovative businesses that will only appear in the future and whose appearance is unknown now.
In addition, there will be countless similar difficulties that we have never faced before when developing a system or product. That’s why I included the words “enterprise-level” in my definition of the middle platform. I always remind myself that what I am doing is not on the same level as creating a system or product, but a completely different species.
Thinking clearly about the enterprise-level issue has given me a very, very big inspiration, which is that I finally figured out where the things that felt wrong before were. In fact, I have been trying to solve the problems of an enterprise-level product and architecture using a system-level product and architecture approach. Looking back now, it is not surprising to encounter those problems and difficulties.
So, the nature of the whole thing has changed. Although we may still do business sorting, microservices, domain modeling, and other similar means, we need to be clear that when we are doing the middle platform, Essentially, we are doing an enterprise-level architecture, an enterprise-level architecture that incorporates new elements of the platform, which I call: user-oriented and innovative platform-type enterprise architecture .
# Then the question arises again, what is the difference between the mid-platform and traditional EA?
After realizing that the middle platform is essentially an enterprise-level architecture issue, I am not as excited as I imagined, but rather very disappointed. Why is that?
Friends who understand Enterprise Architecture must know that this is not a new concept. Mature EA frameworks like TOGAF have a history of more than 20 years. Common things we often see, such as business architecture, application architecture, technical architecture, data architecture, and even organizational architecture, are all included in the complete system of EA.
How can I describe the feeling I had at that moment? It was like thinking I had discovered a new species, only to find that it was nothing new at all. It had been recorded in every Lingo book. The sense of loss could be imagined.
Fortunately, there was a new turning point in the story later. After continuous exploration and practice, I found that traditional EA architecture has many aspects that are inadequate when dealing with platform-based enterprise architectures like the middle platform, such as:
- Traditional EA methods are mostly based on sorting out business processes, and the output is mostly about purchasing or developing systems to solve some problems in business processes. Therefore, most of the output is that enterprises need to purchase systems such as ERP and CRM to solve specific problems in certain fields. As for how to precipitate into a platform or even a middle platform, it seems not so applicable.
- Traditional EA methods are more about solving problems under the background of informationization at that time, that is, based on the current situation (As-is) business sorting, considering how to solve the problem of informationization transformation of business processes through system construction. However, when building a middle platform, the degree of informationization is often very high, and all the necessary systems are in place. Mid-platform building, even the digital construction that everyone often talks about, is more for the future (To-be) business development and innovation, which seems to be not very compatible with traditional EA methods.
- Traditional EA methods are mostly heavy processes that require long-term and extensive research, resulting in planning documents of hundreds of pages. This was feasible and mainstream in the era of low information development and waterfall processes dominating more than a decade ago. However, with the current speed of IT changes in the Internet and even traditional enterprises, even if it is planned with great effort, it may become outdated and not very compatible.
Therefore, I have reignited my enthusiasm for the methodology research of mid-platform planning construction. I am thinking about whether it is possible to use the traditional enterprise framework as the basis and incorporate some new ingredients, such as integrating Design Thinking to solve innovation problems, integrating Domain-Driven Design to solve the problem of identifying the capabilities of set up functional teams, and then integrating agile and lean thinking to solve the problems of heavy process, long process, and low change responsiveness. By pooling the strengths of many parties, a new enterprise-level architecture method, which is the platform-based enterprise architecture facing users and innovation, can be harmonized.
In the blink of an eye, more than two years have passed. As of now, we have developed an improved version of the EA method, which, as I mentioned above, integrates the strengths of various companies. Currently, we have helped many companies with mid-platform planning using this method, and many others are already in the process of implementation. It can be said that this method is very mature, so today we are officially sharing it with you.
What is this method? We call it the " D4 model ".
# Mid-platform planning methodology: D4 model
The reason why it is called D4 is mainly because we have divided the process of the middle platform from overall planning to delivery into four different stages, including two divergent and convergent processes.
The first stage is Discovery , which helps us establish a global perspective before mid-platform planning. In this process, we take the enterprise vision and strategy as input, combine industry trends, competitor analysis, user customer analysis, business status analysis, IT asset inventory, comprehensively and multi-angled understanding of the enterprise’s strategic market environment and business and IT overview, and help us make the most correct judgment.
The second stage is Define , which helps us to converge and analyze the various dimensional information diverged from the previous Discovery, and define the architecture of the middle platform. By analyzing the overlap degree of cross-Line of Business business combing, and combining domain analysis to further expand and analyze the core problem domain of the enterprise after the business appearance, we can converge and deduce the enterprise architecture design based on the middle platform. Based on multi-dimensional scoring, a specific implementation path plan is formed, which is to do what first and what later. It should be noted that at this time, the convergence is still at the enterprise architecture level. Products at the level of Central Product Platform and data mid-platform may only be a project in the implementation path. At this stage, we can also answer the question we are concerned about. Do we really need a middle platform and what middle platforms do we need?
The third stage is Design , which helps us to do detailed design for a product in the implementation path, such as Central Product Platform, including product-level business requirement analysis, functional and architectural design, implementation plan, etc. For example, for Central Product Platform products, in the Design stage, we need to answer the product vision, boundary, Product Form, technical architecture, delivery plan, cost estimate, etc. This process is a standard product design process, but in the middle platform project, it is mostly for middle platform products.
The fourth stage is Delivery . At this time, we can start the specific delivery process for a well-designed middle platform. We adopt an agile and lean software development approach, using rapid iteration and feedback-based adjustments to make up for the design deviation and other delivery problems caused by the complexity of mid-platform building itself, and pay attention to the governance and guardianship of the architecture to reduce the deviation between implementation and design.
The entire D4 process is a process from strategy to implementation, from enterprise architecture to product architecture and final delivery. Following the ideas of agility and lean, the entire D4 process is also constantly iterative. For example, every quarter to half a year, we can redo lightweight Discovery and Define to continuously make agile adjustments to the enterprise architecture to cope with market and self-changes and uncertainties.
Finally, a colleague asked me why it’s called D4 instead of 4D. There’s actually a little Easter egg here, because we think the pronunciation of D4 in Chinese is a bit like Diss, representing our attitude of constantly challenging old business forms, constantly innovating, and constantly changing, which is also very in line with the current wave of enterprise digital transformation.
# Summarize thinking
Today’s lecture, I will take you from a typical mid-platform building in the starting phase will encounter the problem cut, elaborated on the difference between a middle platform and a distributed system, and finally understand the essence of the problem behind the middle platform, In fact, it is a user-oriented and innovative platform-type enterprise architecture problem .
Afterwards, we analyzed why traditional enterprise architecture methods have limitations in dealing with mid-platform issues, combined with some relatively new practices, and integrated them into our current mid-platform planning and construction methodology, the D4 model.
Finally, I briefly introduced the overall situation and ideas of the D4 model to you. So far, we have used this methodology to help many companies plan and implement their middle platforms.
From the current feedback effect, this model is still very useful, because this method actually implements a principle we call Think Big, Start Small, Move Fast. We need to think long-term, quickly cut in, and maintain continuous evolution. This principle is particularly suitable and necessary when dealing with mid-platform planning and construction tasks with high uncertainty and complexity.
Finally, I’ll leave you with a few thought-provoking questions:
- What kind of problems have you encountered during the mid-platform building process? And how did you deal with them?
- What methods is your company using to plan and build the middle platform? What are the similarities and differences with the D4 model I mentioned?