What tools and methods can be used to improve R&D efficiency?

Nowadays, no matter which industry you are in, everyone is paying attention to "R&D efficiency". Some are to improve efficiency and reduce costs, some are to ensure project quality, and others are to conduct R&D assessments more effectively. Regardless of the purpose, improving R&D efficiency has become the focus of many advanced technology managers. There is an old saying that goes well: If a worker wants to do his job well, he must first sharpen his tools. Therefore, if you want to improve R&D efficiency, you need to master advanced methods and have the right tools.

We have shared many methodologies and best practices related to improving R&D efficiency in the past, but each time we focused on a tool or method for in-depth sharing. So this time we try to aggregate some scattered information and share it with managers, DevOps leaders, project managers and agile coaches who are concerned about improving R&D efficiency.

Next, we share three types of tools that help improve R&D efficiency, as well as two widely recognized R&D efficiency measurement methodologies.

1. AI-assisted programming

We have had close communications with many customers, and from time to time we ask them, "Are you using AI to assist research and development?" Many R&D performance managers gave a positive answer and made some attempts and explorations. Among them, the use of AI-assisted programming is an effective way to improve R&D efficiency. In fact, our own product managers and engineers sometimes use AI tools such as GPT to help with scripts or some simple tasks.

1、ChatGPT

The first recommendation is definitely ChatGPT. ChatGPT is a natural language processing model launched by OpenAI, which should be already known to everyone. R&D engineers can use it to complete tasks such as code writing, generation, optimization, documentation writing, performance optimization, error correction, and writing comments. They can also use it to make technology selections or seek development advice.

However, there are also disadvantages, that is, ChatGPT has limited internal understanding of code. If you need to use it to generate code, the prerequisite is that you need to have knowledge and experience in the programming language, otherwise you may encounter many bugs. Regarding how to use GPT correctly and efficiently to assist programming, we have talked about it in a previous technology sharing. You can watch the review of the speech .

2、DevChat

If you are interested in GPT, then you have no reason to refuse this chat-style programming assistance tool - DevChat, which is backed by GPT-4!

How is it different from ChatGPT?

First of all, it currently does not provide web page interaction like ChatGPT, but directly provides the VS Code plug-in, which can be directly talked to in the programming environment, making it more convenient to use.

Secondly, it supports Diff View to apply code while preventing GPT-4 hand shake from introducing small errors.

Third, it also provides shortcut keys and command lines to reduce repeated operations, making the code writing process smoother and more efficient than using ChatGPT directly.

Fourth, using DevChat does not require complicated Internet access (you know!)

DevChat is still in the free trial stage, and it is said that it may start trying to pay for it in a while. After all, GPT Token is not blown by the strong wind. So if you want to try something new and experience different AI-assisted programming tools, you should hurry up now.

Steps for shearing wool:

  • Visit https://www.devchat.ai, enter your email address, and click register, so you will receive a key;

  • Open vscode, search and install DevChat, enter key;

  • The installation is complete, please enjoy.

2. Code scanning and code analysis tools

Another way to improve R&D efficiency is to reduce code defects, thereby reducing the workload of rework and modification, so that engineers can focus on innovation. Therefore, another recommended tool that can help improve R&D efficiency is static code analysis/detection tools. For example, PVS Studio, SonarQube, Crucible, Codacy, Upsource, Review Board, Phabricator, DeepScan, Gerrit, Embold, Veracode, Reshift, ESLint, Codestriker, JSHint, Klocwork, etc.

Among them, SonarQube should be the most popular tool. SonarQube has many advantages, such as simple integration. It can be easily integrated into the CI/CD pipeline with just one line of commands, and can also be integrated into the Maven and Gradle build cycles. And it supports checking including code quality, code variable declaration, and even exception handling.

There is also a relatively common code analysis tool, which is Klocwork. It can perform static code analysis on almost any size project and supports integration with Visual Studio Code IDE, Eclipse, IntelliJ, etc., as well as integration into CI/CD pipelines.

3. R&D effectiveness measurement and analysis platform

In terms of improving R&D efficiency, in addition to applying tools at the levels of project management, code management, code analysis, CI/CD, etc., the R&D efficiency measurement and analysis platform can also be used to summarize the data scattered in the tools, and scientifically measure and analyze it. Discover the keys to improving R&D effectiveness.

