This article is Coding Collaborative Product Director, at the Tencent Cloud CIF Engineering Efficiency Summit. At the end of the article, you can go to the official website of the summit to watch the replay and download the PPT.
Welcome friends, to the sub-forum of Tencent Cloud CIF Engineering Efficiency Summit. I am Lu Yu, the product manager of CODING. I am very happy to meet you in this way. In the next theme session, I will first bring you the product concept and panoramic interpretation of the CODING DevOps R&D platform. We also invited several new product leaders in the second half of this year to bring you information about project collaboration, WePack , And the continuous deployment of new products Oribt and the sharing of R&D process management Compass (notes have been issued in succession) .
It has been three years since I joined CODING. Before that, I had nearly ten years of R&D management experience. I am also an out-and-out efficiency tool enthusiast. In the past few years, I have seen three phased changes in the understanding of the concept of R&D tools by local R&D teams, the industry, and coding products: from tools, to toolboxes, to software factories.
Tools, toolboxes to software factories
Western classic management theory believes that organizational efficiency can be classified as labor efficiency, organizational efficiency and human efficiency. The "Principles of Scientific Management" written by American management scientist Taylor is hailed as "the greatest invention of the 20th century" by Drucker. The labor efficiency theory believes that division of labor improves production efficiency. Ford's assembly line is a typical representative of division of labor and industrialization. The economist Adam Smith described the eighteen processes of screw manufacturing in The Wealth of Nations, each of which was completed by eighteen specialized workers. Organizational theorists represented by Marx Weber believe that effective division of positions and formation of a bureaucratic organizational structure can release efficiency, and reasonable and legal rights are necessary conditions for organizations to achieve their goals. The means of maximizing organizational efficiency is the combination of professionalism and hierarchical system. In our words today, allows people with different professional abilities to match suitable positions. Mary Fleet put forward the "people-oriented" human resource management theory, paying more attention to the human psychology, and the management needs to balance the needs of employees and the goals of organizational development.
Modern digital and platform-based enterprises emphasize innovation and collaboration, and put forward new challenges on the basis of classic management theories. The division of labor alone can no longer meet the needs of the market. We found that:
1. The rise of the value of strong individuals, most valuable innovation is completed by a small number of people in the enterprise;
2. The factors that affect organizational performance have shifted from internal to external. All employees need to pay attention to the value of delivered content and customer needs. Effectiveness = value X efficiency. If the value is 0, no matter how high the efficiency is, it will not help;
3. Due to the diversification and rapid changes in demand, controlling uncertainty has become the core challenge of the organization. Uncertainty is a double-edged sword, and being able to grasp the uncertainty is the opportunity to focus on corporate development.
The above are the theoretical foundations of digital collaboration that we believe. The management logic is moving from division of labor to collaboration. Good tools need to follow the classic division of labor theory, but more need to pay attention to the needs of collaboration in the digital economy era.
We ask the question-is software R&D still the leading industry in digital collaboration? I found such a DevOps 2021 ecological map, as shown in the figure below. You must have seen a lot of pictures like this in recent years. Tools around code construction, testing, deployment, operating environment, monitoring, project management, information flow, etc. emerge in an endless stream. This reflects that the technological environment we live in is changing rapidly, and software practitioners are indeed getting better at using tools.
Your team may be using Jira for project management, Gitlab to manage code, Jenkins to achieve continuous integration, and JFrog to manage products... However, a R&D team needs to use so many tools, and as a technical decision maker, it faces many choices. pressure. From learning, deployment to application, the cost cannot stand the calculation. A new colleague needs to open seven or eight accounts, and the management of digital assets faces potential risks.
More importantly, we believe that under this tool set form, developers and managers have not provided a truly effective and flexible boundary collaboration environment.
Obviously, compared to some highly integrated digital industries, or even traditional industries, we cannot confidently say that we are staying ahead. Technical decision makers have just stepped out of the tool era and are staying in the toolbox era. A new form of collaborative environment is urgently needed to meet challenges. Therefore, CODING proposed the concept of Digital Software Factory . This also coincides with the evolution route of CODING products.
In 2014, CODING took the lead in launching a Git-based code hosting service tool, becoming the leading code hosting service platform in China. It was also at this time that it put forward the concept of "cloud development, making development easier". In 2018, we launched project collaboration, continuous integration, Cloud Studio and other products, and formed a series of necessary R&D tools. These tools have reached the leading level in China over time. Last year, CODING was the first to obtain the DevOps "excellent level" certification from the Institute of Information and Communications Technology, which is also the highest-level DevOps tool system certification in China. This year, we proposed a strategic upgrade, combined with modern software engineering practices and advanced concepts, and launched R&D measurement, R&D process management Compass and other products to create a digital software R&D workflow with open ecological capabilities.
"We must give full play to the skills of diligent and conscientious technicians, and build an ideal factory -This is the late founder of Sony Corporation. "A sentence in ". I personally like this sentence very much and use it as the belief and vision of team management and product design.
As a software company, you need to stand on top of modern software engineering theory and the forefront of technology. No engineer can talk about efficiency without technology. At the same time, management efficiency comes not only from division of labor, but also from collaboration. We have three basic concepts for advanced R&D management tools:
1. Focus on synergy, 1+1> 2, everyone can get the information context needed to deliver value, so that the strong individuals in the team can be stronger;
2. Beyond the process, based on excellent engineering practice. is necessary to build excellent single-point tools, but also to focus on technical concepts such as cloud native and DevOps, so that each R&D team can use the engineering concepts of excellent teams in a shorter path;
3. Consistent and immersive fusion experience. tightly integrates the user interface and data, creating an online working environment for each developer to stay focused.
One-stop DevOps platform interpretation
Next, I will introduce you to the one-stop panorama of CODING DevOps. The following figure shows the main capability distribution of CODING. From the capability dimension, we can divide it into project collaboration, assembly line, test management, product management, continuous deployment, knowledge management, R&D process management, PMO Office and team management Large module.
In order to facilitate understanding, we can correspond several of the major modules to Jira, Jenkins, etc., which are familiar to some friends, and basically cover all the needs in mature software engineering practice. We can interpret it from three perspectives: project management, engineering management, and team management. In CODING, "project" is the basic collaborative container unit. It can generally refer to a project with a life cycle, or it can represent a project team with a fixed working style. When the demand enters the demand pool, the R&D team can use the agile model represented by Scrum, or the classic waterfall model driven by the biased plan. Epic represents large-granularity requirements that can span iterations. Requirements, tasks, defects, etc. are the basic item decomposition units. CODING includes a mature code warehouse service, and requirements can be associated with code submissions and branches.
uses the brand-new R&D process management product Compass, R&D person in charge can restrict and automate the project workflow. For example, when the requirements change status, check whether the corresponding code branch has passed the automated test, and the developer needs to follow the naming rules of the code branch when submitting the code.
From the perspective of project management. Coding covers a set of robust visual pipeline capabilities , including continuous integration, product management, continuous deployment, etc. The purpose of continuous integration is to achieve a faster release frequency. Using the "test shift left" concept, combined with code scanning and automated testing capabilities, the R&D team can achieve reliable integration and release dozens of times a day. The compilation results generated by the integration will be incorporated into the product management to facilitate version indexing and speed up the testing and release process. The product scanning function can search for vulnerabilities in the component by scanning the binary component and its metadata without accessing the source code.
Continuous deployment can deploy software to the production environment frequently and continuously in an automated manner, so that software products can be quickly delivered and used. The continuous deployment module covers the release target environment information of the test and production environments. According to the release plan, various release strategies such as blue-green release and canary release can be applied to push products to the online environment. to this point, the 1619b7140849c0 project has realized a complete closed loop of DevOps from demand to release. The value flow, code flow, and product flow context of all links are clear and transparent in the coding platform.
Lack of human resource management is the shortcoming of bulk R&D management tools in the past. In order to meet the management needs of R&D teams of different sizes, combined with the management characteristics of local R&D teams. CODING provides a series of team management tools on the horizontal side of cross-team and cross-project, and deeply takes advantage of the high data integration of one-stop products.
At the same time, CODING includes a brand new "Knowledge Management" module, the knowledge space can be mounted under the project or used alone. Product documents can be written and organized in the form of Markdown or rich text. The document structure based on block set elements allows team members to freely embed various content structures such as requirement cards, mind maps, and tables in the document.
Through the "Team Goals" function, OKR management methods can be used at the organizational level. In CODING, company-level, department-level, and individual-level goal views can be set, and key results can be associated with requirements to achieve execution decomposition and tracking. If all team members can change from "I want to do" to "I want to do" through the goal management mechanism, there is no doubt that this will be a team full of mobility and high efficiency.
Team perspective management is the product capability that more mature organizations care about today. CODING has covered organizational structure management, centralized authority management, etc. at the platform level. We look forward to absorbing and delivering more outstanding team management practices. In a later link, I will also introduce you to two new team-level management tools released today: R&D measurement and workload.
Platform for people
Having said that, we believe that tools and platforms are people-oriented and serve people. The geek spirit and inertial belief of engineers is "do it yourself, with plenty of food and clothing." Technical decision makers are also faced with the choice between self-built tools and public cloud platforms. So why is the SaaS platform better than self-built tools? Let me make an analogy here. The relationship between self-built tools and cloud platforms is like the relationship between pets and livestock. Pets, such as cats and dogs, are delicate and require continuous cost and energy to be carefully maintained. Humans provide pets with care and services in exchange for emotional value; livestock, such as cows and horses, are production tools that have been evolved and screened by humans. It provides production value for mankind.
There are still quite a lot of R&D teams unconsciously investing in self-built tools, regardless of cost, ranging from a few people to as many as dozens of people to set up engineering teams for learning, building, maintenance, and development. This kind of pet thinking ignores the nature of tool production, and also ignores the huge efficiency advantages that the evolution of cloud technology and social division of labor can bring. It is worth mentioning that CODING has probably the largest high-level R&D team in the domestic DevOps field, and team members have a wealth of technology, engineering and user experience accumulation. We suggest that technical decision makers can make a rational choice from various perspectives such as operation and maintenance costs, configuration costs, ease of use, authority management, measurement and specification: whether self-built tools are better or a one-stop platform is better.
In addition, CODING also has the following advantages:
- It can adapt to the gradual workflow transition from waterfall to agile, and supports data migration from various existing systems;
- The ChatOps ecosystem can interoperate with WeChat Mini Programs, Enterprise WeChat, DingTalk and other IMs, and the platform opens a rich API for secondary development;
- The standard version is free, and the premium version is subscribed according to the number of people;
- Make full use of Tencent Cloud resources and CDN acceleration capabilities to provide speed and availability advantages;
- Both free and paid users provide usability assurance and service support.
……
R&D Measurement & Workload New Product Interpretation
I hope that my introduction above will give you an overview of the concepts and advantages of the one-stop R&D management platform. Now we bring you a series of new products, the first is the R&D measurement .
Drucker once wrote: "If you can't measure it, you can't manage it." This sentence fully reflects the weight of measurement in management. For teams focusing on R&D efficiency, we are eager to measure and improve the speed of value creation, we are eager to find and improve quality problems in a timely manner through measurement, and we are eager to compare the results between teams in the organization and even with other teams in the industry. Engineering efficiency, we are eager to have such an easy-to-use ruler. However, measurement is indeed a complex issue in the practice of many R&D teams. We have seen many teams from using Excel to collect reports from various locations to building infrastructure based on SQL queries or more complex data warehouses. Measurement involves the regularization and cleaning of data sources, the selection of indicators and the setting of baselines, and the effective interpretation of indicators and the judgment of improvement measures.
CODING takes advantage of the data integration advantages of the one-stop platform to bring R&D measurement tools that can perform multi-dimensional analysis on the data generated by the entire platform to the R&D team focusing on performance improvement. It is characterized by out of the box, highly visible, and comes with a performance index system model, which promotes the transparency of DevOps engineering.
R&D metrics cover the full-link data sources from requirements, codes, products to releases, and individual views and team views can be freely organized. The metrics view has a sound authority management mechanism. Using the metric query tool, team leaders and PMOs can customize complex visualization reports. Data can be drilled down, exported, or shared and screened. In fact, the R&D team does not need to carry out excessive indicator design. A few indicators (generally no more than 20) can basically cover the statistics of the main dimensions of the team and the project, and more importantly, grasp the effective improvement measures of the key indicators.
Based on the DevOps maturity model, here we have selected some reference indicators and baselines. For example, demand lead time, defect repair time, automated test rate, etc. In the past, there may be quite a lot of processes to be configured to cover these key indicators, especially for medium and large organizations that cover more teams, more projects, and even cross-team and cross-project scenarios.
Coding R&D metrics will preset the performance view and quality view based on the maturity model. There are pre-defined indicator designs in the view. This function can be easily applied to your team by turning on this function with one click, without the need for complex configuration. Can be used directly. As the depth of use increases, the R&D team can customize formula indicators that suit them.
Finally, I bring you the workload , which is a brand new human resource management tool provided by CODING. This tool defines an indicator of job saturation, which can measure the parallelism of a group of R&D personnel in an intuitive and visual way. It is especially suitable for the layout of the needs of a plan-driven team, identifying idle development resources and over-saturated development resources. This tool is now online and can be directly experienced and used in the online version of CODING.
The above is what I brought to you today. As shown in the figure below, thank these teams for co-creating products with us in the past year. Coding hopes that by creating a one-stop R&D platform, people believe that a digital software factory is achievable. I invite you to join and join other teams to enter the digital work experience of high-performance R&D.
Click to watch the CIF summit replay
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。