This article is shared by Luyu Zhang, Co-product Director of CODING, at Tencent Cloud CIF Project Effectiveness Summit. At the end of this article, you can visit the official website of the Summit to watch the replay and download the PPT.
Dear friends, welcome to the sub-forum of Tencent Cloud CIF Project Efficiency Summit. I am Lu Yu, product manager of CODING. I am very glad to meet you in this way. In the following theme session, I will first bring you the product concept and overall interpretation of CODING DevOps R&D platform. We also invited several new product leaders for the second half of the year to share with you on project synergy, WePack, and the continuous deployment of Oribt for new products and development process Management Compass * (notes are coming out) *.
It has been three years since I joined CODING. Prior to that, I had nearly ten years of R&D management experience. I am also a fan of efficiency tools. Over the past few years, I have seen three stages of change in the understanding of r&d tools by local r&d teams, the industry, and CODING products: from tools, to toolkits, to software factories.
Tools, toolboxes to the software factory
According to the western classical management theory, organizational efficiency can be classified as labor efficiency, organizational efficiency and human efficiency. Principles of Scientific Management written by Taylor, an American management scientist, was praised by Drucker as “the greatest invention of the 20th century”. According to the theory of labor efficiency, division of labor improves production efficiency. Ford’s assembly line is a typical representative of division of labor and industrialization. In the Wealth of Nations, the economist Adam Smith described 18 steps in screw making, each performed by 18 specialized workers. Organization theorists represented by Max Weber believe that effective division of posts and formation of bureaucratic organizational structure can release efficiency, and reasonable and legal rights are necessary conditions to promote organizations to achieve their own goals. The means to maximize organizational efficiency is the combination of professional level and hierarchy. As we say today, it means matching people of different professional abilities with suitable positions. Mary Frit put forward the “people-oriented” theory of human resource management, paying more attention to human psychology, and balancing the needs of employees and the goals of organization development in management.
Modern digital and platform-based enterprises emphasize innovation and collaboration, and put forward new challenges on the basis of classical management theory. Only division of labor can no longer meet the needs of the market. We find that:
1. The rise of the value of strong individuals, the most valuable innovation is completed by a small number of people in the enterprise;
2. Factors affecting organizational performance shift from internal to external, and all employees need to pay attention to the value of deliverables and customer needs. Efficiency = value X efficiency. If the value is zero, it doesn’t matter how efficient you are;
3. With diverse and rapidly changing needs, managing uncertainty is a core organizational challenge. Uncertainty is a double-edged sword, to grasp the uncertainty is to focus on the opportunity of enterprise development.
The above is the theoretical foundation of digital collaboration in our view. Management logic is moving from division of labor to coordination. Good tools need to follow the classical theory of division of labor, but more attention should be paid to the coordination needs of the digital economy era.
We asked the question — is software still a leader in digital collaboration? I found a DevOps ecology map for 2021, as you’ve probably seen a lot of in recent years. The proliferation of tools around building, testing, deploying, running environments, monitoring, project management, and information flow of code reflects the rapidly changing technology environment in which we live, and software practitioners are indeed becoming more tool-savvy.
Your team may be using Jira for project management, Gitlab for code management, Jenkins for continuous integration, JFrog for artifacts management… However, a development team needs to use so many tools that there is a lot of pressure to make a choice as a technology decision maker. From learning to deployment to application, the cost doesn’t stand up to the math. A new colleague needs to open seven or eight accounts, and the management of digital assets faces potential risks.
More importantly, we believe that this toolset form does not provide developers and managers with a truly efficient, flexible boundary-coordinated environment.
Obviously, compared to some highly integrated digital industries, even traditional industries, we cannot confidently say that we are staying ahead. Technology decision makers have just stepped out of the tool era, are staying in the toolbox era, urgently need a new form of collaborative environment to meet the challenge. Therefore, CODING proposed the concept of digital software factories. This also coincides with the evolution of CODING products.
In 2014, CODING first launched the code hosting service tool based on Git and became the leading code hosting service platform in China. At that time, CODING also proposed the concept of “cloud development to make development easier”. In 2018, we launched project collaboration, continuous integration, Cloud Studio and other products, forming a series of necessary RESEARCH and development tools, these tools have reached the leading level in China after time polishing. Last year, CODING received the first DevOps excellence certification from the Korea Information And Communication Institute, which is the highest level of DevOps tool certification in Korea. This year, we put forward strategic upgrading, combined with modern software engineering practices and advanced concepts, launched r&d measurement, R&D process management Compass and other products, to create digital software r&d workflow with open ecological capabilities.
“To make full use of the skills of the diligent and conscientious technician, to build a free, open-minded, relaxed ideal factory.” “– Masai Ibuka, the late founder of SONY, wrote in the company’s Founding Manifesto when the company was founded. I personally love this quote and take it as a vision for team management and product design.
As a software enterprise, it is necessary to stand on the theory of modern software engineering and the forefront of technology. No engineer can talk about efficiency without technology. Meanwhile, management efficiency comes not only from division of labor, but also from coordination. We have three basic concepts for advanced R&D management tools:
1. Pay attention to the synergy effect, 1+1 > 2, everyone can get the information context required to deliver value, so that strong individuals in the team can be stronger;
2. Go beyond process, based on excellent engineering practice. Not only to build excellent single-point tools, but also closely around the cloud native, DevOps and other technical concepts, so that each R & D team in a shorter path to apply the engineering concept of excellent team;
3. Consistent and immersive integration experience. Tightly integrated user interface and data to create an online environment for every developer to stay focused.
One-stop DevOps platform interpretation
Next, I will introduce you to the one-stop CODING DevOps panorama. The figure below shows the distribution of CODING capabilities. In terms of capabilities, CODING can be divided into project collaboration, assembly line, test management, product management, continuous deployment, knowledge management, R&D process management, PMO Office and team management.
In order to make it easy to understand, we can compare several of them with Jira, Jenkins, etc., which are familiar to some friends, and basically cover all the requirements in mature software engineering practice. We can interpret it from three perspectives: project management, project management and team management. In CODING, “item” is the basic unit of collaboration container. It can generally refer to a project with a life cycle or a project team with a fixed way of working. When the requirements are in the requirements pool, the r&d team can use either an agile model, represented by Scrum, or a classic waterfall model, which is more plan-driven. Epics represent large-grained requirements that span iterations, with requirements, tasks, defects, and so on being the basic unit of transactional decomposition. CODING includes a full-fledged code repository service that can correlate requirements with code submissions and branches.
With Compass, a new R&D process management product, r&d leaders can constrain and automate project workflows. For example, when requirements change status, check whether the corresponding code branch passes the automated test, and developers submit code to follow the code branch naming rules, etc.
From the perspective of engineering management. CODING encompasses a robust set of visual pipeline capabilities, including continuous integration, product management, continuous deployment, and more. Continuous integration aims to achieve faster release frequency. Using the concept of “test left”, combined with code scanning and automated testing capabilities, the r&d team can achieve reliable integration and release dozens of times per day. Compilation results from integration are incorporated into artifact management for easy version indexing and accelerated testing and release processes. Artifact scanning can scan binary components and their metadata to find vulnerabilities in components without accessing the source code.
Continuous deployment enables frequent and continuous deployment of software to production in an automated manner, enabling rapid delivery of software products. The continuous deployment module covers the release target environment information for test and production environments. According to the release plan, various release strategies such as blue and green release and Canary release can be applied to push products to the online environment. So far, the project has realized a complete closed loop of DevOps from requirement to release, and the context of value stream, code flow and product flow of the whole process is clear and transparent in the CODING platform.
The lack of human resource management was the bane of the bulk r&d management tools of the past. In order to adapt to the management needs of different sizes of R&D teams, combined with the management characteristics of local R&D teams. CODING provides a series of team management tools across teams and projects, giving full play to the advantages of one-stop products with high data integration.
CODING also includes a new “knowledge management” module, where knowledge Spaces can be mounted under projects or used separately. Product documents can be written and organized using Markdown or rich text, and a block-based document structure gives team members the freedom to embed content structures such as requirement cards, mind maps, tables, and more in the document.
Through the function of “team objectives”, OKR management method can be applied at the organization level. Objective views at the company level, department level and individual level can be set in CODING, and key results can be associated with requirements to achieve execution decomposition and tracking. If the team members can change from “want me to do” to “I will do” through the management by objectives, there is no doubt that this will be a team full of mobility and high performance.
Today, more mature organizations are concerned about team management. CODING at the platform level has covered organizational structure management, centralized authority management, etc. We look forward to absorbing and passing on management practices of more outstanding teams. Later in the session, I’ll also introduce you to two new team-level management tools released today: R&D metrics and workload.
Platform services for people
Having said that, we believe that tools and platforms are about people, for people. Engineers have a geeky, “do-it-yourself, do-it-yourself” ethos, and technology decision makers face a choice between building their own tools and public cloud platforms. So why are SaaS platforms better than home-built tools? I’m using an analogy here. Self-built tools are to on-cloud platforms what pets are to livestock. Pets, such as cats and dogs, are delicate and require constant effort and care. People provide care and services for pets in exchange for emotional value. Livestock, such as cattle and horses, are evolutionarily selected tools of production that are inherently productive for humans.
There are still quite a number of R&D teams that unconsciously invest in self-built tools regardless of cost, from a few to dozens of people to set up engineering teams to learn, build, maintain and develop. This pet-thinking ignores the production-oriented nature of tools, as well as the huge efficiency advantages that cloud evolution and social division of labor can bring. It is worth mentioning that CODING has perhaps the largest high-level R&D team in The DevOps field in China, whose members have a rich accumulation of technology, engineering and user experience. We suggest that the technology decision maker make a rational choice between a self-built tool and a one-stop platform based on operation and maintenance costs, configuration costs, ease of use, rights management, metrics and specifications.
In addition, CODING has the following advantages:
- It can adapt to the gradual workflow transition from waterfall to agile and support data migration from existing systems;
- ChatOps ecosystem can communicate with wechat mini program, enterprise wechat, Dingding and other IM, and the platform opens a rich API for secondary development.
- The standard version is free, and the advanced version is subscribed according to the number of people;
- Tencent cloud resources and CDN acceleration capabilities are fully utilized to provide speed and availability advantages;
- Both free and paid users are guaranteed availability and service support.
…
R&d metrics & New product interpretation of workloads
I hope that my introduction above can give you an overview of the concept and advantages of one-stop R&D management platform. Now I’m going to bring you a series of our new products, starting with R&D metrics.
Drucker once wrote, “If you cannot measure it, you cannot manage it.” This quote speaks volumes about the importance of measurement in management. For teams focused on r&d effectiveness, we want to measure and increase the rate of value creation, we want to measure and improve quality issues in a timely manner, and we want to be able to compare engineering effectiveness between teams within the organization and even with other teams in the industry. However, measurement is a complex issue in the practice of many r&d teams. We’ve seen teams go from using Excel to assemble reports everywhere 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, the effective interpretation of indicators and the judgment of improvement measures.
Leveraging the data integration advantages of a one-stop platform, CODING brings r&d teams focused on performance improvement a r&d measurement tool that can conduct multi-dimensional analysis of data generated across the platform. It features out-of-the-box, highly visual performance metrics models that promote transparency in DevOps projects.
R&d metrics cover a full-link data source from requirements, code, artifacts to release, and can be freely organized into individual and team views, with robust rights management mechanisms for the metrics view. Using the Metric query, the team leader, PMO, can customize complex visual reports with data that can be drill-down, exported, or shared on screen. In fact, there is no need for the R&D team to design excessive indicators. A few indicators (generally no more than 20) can basically cover the main dimensions of the team and the project. More importantly, effective improvement measures for key indicators can be grasped.
Based on the DevOps maturity model, we have selected some reference metrics and baselines. Examples include requirements delivery cycles, defect repair times, automated testing rates, and so on. In the past, there might have been quite a lot of processes to configure to cover these key indicators, especially for medium and large organizations, covering more teams, more projects, or even cross-team, cross-project scenarios.
CODING metrics provides a maturity model-based performance view and quality view with predefined metrics designed to be easily applied to your team with one click of the button without complex configuration. As the depth of use increases, r&d teams can customize their own formulaic metrics.
The last thing I want to show you is workload, which is a new HUMAN resource management tool from CODING. The tool defines an indicator of job saturation that measures in an intuitive and visual way how well a group of developers are working in parallel. It is especially suitable for planning driven teams to type requirements and identify idle and oversaturated development resources. The tool is now available and can be directly experienced and used in the CODING online version.
That’s what I’ve brought you today. As shown below, thanks to these teams for creating products with us over the past year. By creating a one-stop r&d platform, CODING hopes to convince people that a digital software factory is possible. I invite you to join other teams in the digital work experience of high performance r&d.
Click here to watch a replay of CIF Summit