Currently, building a R&D effectiveness measurement and analysis platform will encounter many difficulties, such as:

  • R&D data is scattered in different tools, and the data is not easy to obtain.

  • Different tools export different data fields, which will require a lot of time to process and clean the data.

  • R&D measurement indicators are unscientific. For example, traditional indicators such as “lines of code” are still used to measure and assess R&D workload.

  • R&D teams are unsure how to set effective R&D performance metrics

  • Although data can be visualized through the BI system, these data do not support drill-down analysis and cannot locate the root cause of the problem.

  • Don’t know how to analyze data reports

  • etc.

In response to the above problems, Simayi Enterprise Edition 4.0 can provide targeted solutions.

First of all, Simayi is a one-stop R&D efficiency measurement and analysis platform. It provides one-stop data collection and processing, supports cross-domain R&D tool data access, and performs unified cleaning and modeling, which can help R&D teams save money in constructing R&D efficiency metrics. 80% of the platform’s research and development costs and time costs.

Second, the Simayi platform has preset 100+ R&D performance indicators that are frequently used in the industry. After users access the tool data, they only need simple configuration to obtain the corresponding R&D performance indicators, and user-defined indicators are supported.

Third, at the level of data analysis, the Simaya platform can provide multi-dimensional analysis capabilities and data analysis capabilities in multiple scenarios, such as project delivery efficiency, project delivery quality, team contribution per person, etc. At the same time, the platform supports drill-down analysis of data. Users can discover measurement objects (such as projects) that need to be focused on and drill-down to analyze their code quality, project delivery efficiency, etc.

Fourth, Simayi provides industry baselines and enterprise baselines to help R&D managers determine the position of the current measurement object in the industry and enterprise. Help develop management strategies.

Fifth, among the many R&D performance measurement indicators, Simayi provides a unique "code equivalent" indicator based on self-developed technology. This indicator can eliminate noise interference such as coding style and line-breaking habits, and directly analyze the code size and complexity. , identify operations such as moving code, pasting code, modifying data, etc., and adjust the weight appropriately to measure R&D workload more scientifically. At the same time, " code equivalent " has also been adopted by the China Academy of Information and Communications Technology as the core indicator of the open source ecological testing platform, and has been recognized by the industry.

If you want to try it, you can directly visit the official website and apply for a trial.

4. R&D effectiveness measurement methodology

1. MARI methodology

MARI is a closed-loop methodology for measuring research effectiveness proposed by Simaya, which has been verified and practiced by many customers.

The purpose of MARI is to establish a closed loop of R&D effectiveness measurement and improvement. After the R&D team combines the actual situation and locates the key obstacles in the value stream as improvement points, it can apply the MARI methodology to quantitatively evaluate, analyze and dismantle the problems, obtain insights such as performance bottlenecks and improvement opportunities, and then implement them into software engineering The gradual optimization of practice and the practical improvement of R&D efficiency.

MARI consists of the following four steps, which together form a complete optimization iteration. In most cases, problem improvement requires multiple iterations, continuous measurement of improvement effects, and continuous calibration of the direction and method of improvement.

2. GQM method

GQM was first proposed by Basili and published in IEEE Transactions on Software Engineering, an authoritative journal in the field of software engineering. GQM was originally designed for data collection and analysis in software engineering research. The basic idea is:

Data collection and analysis must focus on clear and specific goals. Each goal is divided into a set of quantifiable questions, and each question is answered through a number of specific indicators.

The data collected based on the indicators are analyzed to generate answers to the questions to achieve the defined goals.

In fact, the R&D effectiveness measurement we are discussing today can be regarded as a "lower version" of data collection and analysis in the field of software engineering research. Software engineering research usually requires data in the production environment to evaluate software development methods and recognize the software development process. Systematic methods such as GQM are used to ensure the scientificity and rigor of specific implementation. R&D efficiency measurement for practical purposes does not need to be overly scientific and rigorous. However, in reality, invalid data or misleading conclusions are often obtained due to some random or even chaotic practices. Adopting the GQM method can help us implement truly meaningful measurement of R&D effectiveness. Let's first go back to the roots and overview the early implementation steps of GQM.

After the GQM method was proposed, it has been continuously enriched and developed, and was applied in NASA, HP, PricewaterhouseCoopers, Schlumberger, Siemens, Ericsson, Philips, Bosch, Daimler-Chrysler, Allianz, Procter & Gamble, etc. Advanced companies in various industries have abundant relevant literature and citations. We have also shared the core ideas of the GQM method .

Guess you like

Origin blog.csdn.net/simayi2018/article/details/132604988