SlideShare une entreprise Scribd logo
1  sur  22
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Measure it? Manage it?
Ignore it? Software
Practitioners and
Technical Debt
Neil A. Ernst
with Stephany Bellomo, Ipek Ozkaya, Robert Nord
Software Engineering Institute
Carnegie Mellon University
Pittsburgh, PA 15213
and Ian Gorton
College of Computer and Information Science
Northeastern University
2
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Copyright 2015 Carnegie Mellon University and IEEE
This material is based upon work funded and supported by the Department of Defense under Contract
No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering
Institute, a federally funded research and development center.
References herein to any specific commercial product, process, or service by trade name, trade mark,
manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or
favoring by Carnegie Mellon University or its Software Engineering Institute.
NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING
INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY
MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER
INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR
MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL.
CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH
RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
This material has been approved for public release and unlimited distribution.
This material may be reproduced in its entirety, without modification, and freely distributed in written or
electronic form without requesting formal permission. Permission is required for any other use. Requests
for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu.
DM-0002708
3
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Background
• Cunningham, 1992: “Shipping first time code is like going
into debt. A little debt speeds development so long as it is
paid back promptly with a rewrite... The danger occurs
when the debt is not repaid”
• Our definition: “the obligation that a software organization
incurs when it chooses a design or construction approach
that's expedient in the short term but that increases
complexity and is more costly in the long term.”
(McConnell)
4
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Research Questions
• RQ1. Is there a commonly shared definition of technical
debt among professional software engineers?
• RQ2. Are issues with architectural elements (such as
module dependencies, external dependencies, external
team dependencies, architecture decisions) among the
most significant sources of technical debt?
• RQ3. Are there practices and tools for managing
technical debt?
5
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Methodology
• Pilot Survey
• Full survey
• Triangulate with:
• Multiple choice
background
• Open-ended
questions
• Likert agreement
• Follow-up interviews
(opportunistic)
6
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Demographics
• 1831 surveys were started (across all three collaborators)
and 536 surveys fully completed (all questions answered),
an overall response rate of 29%
• Respondents over 6 years experience
• Roles selected included developers (42%), and project
leads/managers (32%)
• Most projects were web systems (24%) or embedded
(31%).
• Projects generally consisted of 10-20 people
• The systems averaged 3-5 years old, but a significant
number (29%) were over 10 years old.
• The systems between 100KLOC and 1MLOC in size.
7
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Findings
1. Architecture is a key source of technical debt
2. Technical debt is broadly temporally distributed (source
and symptom not synched)
3. Issue trackers are currently the best tool approach to
managing technical debt.
Triangulate answers to these questions by looking at quantitative
(closed-ended) questions, and coding of open-ended and interview data.
8
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ1: Defining Technical Debt
• “(A2) I think the vocabulary of technical debt is useful for getting the
interests aligned.”
• ‘convincing product managers and stakeholders on the value proposition
of managing the debt.’
9
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ2: Architecture choices key
9
10
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Coding of open-ended questions
11
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ2: Architecture as source
12
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ2 (2)
“(B2) the work that we’re doing now to introduce a service
layer and also building some clients using other technology is
an example of, you know, decisions that could have been
done at an earlier stage if we had had more time and had
the funding and the resources to do them at the time instead
of doing it now.”
“‘platform’ was not designed with scalability in mind”
“In retrospect we put messaging/communication ... in the
wrong place in the model view controller architecture”
13
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ2: Drift
Lehman’s concept of entropy present in our data:
• “over the years, other sites would begin using the system and
would require changes to how the workflow operated”
Weak association between system age and the perceived
importance of architectural issues, using Yule’s Q.
89% of those with longer-lived systems (>=6 years old)
agreed or strongly agreed with the notion that architectural
issues were a significant source of debt, compared to 80% of
those with newer systems (<3 years old).
14
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ3: Management of TD
How tracked …
Where tracked …
15
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ3: Tool Use
15
None/Unknown: 58%
16
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
RQ3: Management of TD
“(B1) regarding static analysis we have the source code static
analysis tools, but this is to assure proper quality of source
code. But how architectural changes are impacting I don’t
know. And, in fact, this is something we don’t do.”
“(C1) it showed up on Jenkins - the CI server - there’s a
billion little warnings. And so it seems a little bit
overwhelming.”
“[we track] occasionally by explicit tech debt items, usually by
pain, or not at all...”
17
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
• Timeline for TD management
• Track TD items like we do defects
• Connect Architecture Technical Debt to architectural analysis
(e.g., quality attribute prioritization)
Future Work and Open Questions
18
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
18
• Software practitioners agree on the usefulness of the metaphor
• Different interpretations of what makes up technical debt in
particular contexts.
• Leading sources of technical debt are architectural choices
• take many years to evolve
• Managing this drift is vital in managing technical debt.
• Developers perceive management as unaware of technical debt
issues
• Desire for standard practices and tools to manage technical debt that
do not currently exist
http://bit.ly/sei-td – @neilernst – nernst@sei.cmu.edu
19
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Call for Papers: Negative Results in Software Engineering
Special Issue of J. Empirical Software Engineering.
We welcome your well-conducted yet ‘negative’ empirical studies.
We also are looking for suitable reviewers and reviewer experience
reports.
Deadline for submission: October 7, 2015
http://bit.ly/emse-negative
If you have questions/comments or would like to volunteer to be a
reviewer of the papers, please contact the guest editors.
Richard Paige richard.paige@york.ac.uk
Jordi Cabot jcabot@uoc.edu
Neil Ernst nernst@sei.cmu.edu
Plug
20
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Backup
21
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Coding Process
Id Statement Coder 1-
A
Coder 1-B … Coder
2-C
1 Technical debt is built over years & multiple
versions by the combination of factors like
monolithic code design, mix of obsolete and
new technologies, cost over quality etc.
Code Code … Code
Cohen’s K: 0.45
22
TD Survey
September 2, 2015
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public
Release; Distribution is Unlimited
Distribution Statement A: Approved for Public Release; Distribution is Unlimited
Code definitions
Final Coding Term Definition Subsumed Codes
Interest The pain caused by technical debt, but not the debt itself.
Rework Additional work needed to remove technical debt ‘principal’
Architecture choice
While arch choice is pain caused perhaps by context shifts vs design shortcut that is deliberative we
combine the two as “architecture choice” because participants may not even know whether it was
deliberate or not. Must be a specific case/instance.
Design Shortcut, Bad Architecture Choice
Legacy modernization Changes and evolution in operating environment e.g. new tech or requirements changes.
Obsolete Technology, Legacy, evolution, changing requirements, External Dependencies, Prototype become
Product
Limited Knowledge Respondent had no good understanding of TD No clue
Awareness People in respondent’s org had no understanding of problems TD caused Management, avoidance strategy, culture, deferred integration design, metaphor
Defects
Responses referring to problems in code externally visible. Interest code is more suitable when text
refers to linking those bugs to original decision.
Bugs, Maintenance, Software Quality
Time Pressure Must release to make deadline Schedule
Cost Pressure Lack of financial resources or motivation to fix problem New code
Code Problems Issues relating to code-level problems such as detected by FindBugs Overly complex code, inter-module dependencies, Code with Debt, Code Duplication
Process Some problems arising from poor development processes. Inadequate testing, Inefficient CM, Lack of Documentation
None A comment that is not possible to code
Measurement
codes about need for measuring, things we might need to measure such as complexity and
accuracy
Tools
this category is about the things that are technical in nature including tool support for making
intelligent decisions. Platform dependence, ways to find TD
Requirements Shortfall
Requirements not changing significantly, but system does not meet them. Could be due to
ambiguity, lack of clarity, etc.
Lack of documentation
Issues due to incomplete understanding of the architecture which was often attributed to lack of
documentation or some way to better understand the impact of making changes on the quality or
maintainability of the system
Inadequate Testing
This category covers inadequate testing due to issues such as inadequate test coverage, limited test
resources, lack of test automation or not enough time to complete tests

