Abstract
This paper is the content of zhang Haoran, senior efficiency project manager of NetEase Youdao Enterprise Development, in his speech “Effective” of PROJECT Management in Internet Industry with the help of R&D efficiency Practice, which focuses on the two themes of R&D efficiency practice and project management.
When I wrote PPT sharing, I initially thought of project management for the Internet industry. But it’s not just the Internet. Traditional industries are also undergoing digital transformation. Therefore, this project management is the whole industry can discuss together. I used to do research and development, and then I mainly did project management. During the process, I did product management for a period of time. At present, I mainly work in the Enterprise Development Department of NetEase Youdao to promote the whole r&d efficiency and improve project management.
I will elaborate my sharing theme from four parts.
1. Common challenges faced by Internet project management
We are now in an era of Uka, not only the Internet, but also traditional industries. The arrival of any era, will not abandon any one person, this era has what particularity? — Variability, uncertainty, complexity and ambiguity.
The so-called “changeable” means that each iteration should be developed quickly. Because the market changes rapidly, we are not sure where the next direction of the product is and what new demands the users have.
Complexity means that there are many forms and architectures of products, which cannot meet the needs of each customer with a set of standard solutions as before. Because our clients are smart, we need to deal with more complex and unclear demands. Ambiguity is easier to understand. Some big companies, such as Alibaba, are e-commerce companies, and Baidu is a search engine. However, as time goes by, the market in each vertical field tends to be saturated, and everyone’s boundaries become increasingly blurred. So we need to keep getting our MVP product out fast to get ahead of the Uka era.Project management, in this era to help enterprises reduce costs and increase efficiency, fast verification. But when we manage the entire software development team, there are some problems or problems. Let’s say we have an idea that needs to be done, and we put together a team to do rapid iterations. In order to meet the schedule, people have to work overtime. It’s hard work, but when it comes time to actually deliver the product, there are still delays.
In the research and development process, in order to catch up with the schedule, there will be some quality problems. In the whole process, in order to make up for the delay and poor quality, we will focus on human efficiency, which is easy to cause some refutations in the team, resulting in low morale. If our products are not accepted by the market after the launch, the morale of the whole team will be even lower over time.
Some people say THAT I am an experienced project manager or product manager, or technical leader, and I have no problem with scheduling or task assignment. Then, if we have cross-team cooperation, for example, NetEase has an A team, which attaches great importance to the testing process, divides the testing process into several rounds, and uses NetEase easy test platform to scan and check the code. The other B team, whose business form is not so complicated, just goes through the testing process without many automatic tools, and may still write use cases with mind maps such as XMIND and manage offline. However, if the partner of team B supports the project of team A and is not familiar with the tools and processes of team A, how can team B quickly integrate into team A and produce quickly will become the problem obstacle to the team’s efficient output.The challenge is that we’re going to have a slow delivery process. Because the more product lines we have, the more products we have to deliver. In different processes, there are new requirements for a product, and as the requirements come in, many version branches are created. This process, for example, when I’m working on version A and I insert new requirements, and I want to open version B, when I cut from A to B, it actually has an impact on development. At the same time, for example, in the early stage of the project, everyone is doing some research before development. At this stage, testers are waiting for the completion of development before entering the test. The waiting time is too long, which leads to the slow delivery. Poor quality is also a problem. There is no awareness of testing before development. Some people just write their own code before submitting it. The schedule is not reasonable, you may encounter this problem often. Scheduling is to schedule out the time for research and development, and compress the remaining time into testing time. Testing a large part of the functional modules only takes a few days, three or four days. For small functions, it takes half a day to finish testing and go online.
The problem of difficult collaboration is that multiple teams lack standard process tools. In the whole process, it is difficult to cooperate with personnel and switch projects; Second, if you encounter some problems, there may be wrangling; Finally, undermeasure. If there is no measurement, it cannot be done. Project managers, including management, do not know the current status of the entire team, and technical leaders, including technical leaders, cannot allocate tasks properly. Without measurement of the whole process, there is no way to measure everyone’s performance. Now OKR is being implemented, and there is actually a measure of how well KR is being achieved. These are common questions that weigh on the team.
In this process, the Matthew effect is formed. Every time the quality is poor, there is a problem after the line, operation and maintenance engineers become “back pot warrior”; Testing needs to verify existing problems as soon as possible, chasing development to fix them, becoming “accountability man”; Finally, our development, can only work overtime to do, became “overtime chivalry”. These are the “three warriors” of the Internet era. They work very hard, but the results are not ideal. They make a lot of noise every day
2. In view of this situation, how does Youdao explore and practice?
Step one, identify the problem.
Find out what the current problem is through interview or observation. Interviews are part of it, observations are part of it. The whole R&D team does not want to be disturbed in the process of work. If they are disturbed, on the one hand, they may not have enough cooperation, and on the other hand, some answers may not be available during the interview. Therefore, the team members need to find problems through observation under the condition of limited time. If you have time, you can invite to do co-creation, or internal co-creation. At the same time, we can share good cases with our team to see their acceptance.
The second step is to collect some problems for further analysis and positioning.
We collected questions from requirements to the entire development build, testing, deployment, including monitoring.
Demand, at the beginning, there is no demand management tool, we rely on written records, relatively low efficiency, and demand update, downstream is unknown. Failure to do requirements change management can lead to the discovery that some of the features developed are completely different, or very different, from what was actually intended near launch acceptance, which can be a fatal blow to the team. There are more or less problems in development, construction, testing and other links. We analyze and locate these problems, including all aspects of people, processes and tools.
In response to this, we made a plan:
Firstly, optimize the tools and processes of a single point from business to operation and maintenance. The ultimate goal is to establish a set of end-to-end solutions that can support the whole research and development process, fast, high quality and continuous release from business requirements to online release.
One is fast, two is high quality, three is continuous delivery. Not once fast, or once good quality, to continue to achieve this goal.
The first step is to introduce the agile development model
The second step is to build a tool chain from the perspective of the whole enterprise development, so as to bring the whole situation through
The third step is to build your own DevOps efficiency platform and be an integrated platform.
In the early stage, some process specifications will be adopted to make process-based drive according to requirements. We set up a standard workflow in which we set up branch processes for different teams, trying to fit within this standard workflow. We want to have processes that drive the whole process of production, whether it’s through cards or through automated tools, or through transformation processes, driven by tools, to precipitate this data. At the same time, at the code level and the test level, you do some encapsulation yourself, some of it yourself. CICD will say later that it is not completely self-built and will do front-end packaging. The users of our production and research team see that we are using a set of platform, and the whole process from demand to launch is complete on a set of platform, which is friendly to their perception. CI/CD core process, with the Tekton engine to do. Through some pipeline combination, to complete the whole process management, through the task file to do the whole POD scheduling, realize the whole process of continuous pipeline.Based on this level, we have done some construction from product design to requirements and codes, sent to the corresponding environment, conducted automated tests, and completely realized the full link pull through, including data kanban after the launch. With this full-link tool platform, we can better support our agile development model, and the last step is stuck in operation and maintenance.
In this way, through this platform can get a demand, after running fast online, online fast verification. After the verification, whether it is OK, with release conditions, the current release is now OK.
3. Effective combination of project management and R&D efficiency
Pull out the whole r&d process and build it yourself. How should our project management make some cuts? And research and development effectiveness. First of all, some improvements should be made in the way of project management. In the traditional project management, there is a traditional iron triangle concept. In terms of project management, traditional software industry pays more attention to the scope, time and cost of the project. For example, if I sign a contract with Party A and deliver some platforms or systems, I will have a strict scope positioning in this process. Our project approval time is divided into several months to deliver, phase I, phase II and phase III include our time and cost, party A and Party B need to do cost control when docking. Project management is more about triggering at these three levels, and then doing process management in the process. But this model, in fact, is in need of some improvement. Because this is the Age of the Internet, the age of uka, it’s impossible to say what you want at the beginning, how long you want it, how much budget you want it, so there needs to be a shift, and this is the concept of the Agile triangle.Scope, time and cost should also be looked at, but not so heavily, but as the constraints of the whole project management, that is to sayWe are looking for the most value in limited scope, time and cost.
In this process, some tools and processes can be used to gradually improve the quality. With the Agile triangle project management approach, delivering the most value at a time, rather than the full scope, MVP can be done based on the value of breaking down the smallest unit granularity at a time, and quickly adjusting if the value changes.
Secondly, some process improvements should be made in the project management process. From the perspective of project management, it used to be a linear process. Generally, after a project is established, it is necessary to do project approval, feasibility demonstration, feasibility study, design of the whole product, UE and UI design, research and development, test and launch. The whole process is linear. There is a problem. If the PRD of product requirement is not well drawn, can UE not be done? Can’t you do development?
** So we improved the process to reduce its lead time. ** THE PRD is not completely written, but in the form of a user story, the whole user story is given first. Based on what we want to make, we can dismantle the most valuable part, and then UE and development can do the requirements of this part first. Once the most valuable part is done, you can implement the second most valuable feature in your priority list. After disassembling the whole function, the subsequent processes can be directly connected.In addition, according to the project management plan, there must be a measurement system to do management, otherwise it is impossible to know the efficiency point of the whole RESEARCH and development team, or the situation of work saturation. Allow a certain amount of “fishing”, but enough is enough. Measurement is needed when some “fishing” is clearly unreasonable.
Finally, in project management, we gradually look for measures and systems of health and improve the process.
Short-term measurement is the first step, because there is no link platform statistics for the whole process, but process-based measurement, which can only collect data of requirements, development, testing, operation and maintenance at a single point. The project manager is more tired, and needs to go to each platform manually through excel, or go to some other places to ask, which is more difficult. But with this measurement system, you can basically drive it. Which data is now more important to everyone, or which is more painful to collect, can be improved gradually.
With a single point of data in place, the second step is to focus on the delivery goal. For example, if you need to deliver 5 or 10 stories this time, the process is based on the overall goal. In the process, you will look at the efficiency of some people, such as cycle time, the efficiency per person includes the time to repair defects, and you will look at it through the whole iteration rather than through a specific requirement. Also, for iterative releases, look at release frequency or lead time. Before the release, it may involve that the link is not well prepared, because in some cases, people are anxious to develop at the beginning, and when they are about to go online, they send applications to the test, or they are waiting for a machine to be configured, which greatly obstructs the time. The release time will be long, resulting in a long release for the final iteration. Quality is measured by smoke rejection rate, defect density and defect miss rate and other metrics throughout the process and iteration.
The third step is value-based measurement. There is a goal, but the goal is just a process to achieve product value, or to achieve value in the end. Value-oriented, layer by layer to filter the whole link, single point to do or through iteration to do, layer by layer, gradually eliminate. Value delivery oriented, through visual view or dashboard step-by-step decomposition, analysis, improve the efficiency and quality of the overall r&d performance.This combination path will make an overall balance based on the three levels of product users and market, and output the most valuable point this time, which is equivalent to a set of its own value evaluation system, which will be integrated into the whole production and research system. In the process of production and research, some requirements planning, version management and time box will be done, so that the project manager can control the process more effectively.
Our goal is to quickly explore and analyze the business through the whole energy efficiency platform, form an MVP, and quickly realize the launch and verification of MVP.
4. Future prospects of R&D effectiveness
First, As DevOps continues to deepen, the focus remains on integrating rich data sources.
We should pay attention to whether the data is effective, reasonable and rich enough. We should integrate the data sources and increase monitoring indicators through analysis. This depth needs to be more reasonable to promote the efficient work of the R&D team without destroying the team atmosphere.
Second, AIOps has been launched, but has not formed a large scale.
Although our company also has AI capabilities and AI teams, AI needs to do things based on big data. Only when the data is rich and the rationality is high, it will be reasonable and effective to do AIOps. Because only the analysis of correct and reasonable data, detected problems and automatic repair is reasonable and meaningful. Using unreasonable data to do AI is the wrong direction.
Third, the ultimate goal is to do NoOps, which is equivalent to releasing the pressure of the whole production and research side and completely realizing the automation of the assembly line.
That’s all for my speech today, thank you!