12/7/2016 | 1 an outlook on technical debt...
TRANSCRIPT
12/7/2016 | 1
An outlook on Technical Debt Management
Reducing Friction in Software Development
Paris Avgeriou, Philippe Kruchten, Robert Nord, Ipek Ozkaya, Carolyn Seaman
State of the art
› From source code to the whole lifecycle
› Glossaries and ontologies (convergent)
› Tooling (industrial & prototypes)
› Economic theories
12/7/2016 | 2
State of practice
SW engineers
› Understand the concept and challenges
› Deal with it during maintenance
› TD management in place
• Resource-intensive
• Realistically only a portion managed
12/7/2016 | 3
Main thesis
› Technical debt grows
› Managing TD is dominant in SW evolution
• Established as a core SE practice
› It’s the next big thing
++ Investment
-- Bankruptcy
12/7/2016 | 4
A perfect storm?
For every 100 KLOC an average software application had approximately US$361,000 of technical debt*
*B. Curtis et al. “Estimating the Principal of an Application’s TD,” IEEE Software ‘12
Is this really new?
Communities
› Maintenance & evolution
› Reengineering / refactoring
Terms
› Aging
› Decay
› Sustainability
› Little progress
› “Dull” topic
12/7/2016 | 7
Convergence
› Program analysis/comprehension
› SW Quality measurement
› Qualitative research methods
› SW risk management
› Industry-academia
12/7/2016 | 8
Research output is soaring
12/7/2016 | 9
Z. Li et al., A systematic mapping study on technical debt and its management, JSS 2015
12/7/2016 | 10
4 ways to prepare for the storm
1. Management process
› TD prevention
› TD identification
› TD measurement
› TD prioritization
› TD monitoring
› TD repayment
› TD documentation
› TD communication
12/7/2016 | 11
Li et al., Architectural Debt Management in Value-oriented Architecting, Elsevier ‘14
2. Software Economics
› Mimic economics data-driven focus
• Availability of rich data
› Investment strategies
› Assign business value to intrinsic qualities
› Bridge the communication divide
12/7/2016 | 13
3. Design and Architecture
› Acknowledge elephant in the room
• Main concerns stem from architecture
• But hard to detect automatically
› Architecture backlog
› Traceability with code
› Architecture evaluations and refactoring
12/7/2016 | 14
4. TD in the curriculum
› “No bugs found” vs.
• Internal qualities
• Trading off features with qualities
• Decisions as investments
› Throughout the SE courses
• Brownfield projects
• Linked with software economics
12/7/2016 | 15
Submit to MTD9@XP2017