what cios/ctos should know: get rid of quality debt at no extra costs

5
Get Rid of Quality Debt at no Extra Costs

Upload: seerene

Post on 15-Apr-2017

161 views

Category:

Software


1 download

TRANSCRIPT

Get Rid of Quality Debtat no Extra Costs

Initial Situation

• In software development projects, compromises are made to meet timeline goals. This usuallyresults in Quality Debt, i.e., code quality does not meet the standards for the sake of meeting thedeadline. This is not necessarily a problem as long as quality debt is measured, tracked andultimately paid back. However, the cost of addressing software debt increase over time. Forexample, error-prone coding and a poorly designed architecture cause extra costs each time thecode is modified.

• Example

– An application has been developed for 2.5 years by 3 teams of 8 developers each. During the development, the teams were forced to prioritize finishing the required functionalities and features – at the expense of code quality.

– After going live, the responsible CIO/CTO wants to see the status quo regarding quality – and would like tohave a means to incrementally improve code quality, i.e., to pay back the quality debt as soon as possible, tominimize the overall cost.

Get Rid of Quality Debt at no Extra Costs 2

Accumulation of quality debt

Software Map LegendArea: Lines-of-CodeHeight: ComplexityColors: NestingComplexity (Level 8)

High “buildings” show thatcomplexity existed at the time of

application release and therewas even an increase in

complexity since then (new yellow “floors” added).

The Solution

Get Rid of Quality Debt at no Extra Costs 3

Cleanup on the way

Red “buildings” show code with martial complexity.Yellow “floors” signal increased complexity.

“Floor” & “Roof” Colors:: BAD (complexity increase)

: GOOD (complexity reduction)

• Quality debt can be revealed using software maps. In the example shown here code with high complexity exists, i.e., highly nested code. If a developer needs to make changes to such code she needs to spend much time to get a first understanding of what the code might do. This is highly inefficient and error-prone.

• In addition, the software map reveals that the complex code grew even more complex after going live.

The Solution

Get Rid of Quality Debt at no Extra Costs 4

Cleanup on the way

• The CIO decides to continuously monitor quality and gives the boys-scout order: “Leave the campground cleaner than before”.

– In every modified code file critical code complexity should be reduced. This can easily been checked using software maps. Each building in the map represents a source code file and yellow and green “floors” and “roofs” indicate whether complexity has grown or has been reduced – so no yellow “roof” should appear.

• Complexity is reduced step by step. Cleanup is done each time when developers invest their time to understand the code. They can fully leverage this knowledge and spend just a little more time to pay back quality debt “on the fly”.

• Extra costs for quality debt are kept at a minimum.

Thanks for your attention!

email: [email protected]