When the number of people in a R & D or product line team reaches dozens of people, the point-to-point flat communication and management model will inevitably become the bottleneck of product R & D and team development, at this time, we need to make adjustments from the personnel's organizational structure, that is, from point-to-point flat-level management to pyramid-type team-level management. As a R & D team, the technical R & D Director plays a core role in technical personnel management and product development process control as the grass-roots supervisor in team-level management. From the perspective of team management, This article starts from the positioning of the Technical R & D Director and explains how to train and build the technical supervisor team in the following aspects:
- Individuals
- Process
- Tools
- Team
Let me take a dragon boat chart to describe the positioning of the R & D Director. In addition to the paddlers sitting in the hull, the most important thing in the figure is the tambourine at the ship's head and the rudder at the stern. I personally think that the helmsman is like a product manager in the team to grasp the forward direction for the team, while our R & D Director is cheering for the technical team to maintain momentum and fighting spirit.
The above positioning is refined, and the R & D Director plays three main roles:
- Facilitator: coordinates technical teams and external teams (such as product teams, project teams, and operation teams) to ensure the consistency and efficiency of the entire product development process.
- Problem solver: as the technical authority in the team, it is usually necessary to take the lead to solve the difficult problems in the development process.
- Teacher: as a management personnel, teacher is responsible for training and guidance for new people to ensure that the R & D team's cognitive level and work model are consistent.
For the above three roles, the R & D Supervisor plays a key role in the effective use of R & D resources, inheritance of know-how, promotion of R & D processes, cultivation of engineers, and resolution of technical problems. As described in "Conway's Law": the results of a software design and development reflect the team's organizational and communication architecture to a great extent, as an important part of the organizational and communication architecture, R & D directors are obviously important.
However, while affirming the role of the R & D Director, you must acknowledge the challenges it faces. The core task of traditional industry supervisors is integration, which requires team members to work in a consistent manner, and everyone is standing together steadily. R & D engineers in the Internet industry do have their unique creativity, many times we have our own ideas and judgments. This requires the R & D Director to integrate the team and make full use of the differences among team members, just as we need to pursue a balance in project management, R & D supervisors also face the same challenges.
I think there are two ways to solve the above problem: on the one hand, we need to providePlatformIncluding relatively complete infrastructure (such as R & D management tools and personnel management rules and regulations) and work processes (such as internal standard testing processes; on the other hand, the R & D supervisor needs to establish a setMindsetIncluding work ideas, methodologies, and subjective intentions. Next we will talk about the comprehensive capabilities and changes that R & D supervisors should face from the perspective of "individual.
I.Individuals
The following table compares common R & D engineers with R & D supervisors, from the table, we can easily see that R & D supervisors need to shift from persistent, focused, standard, and creative thinking to comprehensive thinking, plan management, guidance, cultivation, communication, and coordination, that is, the scope and content of the work will change from the "I" to the "T:
In terms of values, many thinking models from the agile field need to be promoted, such as communication, simplicity, feedback, courage, openness, and commitment. I will not expand it here. For more information, see XP and scrum books.
To become a successful R & D Director, Foreign Scholars combed the "4 P" as a guide to their work ideas, namely:
- Penpencil & Paper (recording the process)
- Plan)
- Passion (passion drives everything)
- Perform (combination of individuals and Actions)
I personally think that this "4 P" is also common for management in other fields. R & D personnel continuously obtain the sense of accomplishment brought about by technology from innovation. for R & D supervisors, when management itself becomes a kind of idea, it is possible that a team of R & D personnel is full of fighting power and passion.
II.Process
From the theoretical idea advocated by process models such as cmme and IPD, the idea of "how to do things correctly" is highly advocated for success. So how can we do things right? This requires process management and process improvement. Process Management at the narrow technical level may not be as comprehensive and important as defined and concerned at the product, project, or organization level (I personally think it is not necessary or feasible in most cases, this is also a balance), but the common sense, the industry generally believes that the process practices that can improve product development and delivery capabilities are also necessary for R & D supervisors to understand and master. There may be many similar processes. Here I will only list some specific points in the specific environment around me:
1. Version Control
Version Control is not a new term for technical personnel. However, in an environment with incomplete technical management, version control needs to be managed and controlled as a core process, I will give a brief explanation through the Q & A method.
- What are the ideas and objectives of Version Control? Development and deployment separation, version visibility, and version consistency are the basic idea of version control, and the goal is to form a consistent understanding in the development process.
- Where can I control the version? The idea of Version Control is everywhere. Internal testing and service release are two aspects that need to form a unified specification among all members. Version Control in internal testing is used for interaction and collaboration with QA and other departments, and service release is used as a formal service delivery control.
- What is the scope of Version Control? For general systems, explicit version control is required for presentation, server, and database. In particular, database version control is a major difficulty in team collaboration, especially in distributed team collaboration environments.
- What is the significance of Version Control? From the perspective of team collaboration, reasonable version control will promote transparent information tracking and early Problem Discovery. From the perspective of service providers, version Control can also improve user satisfaction and reduce implementation and operation costs to reduce error probability and maintenance costs.
2. Configuration Management
Configuration management (CM) is also not a new word, and has clear instructions and guidance in the category, such as process improvement model cmme or product R & D system IPD, however, there is generally no unified understanding and practice model for technical personnel. Configuration management mainly includes baseline, CI, and change control. Although configuration management is mostly within the scope of project management, however, in the mindset of the R & D Director, how to manage system configuration items and maintain code baseline stability is also an important task in daily R & D management.
3. Continuous Integration
Continuous integration is a core practice in the agile field. In "continuous integration: the path to software quality improvement and Risk Reduction", the author abstracts continuous integration into the following:
As you can see, continuous integration in a complete ideal mode requires integration and feedback from code compilation, database integration, testing and review, and service deployment, to improve quality and reduce risks. In the actual environment, according to the product development scenario, the R & D Director should control the degree, method, and frequency of integration to balance the cost and Effect of integration, after all, similar fields such as database integration require high requirements both in theory and practice, but continuous integration does provide an effective means and mode for information feedback and transparency.
4. Process Automation
From the perspective of process improvement, process automation is a starting point that can be continuously attempted and explored, promoting the improvement of development efficiency and reducing errors caused by human factors. In daily work, Process Automation influences the internal and cross-team collaboration processes of the R & D team in a subtle way. the automation processes related to the work of the R & D supervisor generally include the following fields, we use ant, Python, and other scripts or tools such as Jenkins to automate process construction.
- Program development, for example, using ant scripts to reference multiple resources during code compilation and form a unified service
- Function Testing, for example, using Jenkins to perform a JUnit unit test during the build process
- System deployment. For example, you can use the Tomcat Maven plug-in to automatically deploy the war package in the Tomcat container.
- Service Release, for example, using Python scripts to generate APK release packages for various Android markets
5. Deployment Pipeline
Code development and maintenance work is naturally important, but for R & D directors, it takes time and effort to design and monitor the lifecycle of a project or product and the various process steps around the lifecycle to ensure the correctness of the entire process. Below is a general system development deployment pipeline, which integrates the elements of multiple processes and forms a unified workflow for the development, testing, and O & M teams.
Generally, the technical level of testers and O & M personnel is relatively weak. When encountering technical problems, developers are often asked to solve them. Therefore, the R & D supervisor must play a leading role in the deployment pipeline, participate in the establishment of internal testing and release processes by reasonably running automation tools and configuration management policies, and provide efficient and easy-to-operate technical interfaces for peripheral teams (such as project management and O & M implementation, this improves customer satisfaction with Service Release and operation.
This article describes how to become a R & D Director from the perspective of "individuals and processes, for more information about tools and teams, see how to become a R & D lead-about individuals, processes, tools, and teams 2.
How to become a R & D Director-one of individuals, processes, tools, and teams