After more than ten years of development, the Internet has witnessed unprecedented prosperity in the past two years. More and more industries have been affected by it and started the process of independent informatization. Thanks to the opportunities brought by the popularity and maturity of cutting-edge Internet technologies (especially mobile Internet), the business volume of enterprises in various fields has achieved unprecedented growth, with increasing scale and influence. However, in a short period of time, the enterprise volume explosion, including the information construction can not keep up with the needs of the enterprise, the new and old system connection is not smooth and other problems.
** Practical problems facing enterprise informatization **
In the rapid development of enterprises, there is often such a cycle.
Add a business – > recruit relevant core talents – > build a team around core talents – > Only the team is responsible for this business. This leads to a closed loop, where the need to interact with other businesses, usually agreed only between principals, can lead to situations where the same business interface provides multiple means of RPC, HTTP, MQ, etc. to provide basic services for different projects.
If the business develops further and the number of team members increases rapidly, the decision makers of the team will usually consider their own interests and try to reduce the dependence of other teams. Whether it is technology selection, specification establishment, component selection, operating environment are self-controlled. Once such a technical atmosphere is formed, the impact of a single position on the whole project will be infinitely amplified. In many cases, a software project will be affected by
The loss of a few core talents made it difficult to sustain, and eventually the whole project had to be restarted.
In addition to team stability issues, there are cost concerns. When almost every team tries to build its own complete R&D process, there will be a huge waste of resources in the process of technical research, product development, operation and maintenance management. KPI indicators are also difficult to set. After all, each team uses different technology stacks, different technology components, and different maintenance methods and specifications. As a result, managers cannot judge a team’s performance by relying solely on traditional measures of productivity. Just as it is impossible to judge whether a helicopter pilot is better than a train driver.
** Solution **
In the early stage of enterprise development, in order to rapidly expand business, most enterprises do not consider the cost input, operation and maintenance and technology precipitation and other issues. All the metrics are how fast the business is growing, how much market share it has, how many users it has acquired. When the development to a certain stage, the market gradually tends to be stable, all kinds of problems left in the early stage gradually exposed. From a technical point of view, if there is a unified development framework, it will bring great convenience in the actual production process.
** Advantages of a unified development framework **
1. Avoid repetitive technical research — save labor cost
Most technology companies believe that project teams can devote more energy to the business. To do this, you need to build a basic development architecture platform under the project team, distill the commonalities of the technology, and hand them over
The same team. Avoid solving all kinds of technical problems on each project independently and release your energy effectively.
2.
Standardization of technical specifications – improve product project quality
E pluribus unum, not unum. The adoption of a unified development framework (platform) can form a standard technology output in the technology stack, technology components, technology implementation solutions and code specifications. The benefits are not only improved development efficiency, but also greatly improved product quality, and this is obvious.
Technology precipitation – to improve the company’s technical capabilities and avoid the dilemma of individual members affecting the whole team
Technological progress comes from constant accumulation and precipitation, and every developer works with each other to complete the work. In project-oriented technical teams, requirements are often the most important goal, and technology is simply a tool to get the job done. In summary, accumulating skills is not as important in the eyes of developers.
Often, the basic tool platforms and related technologies built by the core members will be abandoned by the team along with the loss of the core members, which will have a negative impact on the stability of the team. In severe cases, the development process of the project will be interrupted. If there is an enterprise-level unified development framework (platform), the project team can carry out independent research and development based on this platform, without paying attention to the underlying technology implementation, as long as the business can be concerned. When there is a change of core members, the new team members only need simple training to make up for the job vacancy perfectly, and there will not be a shortage of manpower.
4.
Quantifiable R&D costs – effective management and assessment of the team
After the establishment of standardized technical specifications for the development framework platform, the business function code can be effectively evaluated, which can avoid various problems caused by technical differences and play a huge role in the formulation and evaluation of KPI.
** Positioning and goals of the unified development framework (platform) **
It is positioned at the technical level and its main purpose is to unify the technical architecture and development tools used in r&d and project implementation within the enterprise. It can effectively increase the support for technical unity, form a continuous means of technical accumulation, improve the utilization rate of personnel and reduce the dependence on personnel. Eventually, software can be made in bulk, in an assembly-line production mode.
** How the unified Development Framework (platform) team operates **
How to build a unified development framework (platform) in the enterprise is not a simple thing, from the division of labor and operation mode, the work of the unified development framework (platform) is divided into three parts.
Develop examples, technical support and technical specifications.
For many developers new to a unified development framework, it is important to have a complete business development document that not only guides developers on how to write business code, but also helps them to write standard, efficient code. Service operation and maintenance.
The unified development framework (PLATFORM) provides many internal enterprise services, such as service registry discovery center, configuration center, monitoring center, link center, health monitoring center. These all need to be operated and maintained by the unified Development Framework (platform) team.
New components, new product development.
API gateway, Distributed Task scheduling framework, Service registry Plus, etc. Are the work of the Unified Development Framework (platform) team.
Although building a unified development framework (platform) at the company level will bring great benefits in the actual production process. However, it may not be applicable to all cases. Large companies, some of which have accumulated certain technologies, can develop independently and take less time and cost into consideration. Small and medium sized companies can choose mature software platforms in the market, so that the cost is much lower.
Related technical data source and details source: [https://www.learun.cn](https://www.learun.cn)