Software development teams are incorporating open-source code into their projects more than ever before. This isn’t because of “lazy development” — it’s because using this code can increase productivity, reduce the time to market, accelerate innovation, and lower development costs. When used properly, open-source code can give you better software at a lower expense.
However, there is a large caveat: in order for open-source code to bring your software the above-mentioned benefits, it needs to be of good quality.
Part of open-source code’s appeal is that anybody can access and edit it. This leads to potentially thousands of developers reviewing the code, fixing bugs, and bringing their expertise to the table. But on the other hand, because of the openness of this scheme, just a couple of people with bad intentions or sloppy coding practices can lower the quality. So, before incorporating any open-source code into your project, you must assess its quality.
And if you’ve already used open-source code, it isn’t too late to check it for flaws! To illustrate this, let’s take a look at Redmine, a popular project management tool with wide cross-platform abilities.
How Intetics Used TETRA™ for Comprehensive Assessment of the Open-Source Management Tool
First, a little bit of background about Redmine: this free, open-source tool allows users to manage projects and documentation, track issues and time efforts, build Gantt charts, etc. It supports 49 languages, is compatible with various version control systems, and offers a diff viewer and repository browser. It’s a pretty powerful tool, but due to its Open-Source origin, it can be tricky to maintain a common quality level.
Intetics’ TETRATM performed an in-depth audit and assessment of the product in order to measure technical debts, evaluate product efficiency, and rate compliance with industry standards. Analysis of the Redmine project was made under the 8 dimensions that the Technical Debt Reduction Platform (TETRATM) covers. They are as follows:
- Source Code Quality
- Usability, Documentation, and UI
- Security
- Performance
- Business Logic
- Architecture Quality
- Data Quality
- Open-Source Code Use
The Assessment Process
2 different versions of Redmine were evaluated in order to identify the vector of the project’s movement and adapt the testing approach. The first assessment was carried out with TETRA™ for Redmine 3.3.9. At the time, these performance, UI, and security problems were found:
- The application’s performance needed to be improved. The best option was to move to cloud services.
- The user interface had to be updated because it did not satisfy the users’ needs and was partially outdated.
- The TETRA™ team revealed security aspects to improve.
Redmine 5.0.0 was analyzed again in order to assess the app development dynamics. The focus was on the problems revealed during the first assessment. Here are the main outcomes:
- Performance tests: The performance of Redmine 5.0.0, with the same workload as the 3.3.9 version, was poorer for some requests related to rarely-used features like Login or Ticket creation. They don’t affect regular users. At the same time, the updated version shows significant improvement at peak load: the maximum possible number of users has almost tripled.
- Usability tests: No critical problems were detected, and the general quality level increased from Low to Medium. As per TETRATM team, the app’s rating is 4/5 due to the standard terms for such tools, a not overworked UI, and an intuitive functionality hierarchy and layout. Although it’s an open-source app, its minor problems don’t affect end users. The tool is simple and convenient to use.
- Security tests: Redmine 5.0.0. shows significant security improvements. The general rating increased from Low to Medium, which means the previously detected serious vulnerability issues are eliminated. While some low-priority vulnerabilities were still found, the development team maintains the product properly, prevents new security problems, and keeps improving the security level.
Results
- The overall quality of Redmine has improved
- The latest analysis showed that product metrics have improved; compared to version 3.3.9. Still, there are areas to refine related to the usability, security, and performance of the application to provide a better experience for end-users.
Assess the Quality of Your Open-Source Code With TETRA™
TETRA™ aims to help designers and developers understand how much technical debt their project has. While open-source code quality is an important component, TETRA™ assessed much more than that!
The assessment is based on the results of over 29 years of experience and 6,000 hours of research conducted by the provider, Intetics. The areas assessed are based on ISO standards, and results are presented in an easy-to-understand manner.
So, are you ready to bring any issues in your software to the surface? Reach out today to order a TETRA™ assignment — we’ll show you where your project’s technical debt is hiding.