Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Untitled Prezi

No description
by

A Burst

on 14 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Untitled Prezi

Technical debt is a silent killer that stalks all projects
Make it visible and pay it off

Take away
Further Possibilities of Technical Debt
To measure how much invest is needed to fix the code
To get data and insights to guide the fix-it process
To prevent (technical) trouble for new projects from the beginning on
What is Technical Debt?
Term was brought up by Ward Cunningham already in 1992

It describes an analogy to financial debt in a technical environment
Financial debt = borrow money against a future date
Technical debt = borrow time against a future date

Technical debt is both the intentional and unintentional violations of good architectural and coding practices
Tool for Measuring
Sonar is an open source software quality dashboard that
incorporates static code analysis, code coverage, and coding rule automation to provide component/ module-level assessments
but also allows you to delve into the code and see where potential quality hotspot issues lie

Sonar includes metrics for
Duplication
Test code coverage
Code complexity
ETAS will extend these by metrics for
Architecture
Performance
Technical Debt
From KillerApp to AppKiller -
http://de.slideshare.net/castsoftware/from-killer-apps-to-app-killers-cast
Technical Debt
„Technical Debt‘s usefulness has been limited historically because most organizations have not known how to measure it.“
Castsoftware
Indicators of Technical Debt
"I know if I touch the code, it will never work again"
ToDo/Fixme: has to be fixed before release!
"The release is nearby. Let's finish this quickly"
Cost of Change
Cost of Change
Years
Optimal CoC
Technical Debt
Customer Responsiveness
Consequences
Once on the far right curve all choices are hard

If nothing is done it gets worse

In applications with high Technical Debt, estimating is nearly impossible
Computation
Mainly based on static code analysis and unit tests
For estimations, average times of the past are used
Thresholds
Preconditions:
Automation of tool chains and report generation
Sonar infrastructure available
Recommendations:
Baseline your project - ensure that trend keep level of technical debt
Duplication: warn at 2%, error at 4%
Test coverage: warn at 95%, error at 80%
Unit test success: 100%
Critical code rule violations: error at 1
Comments [%]: range of 20% - 40%
Statement of Cutter Consortium
The Devasting Impact of Technical Debt
Dr.-Ing. Alexander Burst
ETAS GmbH

Overall Rating
Technical Debt
per Line of Code ($/LOC)
New Code
Legacy Code
Generated Code
Actively
Maintained
Frozen
We usually see code between a range of $2 to $10 per LOC
Exclude it from analysis
Wouldn't strive for perfection
but rather $1 per LOC
A sweeping statement of legacy
code would $4 per LOC as a good
baseline
Simply leave it and don't invest further
-> exclude from analysis
Configuration and Visualization
Motivation and Measurement
Aggregating Technical Debt in form of money gives management the opportunity to understand it in their own language
Code Analysis
Quality Deficits
Time to fix per Deficit
Aggregate time to fix
Aggregate $ to fix
Full transcript