Contenu connexe

Tendances

Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisTowards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisM Firdaus Harun
 
Technical Debt - PHPBenelux
Technical Debt - PHPBeneluxTechnical Debt - PHPBenelux
Technical Debt - PHPBeneluxenaramore
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerLemi Orhan Ergin
 
Technical Debt - The number one reason why technical projects get derailed
Technical Debt - The number one reason why technical projects get derailedTechnical Debt - The number one reason why technical projects get derailed
Technical Debt - The number one reason why technical projects get derailedAccesto
 
Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notesFadi Stephan
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debtzazworka
 
Technical Debt: Sources and Impacts
Technical Debt: Sources and ImpactsTechnical Debt: Sources and Impacts
Technical Debt: Sources and ImpactsAgile Velocity
 
The Technical Debt Trap
The Technical Debt TrapThe Technical Debt Trap
The Technical Debt TrapDoc Norton
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonLeanDog
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtAndre Perkins
 
Why care about technical debt?
Why care about technical debt?Why care about technical debt?
Why care about technical debt?Tushar Sharma
 
Consequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationConsequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationiDatix
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programmingJean Pаoli
 
Case Study: Outsourcing in hybrid model
Case Study: Outsourcing in hybrid model Case Study: Outsourcing in hybrid model
Case Study: Outsourcing in hybrid model Krish Singh
 
