Software quality does not arise from simply running a code checker: it requires strategy, oversight, and the right tools. TIOBE serves as a partner for organizations that want to be completely unburdened in the software quality domain. We adapt our solutions to your organization, tools and specific technologies.
We focus on software quality.
The proverb “the proof of the pudding is in the eating” applies perfectly to software quality. Because only after a software product has been shipped, the true quality of a software product reveals itself.
For this purpose, TIOBE has developed quality models to enable an objective, reproducible and independent statement of the quality of your software. Furthermore, we work with world-renowned certification authority TÜViT to further develop our models and provide certification.
With our software quality framework TiCS we support software quality improvements from development to board level: from bit to board. TiCS provides a clear overview using multiple reporting and dashboard tools for every layer and team in your organization.
We provide a smooth integration in your organization’s development process, and tailor our solution to fit your organization if required.
We are proud to support the following companies with our software quality solutions.
Since code quality is quite a broad term, lots of measurements should be taken to determine the code quality of a piece of code.
Possible metrics to be applied are unit test code coverage, the number of compiler warnings, cyclomatic complexity, etc. TIOBE offers a predefined set of 8 software metrics to get a good indication of code quality. See our TIOBE Quality Indicator Quality Model for more details.
This is quite a difficult question because there are all kind of quality aspects to software code. These aspects are nicely defined in the ISO/IEC 25010 standard. It ranges from reliability (no bugs) to maintainability (is my code comprehensive).
Two easy ways to start with code quality are to start with manual code reviews and to use the compiler warnings as your “free” code checker. You can even use “treat warnings as errors” in your build environment to ensure no compiler warnings are accepted any more.
Manual code reviews appear the most effective way of improving code quality. Human beings are very good in spotting potential problems and issues, which are of course a very good indicator whether code is maintainable.
Possible drawbacks of manual code reviews are that they are subjective (depending on the reviewer) and time consuming. Moreover, deep flow analysis issues are hard to detect by human beings. If manual code reviews are backed up by automated code checkers you get a more complete picture that compensates for all drawbacks of manual code reviews.
The costs depend on your application and your application domain and might vary a lot. If you are developing software for an aircraft, the costs of a software defect might be huge, whereas if you are developing software for a pet project the possible costs of a defect might be close to zero.
Costs might consist of claims because of liability, but most of the costs are indirect and hard to measure. Think about the loss of reputation if a software bug in your system shows up in the news. Or, at a smaller scale, if your software is not maintainable, lots of extra costs are needed to add a new feature.
That depends on your situation. If you are new to the field of software quality, an assessment is a good way to start. The reason for this is that it is just a one-time measurement including a lot of explanation in a report and presentation. Continuous monitoring will result in real-time quality data and helps in case you want to make sure your software quality is always meeting the requirements.
It begins with the realization that each stakeholder in the organization has different need for a view on the same data.
With TiCS you have the best of both worlds: Using the same data source (one point of truth), each stakeholder can receive their own specific view:
Check out the TiCS Framework section for a complete understanding how TiCS can work for your organization.