Skip to main content

A Guide to Open Source Software Metrics and Effectiveness Improvement


OpenMARI is a set of metrics for measuring software R&D effectiveness and analyzing data. It also contains means of effectiveness improvement. Its content comply with Apache Software License and Creative Commons License.

Development in progress, Industry experts and developers are welcomed to join us!——Click the “Edit” button at the bottom of the page, or visit the GitHub link in the upper right corner to submit your comments and suggestions and make a difference!

The aim of the Mari methodology is to establish a closed loop from effectiveness measurement to improvement. The R&D team can, with its own reality in mind, decide the targets of efficiency improvement, and use the Mari methodology to select measurement indicators for specific problems of the targets, conduct data analysis, and gain insights into efficiency bottlenecks, opportunities for improvement, etc., so as to gradually optimize the R&D process to enable developers to create and enjoy excellent software engineering practice.

MARI consists of the following 4 steps, which together constitute a complete round of optimization iteration. In most cases, the improvement of software engineering practice requires multiple iterations. You need to adjust the improvement target and method through continuous measurement and analysis.


Software R&D is a complex process, which needs data and measurement to establish a more complete understanding, just like analyzing logs to locate problems in a complex distributed system. Whatever improvement you’re gonna make, first of all, it is necessary to take the cognitive needs of the R&D team into consideration, select indicators for the improvement objectives, collect data and compute them according to the standardized methods.


With data and measurement, it is necessary to use statistical analysis methods and specific mathematical models to analyze the trend, distribution, correlation and other information of indicators, so as to obtain a quantitative understanding of the current situation and gain deeper insight into the problem.


The results of analysis cannot replace human judgment, and data analysis should be an aid to management knowledge. This stage requires input from people. We can review, through meetings or surveys, the influencing factors that produce the results, investigate the root causes that affect the results, and locate key items for improvement.


Establish feasible improvement measures for these items. Change the results by adjusting these impact factors to achieve R&D improvement goals, then enter the next round of measurement verification.

Creative Commons License

This content is authored by Merico Inc. ( and the OpenMARI contributors ( and licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.