Real world risks for all Knowledge areas of PMBOK
Real world risks for all Knowledge areas of PMBOKReal world risks for all Knowledge areas of PMBOK
Real world risks for all Knowledge areas of PMBOKKhushboo Wadhwani
 
Scalable light weight processes
Scalable light weight processesScalable light weight processes
Scalable light weight processesGlen Alleman
 

Tendances (20)

Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit AnalysisTowards a Technical Debt Management Framework based on Cost-Benefit Analysis
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
 
Technical Debt - PHPBenelux
Technical Debt - PHPBeneluxTechnical Debt - PHPBenelux
Technical Debt - PHPBenelux
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The Danger
 
Technical Debt - The number one reason why technical projects get derailed
Technical Debt - The number one reason why technical projects get derailedTechnical Debt - The number one reason why technical projects get derailed
Technical Debt - The number one reason why technical projects get derailed
 
Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notes
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debt
 
Technical Debt: Sources and Impacts
Technical Debt: Sources and ImpactsTechnical Debt: Sources and Impacts
Technical Debt: Sources and Impacts
 
Technical debt
Technical debtTechnical debt
Technical debt
 
Technical Debt
Technical DebtTechnical Debt
Technical Debt
 
The Technical Debt Trap
The Technical Debt TrapThe Technical Debt Trap
The Technical Debt Trap
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" Norton
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Why care about technical debt?
Why care about technical debt?Why care about technical debt?
Why care about technical debt?
 
Myths
MythsMyths
Myths
 
Consequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationConsequences of a Failed ECM Implementation
Consequences of a Failed ECM Implementation
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programming
 
Case Study: Outsourcing in hybrid model
Case Study: Outsourcing in hybrid model Case Study: Outsourcing in hybrid model
Case Study: Outsourcing in hybrid model
 
Real world risks for all Knowledge areas of PMBOK
Real world risks for all Knowledge areas of PMBOKReal world risks for all Knowledge areas of PMBOK
Real world risks for all Knowledge areas of PMBOK
 
Scalable light weight processes
Scalable light weight processesScalable light weight processes
Scalable light weight processes
 

Similaire à Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt

Project Financing in Public Projects
Project Financing in Public ProjectsProject Financing in Public Projects
Project Financing in Public ProjectsXinyi (Sophia) Xue
 
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...Neo4j
 
Retrospective: Three Years of Grid Programs @ ARPA-E
Retrospective: Three Years of Grid Programs @ ARPA-ERetrospective: Three Years of Grid Programs @ ARPA-E
Retrospective: Three Years of Grid Programs @ ARPA-EJosh Gould
 
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay ArmstrongOliviaParsons4
 
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay ArmstrongLogiKal Projects
 
An Engineering Technology Capstone Project The Snow Load Network.pdf
An Engineering Technology Capstone Project  The Snow Load Network.pdfAn Engineering Technology Capstone Project  The Snow Load Network.pdf
An Engineering Technology Capstone Project The Snow Load Network.pdfAshley Hernandez
 
Infrastructure that can stand the test of time | Accenture
Infrastructure that can stand the test of time | AccentureInfrastructure that can stand the test of time | Accenture
Infrastructure that can stand the test of time | Accentureaccenture
 
L&T Construction- Ananya Sharma
L&T Construction- Ananya SharmaL&T Construction- Ananya Sharma
L&T Construction- Ananya SharmaAnanyaSharma152
 
