In recent years, the Internet has developed explosively in China. More and more industries have been affected by the Internet and started the road of independent informatization. Although thanks to the development of the Internet, the business growth of many enterprises has reached an unprecedented level and the scale is getting larger and larger, but it also produces a variety of problems, such as the information construction can not keep up with the needs of business development, the new and old systems are not smooth, etc..
Practical problems faced by enterprise informatization
In the rapid development of enterprises, such a chain often appears.
Add a piece of business — > hire a senior tech person — > build a tech team around that colleague — > the business is largely handled by that team. This leads to a closed loop, and when it comes to interacting with other businesses, often negotiated between technical leaders, you may encounter the same business interface that provides RPC, HTTP, MQ, etc., just to provide basic services for different projects.
If the team forms a department with the development of the business, the decision makers of the team will usually consider their own interests and try to reduce the dependence of external departments. They hope to control technology selection, specification establishment, component selection and operation environment. Once such a technical atmosphere is formed, the impact of a single employee on a single project will become huge. A product will often be difficult to sustain due to the departure of one or two core employees, and a new product has to be developed.
In addition, in terms of cost, when each team is trying to build its own complete RESEARCH and development process, there will be a lot of waste of resources in technical research, product development, operation and maintenance management. In addition, KPI indicators will be very difficult to set, because when each team adopts different technology stacks, different technical components, different maintenance methods and specifications, it is impossible to judge the performance of a team from the output efficiency, just like you can’t measure whether a Sichuan chef or a Shandong chef is better.
The solution
In the early stage of the development of the company, in order to rapidly expand the business, most of the company does not consider the cost, operation and maintenance and technology precipitation and other issues. All the indicators are oriented to the rapid development of the business, to seize market share as much as possible, and to obtain a sufficient number of users.
After the development of the company to a certain stage, the market gradually tends to be stable, the early rapid expansion of various problems will be gradually exposed. From a technical point of view, if a unified development framework can be formed at the company level, it will bring great benefits in the actual production process.
Advantages of a unified development framework
1. Avoid repetitive technical research — save labor cost
Let the project team put more energy into the business. I believe this is the consensus of most technology companies. What if you let the project team focus on the business? It is necessary to build a basic development architecture platform under the project team, extract the common problems of technology, and give such a team to deal with. Avoid having to solve all kinds of technical problems on each project alone and release your energy effectively.
2. Standardized technical specifications — improve the quality of products and projects
One person, not one person. After the adoption of a unified development framework (platform), in the technology stack, technology components, technology implementation scheme, and even in the code specification can form a standardized technology output mode, standardization brings the biggest effect not only the rapid improvement of development efficiency, but also the significant improvement of product quality, which is obvious.
3. Technology precipitation — to improve the overall technical capability of the company, so as to avoid the situation that one person’s ability determines a project
Technological progress comes from continuous technological accumulation and precipitation. Every engineer does his work by standing on the shoulders of others. Project-oriented technical teams often have business requirements as the most important goal, and technology is simply a tool to accomplish the business. Because of this, it is impossible for a business development team to regard technology accumulation as an important task. When a key employee builds some basic platform tools, he or she often leaves and throws away all the accumulated technology, and in worse cases, the sustainability of the entire project becomes a problem.
When there is a unified development framework (platform) at the company level, the project team can carry out their own project research and development based on this platform, no longer need to focus on the underlying technology implementation, only need to focus on the business. When some core colleagues leave, the r&d colleagues of the platform can provide relevant training to the new colleagues, so that there will be no shortage of staff. Moreover, in order to better meet the technical requirements of the project team, the colleagues who focus on the platform constantly improve the platform, so as to achieve the goal of technology accumulation and precipitation.
4. Measurable R&D investment — Effective management and assessment of r&d team
When standardized technical specifications based on the same development framework (platform) are established, the code implementation of business functions can be evaluated and considered in a relatively effective way, avoiding problems caused by technical implementation differences. This is a great help to the formulation and assessment of KPI.
The positioning and goals of the unified development framework (platform)
The unified development framework (platform) is positioned at the technical level. Its main purpose is to unify the technical framework and development tools used in the r&d and project implementation of relevant products in the company, effectively improve the intensity of unified technical support, form continuous means of technology accumulation, improve the utilization rate of technical personnel and reduce the dependence on personnel. Ultimately improve the scale of software, pipeline-type production capacity.
How the unified Development Framework (platform) team operates
How to promote the construction of the unified development framework (platform) in the company is not a simple matter. In terms of division of labor and operation mode, I mainly divide the work of the unified development framework (platform) into three parts.
Develop examples, technical support and technical specifications. Write complete development examples. For many colleagues new to the UNIFIED development framework, it is important to have a complete business development document, not only to guide you on how to write business code, but also to guide you on how to write correct and efficient code. It also requires technical training and technical support for many colleagues, which is what the unified development framework (platform) team should do.
Service operation and maintenance. The unified development framework (platform) provides many internal services, such as service registry discovery center, configuration center, monitoring center, link center, health monitoring center, and so on. These all need to be operated and maintained by the unified Development Framework (platform) team.
New components, new product development. API gateways, distributed task scheduling frameworks, service registry Plus, and others mentioned in the previous section. 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.
Learun.Framework.net/java software platform demonstration case: learun. Cn.
The original Windy.