Publications
- 2014-02-14, InfoQ: No More Technical Debt - Invest in Quality (English)
- 2013-12-13, heise developer: Qualitätsinvestitionen statt technischer Schulden (German)
New metaphor: Quality Investment
CodeQ Invest implements a model for investment in quality based on the SQALE method. Instead of just pointing at problems in your code base this helps you to determine which problems should be fixed to gain an immediate productivity advantage.
You define quality requirements (e.g. code coverage should be greater than 80%) and estimate how long it would take to fix the violation of such a requirement. Then you estimate how expensive (in terms of time) it would be to leave the violation untouched. The first estimate are the remediation costs (RC) and the latter the non-remediation costs (NRC). From these two estimates a profit is derived: the time you save when you fix the violation, NRC - RC. This is the basic idea of the quality investment.
The quality investment makes a proper management of internal software quality possible. This metaphor enables you to report the internal software quality in a useful way to business people. As a team you think in terms of return on investment and profit when discussing internal software quality.
The estimated costs are additionally weighted by other factors, e.g. the non-remediation costs are weighted by the change probability of the code.
Important: The mindset is the game changer! Please see this issue for more information.
Features
CodeQ Invest supports the following features:
- Defining your own projects which will be analyzed by a cron job
- Visualization of investment opportunities with a tree map
- Calculation of the best possible investment plan
- ROI calculation and visualization
- Manual estimates for code change probabilities
- Subversion support for automatic calculation of code change probabilities
- 3 different methods to weight code changes
Coming soon (these features will be included in the version 1.0.0):
- Support for PostgreSQL (should work but it's not tested yet)
- Multi-module project support
- Defining and managing quality profiles via the web-ui
- Git support
There are a lot more ideas for this tool. A detailed roadmap will be published when the first version was released.
Screenshot
You can get a glimpse of the software by the following screenshot.
For early adopters
CodeQ Invest is in an early development phase. You can run the software from scratch with the following easy steps:
- Download the source archive which you can find on the right side.
- Run
mvn clean install -DskipITs
in the root directory of the project. - Change to the directory web-ui:
cd web-ui
. - Run
mvn org.codehaus.cargo:cargo-maven2-plugin:run -Pdebug-web-app
. - Afterwards you can access the running application under localhost:8080.
This will start the application with test data and an in-memory database. You can find a project with a succeeded analysis under localhost:8080/projects/3.
For developers
Feel free to contribute. You can find more information in the readme.