Integrated project delivery case studies
Integrated project delivery   case studiesIntegrated project delivery   case studies
Integrated project delivery case studiesrosaangelicaportalat1
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Mithun B N
 
CLOUD CPOMPUTING SECURITY
CLOUD CPOMPUTING SECURITYCLOUD CPOMPUTING SECURITY
CLOUD CPOMPUTING SECURITYShivananda Rai
 
Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30KristinH
 
Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30guest43777
 
Backhaul Options for Public Safety
Backhaul Options for Public SafetyBackhaul Options for Public Safety
Backhaul Options for Public SafetyClint Smith
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleDhivyaa C.R
 

Similaire à Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt (20)

Data Driven Cybersecurity Governance
Data Driven Cybersecurity GovernanceData Driven Cybersecurity Governance
Data Driven Cybersecurity Governance
 
Project Financing in Public Projects
Project Financing in Public ProjectsProject Financing in Public Projects
Project Financing in Public Projects
 
EP Project Charter OpenWells2.3
EP Project Charter OpenWells2.3EP Project Charter OpenWells2.3
EP Project Charter OpenWells2.3
 
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...
014 Graph Database Techniques to Reduce Risk and Innovate - NODES2022 AMERICA...
 
Retrospective: Three Years of Grid Programs @ ARPA-E
Retrospective: Three Years of Grid Programs @ ARPA-ERetrospective: Three Years of Grid Programs @ ARPA-E
Retrospective: Three Years of Grid Programs @ ARPA-E
 
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
 
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
3 Critical Success Factors in the Delivery of Major Programmes - Jay Armstrong
 
An Engineering Technology Capstone Project The Snow Load Network.pdf
An Engineering Technology Capstone Project  The Snow Load Network.pdfAn Engineering Technology Capstone Project  The Snow Load Network.pdf
An Engineering Technology Capstone Project The Snow Load Network.pdf
 
FinalPresentation
FinalPresentationFinalPresentation
FinalPresentation
 
Infrastructure that can stand the test of time | Accenture
Infrastructure that can stand the test of time | AccentureInfrastructure that can stand the test of time | Accenture
Infrastructure that can stand the test of time | Accenture
 
Agile_RFP_Language SR-025 FINAL_20161129
Agile_RFP_Language SR-025 FINAL_20161129Agile_RFP_Language SR-025 FINAL_20161129
Agile_RFP_Language SR-025 FINAL_20161129
 
L&T Construction- Ananya Sharma
L&T Construction- Ananya SharmaL&T Construction- Ananya Sharma
L&T Construction- Ananya Sharma
 
Integrated project delivery case studies
Integrated project delivery   case studiesIntegrated project delivery   case studies
Integrated project delivery case studies
 
Schedule Integrity - The Key to Successful Project Management
Schedule Integrity - The Key to Successful Project ManagementSchedule Integrity - The Key to Successful Project Management
Schedule Integrity - The Key to Successful Project Management
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3
 
CLOUD CPOMPUTING SECURITY
CLOUD CPOMPUTING SECURITYCLOUD CPOMPUTING SECURITY
CLOUD CPOMPUTING SECURITY
 
Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30
 
Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30Bpm Risk Analysis 10 27 10 30
Bpm Risk Analysis 10 27 10 30
 
Backhaul Options for Public Safety
Backhaul Options for Public SafetyBackhaul Options for Public Safety
Backhaul Options for Public Safety
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 

Plus de Neil Ernst

Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Neil Ernst
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsNeil Ernst
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningNeil Ernst
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and RequirementsNeil Ernst
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionNeil Ernst
 
Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Neil Ernst
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringNeil Ernst
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASRNeil Ernst
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirementsNeil Ernst
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsNeil Ernst
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution historyNeil Ernst
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleNeil Ernst
 

Plus de Neil Ernst (12)

Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute Tradeoffs
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software Evolution
 
Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements Finding Incremental Solutions for Evolving Requirements
Finding Incremental Solutions for Evolving Requirements
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge Engineering
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred requirements
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution history
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycle
 

