How do you estimate a ROI for clearing technical debt?

前端 未结 7 1900
天涯浪人
天涯浪人 2021-01-31 05:48

I\'m currently working with a fairly old product that\'s been saddled with a lot of technical debt from poor programmers and poor development practices in the past. We are star

7条回答
  •  情话喂你
    2021-01-31 06:03

    Sonar has a great plugin (technical debt plugin) to analyze your sourcecode to look for just such a metric. While you may not specifically be able to use it for your build, as it is a maven tool, it should provide some good metrics.

    Here is a snippet of their algorithm:

    Debt(in man days) =
        cost_to_fix_duplications +
        cost_to_fix_violations + 
        cost_to_comment_public_API +
        cost_to_fix_uncovered_complexity + 
        cost_to_bring_complexity_below_threshold
    
    
     Where :
    
     Duplications = cost_to_fix_one_block * duplicated_blocks
    
     Violations   = cost_to fix_one_violation * mandatory_violations
    
     Comments     = cost_to_comment_one_API * public_undocumented_api
    
     Coverage     = cost_to_cover_one_of_complexity * 
                             uncovered_complexity_by_tests (80% of
                             coverage is the objective)
    
     Complexity   = cost_to_split_a_method *
                             (function_complexity_distribution >=
                              8) + cost_to_split_a_class *
                             (class_complexity_distribution >= 60)
    

提交回复
热议问题