Dernier

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt

  • 1. © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Measure it? Manage it? Ignore it? Software Practitioners and Technical Debt Neil A. Ernst with Stephany Bellomo, Ipek Ozkaya, Robert Nord Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 and Ian Gorton College of Computer and Information Science Northeastern University
  • 2. 2 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Copyright 2015 Carnegie Mellon University and IEEE This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. References herein to any specific commercial product, process, or service by trade name, trade mark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by Carnegie Mellon University or its Software Engineering Institute. NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. This material has been approved for public release and unlimited distribution. This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu. DM-0002708
  • 3. 3 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Background • Cunningham, 1992: “Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite... The danger occurs when the debt is not repaid” • Our definition: “the obligation that a software organization incurs when it chooses a design or construction approach that's expedient in the short term but that increases complexity and is more costly in the long term.” (McConnell)
  • 4. 4 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Research Questions • RQ1. Is there a commonly shared definition of technical debt among professional software engineers? • RQ2. Are issues with architectural elements (such as module dependencies, external dependencies, external team dependencies, architecture decisions) among the most significant sources of technical debt? • RQ3. Are there practices and tools for managing technical debt?
  • 5. 5 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Methodology • Pilot Survey • Full survey • Triangulate with: • Multiple choice background • Open-ended questions • Likert agreement • Follow-up interviews (opportunistic)
  • 6. 6 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Demographics • 1831 surveys were started (across all three collaborators) and 536 surveys fully completed (all questions answered), an overall response rate of 29% • Respondents over 6 years experience • Roles selected included developers (42%), and project leads/managers (32%) • Most projects were web systems (24%) or embedded (31%). • Projects generally consisted of 10-20 people • The systems averaged 3-5 years old, but a significant number (29%) were over 10 years old. • The systems between 100KLOC and 1MLOC in size.
  • 7. 7 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Findings 1. Architecture is a key source of technical debt 2. Technical debt is broadly temporally distributed (source and symptom not synched) 3. Issue trackers are currently the best tool approach to managing technical debt. Triangulate answers to these questions by looking at quantitative (closed-ended) questions, and coding of open-ended and interview data.
  • 8. 8 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ1: Defining Technical Debt • “(A2) I think the vocabulary of technical debt is useful for getting the interests aligned.” • ‘convincing product managers and stakeholders on the value proposition of managing the debt.’
  • 9. 9 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ2: Architecture choices key 9
  • 10. 10 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Coding of open-ended questions
  • 11. 11 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ2: Architecture as source
  • 12. 12 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ2 (2) “(B2) the work that we’re doing now to introduce a service layer and also building some clients using other technology is an example of, you know, decisions that could have been done at an earlier stage if we had had more time and had the funding and the resources to do them at the time instead of doing it now.” “‘platform’ was not designed with scalability in mind” “In retrospect we put messaging/communication ... in the wrong place in the model view controller architecture”
  • 13. 13 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ2: Drift Lehman’s concept of entropy present in our data: • “over the years, other sites would begin using the system and would require changes to how the workflow operated” Weak association between system age and the perceived importance of architectural issues, using Yule’s Q. 89% of those with longer-lived systems (>=6 years old) agreed or strongly agreed with the notion that architectural issues were a significant source of debt, compared to 80% of those with newer systems (<3 years old).
  • 14. 14 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ3: Management of TD How tracked … Where tracked …
  • 15. 15 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ3: Tool Use 15 None/Unknown: 58%
  • 16. 16 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited RQ3: Management of TD “(B1) regarding static analysis we have the source code static analysis tools, but this is to assure proper quality of source code. But how architectural changes are impacting I don’t know. And, in fact, this is something we don’t do.” “(C1) it showed up on Jenkins - the CI server - there’s a billion little warnings. And so it seems a little bit overwhelming.” “[we track] occasionally by explicit tech debt items, usually by pain, or not at all...”
  • 17. 17 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited • Timeline for TD management • Track TD items like we do defects • Connect Architecture Technical Debt to architectural analysis (e.g., quality attribute prioritization) Future Work and Open Questions
  • 18. 18 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited 18 • Software practitioners agree on the usefulness of the metaphor • Different interpretations of what makes up technical debt in particular contexts. • Leading sources of technical debt are architectural choices • take many years to evolve • Managing this drift is vital in managing technical debt. • Developers perceive management as unaware of technical debt issues • Desire for standard practices and tools to manage technical debt that do not currently exist http://bit.ly/sei-td – @neilernst – nernst@sei.cmu.edu
  • 19. 19 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Call for Papers: Negative Results in Software Engineering Special Issue of J. Empirical Software Engineering. We welcome your well-conducted yet ‘negative’ empirical studies. We also are looking for suitable reviewers and reviewer experience reports. Deadline for submission: October 7, 2015 http://bit.ly/emse-negative If you have questions/comments or would like to volunteer to be a reviewer of the papers, please contact the guest editors. Richard Paige richard.paige@york.ac.uk Jordi Cabot jcabot@uoc.edu Neil Ernst nernst@sei.cmu.edu Plug
  • 20. 20 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Backup
  • 21. 21 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Coding Process Id Statement Coder 1- A Coder 1-B … Coder 2-C 1 Technical debt is built over years & multiple versions by the combination of factors like monolithic code design, mix of obsolete and new technologies, cost over quality etc. Code Code … Code Cohen’s K: 0.45
  • 22. 22 TD Survey September 2, 2015 © 2015 Carnegie Mellon University Distribution Statement A: Approved for Public Release; Distribution is Unlimited Distribution Statement A: Approved for Public Release; Distribution is Unlimited Code definitions Final Coding Term Definition Subsumed Codes Interest The pain caused by technical debt, but not the debt itself. Rework Additional work needed to remove technical debt ‘principal’ Architecture choice While arch choice is pain caused perhaps by context shifts vs design shortcut that is deliberative we combine the two as “architecture choice” because participants may not even know whether it was deliberate or not. Must be a specific case/instance. Design Shortcut, Bad Architecture Choice Legacy modernization Changes and evolution in operating environment e.g. new tech or requirements changes. Obsolete Technology, Legacy, evolution, changing requirements, External Dependencies, Prototype become Product Limited Knowledge Respondent had no good understanding of TD No clue Awareness People in respondent’s org had no understanding of problems TD caused Management, avoidance strategy, culture, deferred integration design, metaphor Defects Responses referring to problems in code externally visible. Interest code is more suitable when text refers to linking those bugs to original decision. Bugs, Maintenance, Software Quality Time Pressure Must release to make deadline Schedule Cost Pressure Lack of financial resources or motivation to fix problem New code Code Problems Issues relating to code-level problems such as detected by FindBugs Overly complex code, inter-module dependencies, Code with Debt, Code Duplication Process Some problems arising from poor development processes. Inadequate testing, Inefficient CM, Lack of Documentation None A comment that is not possible to code Measurement codes about need for measuring, things we might need to measure such as complexity and accuracy Tools this category is about the things that are technical in nature including tool support for making intelligent decisions. Platform dependence, ways to find TD Requirements Shortfall Requirements not changing significantly, but system does not meet them. Could be due to ambiguity, lack of clarity, etc. Lack of documentation Issues due to incomplete understanding of the architecture which was often attributed to lack of documentation or some way to better understand the impact of making changes on the quality or maintainability of the system Inadequate Testing This category covers inadequate testing due to issues such as inadequate test coverage, limited test resources, lack of test automation or not enough time to complete tests

Notes de l'éditeur

  1. 9/3/2015
  2. Approaches to TD identification Community perception of “TD is important” Quote Cunningham is ok but is this our preconceived definition or just motivation? (McConnell) Maybe start with show of hands/ questions 
  3. Motivation for Arch unclear. Cunningham focused on code, but since then it has broadened (landscape picture). Part of approach is “what’s in/what’s out” Not so defensive. We *think* it might be architecture to motivate second question.
  4. We asked them about defns and examples before likert to hear their opinions Triangualted e.g arch questions #6 - s/w involved, but not software only 
  5. Make point about not homogenous group (even though only 3 orgs) – lots of different projects Average versus clusters of responses
  6. Point about long lag time is good. Add to RQ2 discussion.
  7. 11 Ward’s problem is you need a lot of discipline to return and repay
  8. Define “coding. (And process) What this means is that when people give an example, it tended to involve architecture
  9. #11 as Ward notes, the idea is really that you cannot know upfront, so you MUST fix it later - and soon Protoytpe becomes product
  10. bigger
  11. 1 – debt incurred (decision made) 2 – recognized 3 – ideal pay back time (should do it here) 4 – actual repayment based on pain 5 – decision to strategically manage debt (instead of forgetting, lack of arch docs and rationale).
  12. Must cut 6 minutes or so. Faster at beginning. Less digressions.
  13. Two of us rated each one after we came to agreement.