SlideShare a Scribd company logo
What
scrum masters and product owners
should know about
software quality
and
technical debt.
lukasz.koczwara@stxnext.pl
AGENDA
45 MINUTES ABOUT
1. What is Technical Debt and where does it come from?
2. What would I need to do in order to calculate technical debt
for a software project?
3. How much technical debt is too much technical debt?
4. What are the most effective ways to manage technical debt
in a software project (agile approach)?
What is Technical
Debt and where does
it come from?
planning
daily stand-ups
releasetoPROD
restart
featurefreeze
regression tests
feature
request
FEATURE REQUEST
quick & dirty
solution
clean & smart
solution
ILLUSION OF “everything is ok”
“we will refactor
it later”
“there is no time
for testing”
SPRINT 12SPRINT 10 SPRINT 11
quick & dirty
solution
CARRYING OVER TECH. DEBT
quick & dirty
solution
“we will refactor
it later”
quick & dirty
solution
“we will refactor
it later”
“there is no time
for testing”
SPRINT 12SPRINT 10 SPRINT 11
quick & dirty
solution
What is TECHNICAL DEBT?
Technical debt is the difference between
what was promised and what was actually
delivered.
Tom Poppendieck defines technical debt as
everything that makes your code harder to
change.
Consequence of cutting corners throughout
software development. Technical Debt are all of
those things you choose not to do now and after
some time you still leave them undone.
Figure 1: Technical debt grid quadrant
http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
lekkomyślny
brawurowy
rozważny
roztropny
nieumyślny
celowy
Classifying technical debt
Figure 1: Technical debt grid quadrant
http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
Entry into a new market – first to
market may mean that lower quality or
features with more workarounds
might be acceptable.
This is a natural occurrence. Teams
would like to improve upon whatever
has been done after gaining experience
and relevant knowledge.
This happens typically to
programmers who are incompetent
and unaware of the implications of
adding/removing a piece of code,
thus incurring a huge technical
debt.
Pushing the project through because
the client wants it on a set date, and
no one has built a relationship with
the client to discuss the details, nor
has the client been informed of the
effect on quality if the delivery is
rushed.
TIME REVEALS THE TRUTH
“we will refactor
it later”
quick & dirty
solution
“there is no time
for testing”
SPRINT 12SPRINT 10 SPRINT 11
quick & dirty
solution
“we will refactor
it later”
few months
quick & dirty
solution
SPRINT 31
more bugs
unreadable code
code duplication
slower development
postponed releases
heavy manual testing
What would I need to do
in order to calculate
technical debt for a
software project?
You cannot improve what you don’t measure.
What you don’t measure, you cannot prove.
SOFTWARE METRICS
CODE
COVERAGE
NESTED
CODE
CODE
LEFTOVERS
CODE
COMPLEXITY
CODE
DUPLICATION
SOFTWARE METRICS
CODE
COMPLEXITY
● Indicator of where the logic is stored
and how the logic is distributed.
● Files with high value of Mcc most of
the time are responsible for too many
things at the same time.
Refactoring of such files can be reflected
in more granular logic distribution
in project.
SOFTWARE METRICS
NESTED
CODE
● Code in deep nesting levels is very
difficult to understand.
● Developers spend overly much
time “thinking and searching”
before they modify it.
● Higher risk of introducing changes.
● Nearly impossible to be tested
completely.
SOFTWARE METRICS
CODE
LEFTOVERS
● Code is only commented not deleted.
● An indicator that developers are unsure
about their code changes.
● Understanding mixed real-and-commented
code is slow, because the commented code
is probably relevant and also needs to be
understood.
How much technical
debt is too much
technical debt?
Helicopter view
Hotspots view
Issues view
File detailed view
File detailed view with issue explanation
Quality gates
Monitoring & steering dashboard
Productivity view
Landscape overview
What are the most effective
ways to manage technical
debt in a software project
(agile approach)?
managing technical debt
DEBT
backlog
makeup
stories (chores)
technical
retrospective
build relationship
on transparency
make risk
prominent, use
numbers
educate on true
cost of technical
debt
test often
automate tests
invest in CI strong DOD
build awareness at the
management level of the
hidden cost behind the quality
cleanup releases
/ warranty phase
inspect & adapt software
development cycle
agile >> scrum
just make it work for you
inject best
practices
build quality culture
encourage
knowledge
sharing
TECHNICAL DEBT
COMES FROM
DECISIONS
NOT CODE
TECHNICAL DEBT IS
#1 IMPEDIMENT
FOR TEAMS TO
BE AGILE

More Related Content

What's hot

Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
Colin Robb - SOA - Agile or Fragile?
Colin Robb - SOA - Agile or Fragile?Colin Robb - SOA - Agile or Fragile?
Colin Robb - SOA - Agile or Fragile?
TEST Huddle
 
Technical+presentation+4+seminar
Technical+presentation+4+seminarTechnical+presentation+4+seminar
Technical+presentation+4+seminaramitbabbar1
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
Scott Hsieh
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
VMware Tanzu
 
Poor Man's Kanban
Poor Man's KanbanPoor Man's Kanban
Poor Man's Kanban
Chicago ALT.NET
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company Presentation
AnahitYeprikyan2
 
Agility and planning : tools and processes
Agility and planning  : tools and processesAgility and planning  : tools and processes
Agility and planning : tools and processes
Jérôme Kehrli
 
Building products - A Nifty Approach
Building products - A Nifty ApproachBuilding products - A Nifty Approach
Building products - A Nifty Approach
GuruprasadBhat21
 
Rsqrd AI: From R&D to ROI of AI
Rsqrd AI: From R&D to ROI of AIRsqrd AI: From R&D to ROI of AI
Rsqrd AI: From R&D to ROI of AI
Sanjana Chowdhury
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
Lemi Orhan Ergin
 
A proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and MaintenanceA proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and Maintenance
Jérôme Kehrli
 
Career Path Planning
Career Path PlanningCareer Path Planning
Career Path Planning
Stephen Elbourn
 
DevopsBusinessCaseTemplate
DevopsBusinessCaseTemplateDevopsBusinessCaseTemplate
DevopsBusinessCaseTemplatePeter Lamar
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Preetam Palwe
 
Embedded Extreme Programming - Embedded Systems Conference 2002-2004
Embedded Extreme Programming - Embedded Systems Conference 2002-2004Embedded Extreme Programming - Embedded Systems Conference 2002-2004
Embedded Extreme Programming - Embedded Systems Conference 2002-2004
James Grenning
 
Edit4_Define the word Done - Lyle H
Edit4_Define the word Done - Lyle HEdit4_Define the word Done - Lyle H
Edit4_Define the word Done - Lyle HLyle Hutson
 
Building Ops Automation in DevOps
Building Ops Automation in DevOpsBuilding Ops Automation in DevOps
Building Ops Automation in DevOps
DevOps.com
 
Agile Technology Delivery Process Mr
Agile Technology Delivery Process   MrAgile Technology Delivery Process   Mr
Agile Technology Delivery Process Mr
Murray Robinson
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded Software
James Grenning
 

What's hot (20)

Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Colin Robb - SOA - Agile or Fragile?
Colin Robb - SOA - Agile or Fragile?Colin Robb - SOA - Agile or Fragile?
Colin Robb - SOA - Agile or Fragile?
 
Technical+presentation+4+seminar
Technical+presentation+4+seminarTechnical+presentation+4+seminar
Technical+presentation+4+seminar
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
 
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to AvoidMigrating Your Apps to the Cloud: How to do it and What to Avoid
Migrating Your Apps to the Cloud: How to do it and What to Avoid
 
Poor Man's Kanban
Poor Man's KanbanPoor Man's Kanban
Poor Man's Kanban
 
Aimtech Software Development Company Presentation
Aimtech Software Development Company PresentationAimtech Software Development Company Presentation
Aimtech Software Development Company Presentation
 
Agility and planning : tools and processes
Agility and planning  : tools and processesAgility and planning  : tools and processes
Agility and planning : tools and processes
 
Building products - A Nifty Approach
Building products - A Nifty ApproachBuilding products - A Nifty Approach
Building products - A Nifty Approach
 
Rsqrd AI: From R&D to ROI of AI
Rsqrd AI: From R&D to ROI of AIRsqrd AI: From R&D to ROI of AI
Rsqrd AI: From R&D to ROI of AI
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 
A proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and MaintenanceA proposed framework for Agile Roadmap Design and Maintenance
A proposed framework for Agile Roadmap Design and Maintenance
 
Career Path Planning
Career Path PlanningCareer Path Planning
Career Path Planning
 
DevopsBusinessCaseTemplate
DevopsBusinessCaseTemplateDevopsBusinessCaseTemplate
DevopsBusinessCaseTemplate
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Embedded Extreme Programming - Embedded Systems Conference 2002-2004
Embedded Extreme Programming - Embedded Systems Conference 2002-2004Embedded Extreme Programming - Embedded Systems Conference 2002-2004
Embedded Extreme Programming - Embedded Systems Conference 2002-2004
 
Edit4_Define the word Done - Lyle H
Edit4_Define the word Done - Lyle HEdit4_Define the word Done - Lyle H
Edit4_Define the word Done - Lyle H
 
Building Ops Automation in DevOps
Building Ops Automation in DevOpsBuilding Ops Automation in DevOps
Building Ops Automation in DevOps
 
Agile Technology Delivery Process Mr
Agile Technology Delivery Process   MrAgile Technology Delivery Process   Mr
Agile Technology Delivery Process Mr
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded Software
 

Viewers also liked

Salary Formula - bumpy road to transparency.
Salary Formula - bumpy road to transparency.Salary Formula - bumpy road to transparency.
Salary Formula - bumpy road to transparency.
STX Next
 
The essence hidden from the eye.
The essence hidden from the eye. The essence hidden from the eye.
The essence hidden from the eye.
STX Next
 
Is there a common pattern in fixing projects?
Is there a common pattern in fixing projects?Is there a common pattern in fixing projects?
Is there a common pattern in fixing projects?
STX Next
 
Why to nearshore in Central Europe?
Why to nearshore in Central Europe?Why to nearshore in Central Europe?
Why to nearshore in Central Europe?
STX Next
 
Scrum Master - Breakout session.
Scrum Master - Breakout session.Scrum Master - Breakout session.
Scrum Master - Breakout session.
STX Next
 
Transformation to agile.
Transformation to agile.Transformation to agile.
Transformation to agile.
STX Next
 
How to implement Salary Formula from scratch
How to implement Salary Formula from scratchHow to implement Salary Formula from scratch
How to implement Salary Formula from scratch
Jacek Wieczorek
 

Viewers also liked (7)

Salary Formula - bumpy road to transparency.
Salary Formula - bumpy road to transparency.Salary Formula - bumpy road to transparency.
Salary Formula - bumpy road to transparency.
 
The essence hidden from the eye.
The essence hidden from the eye. The essence hidden from the eye.
The essence hidden from the eye.
 
Is there a common pattern in fixing projects?
Is there a common pattern in fixing projects?Is there a common pattern in fixing projects?
Is there a common pattern in fixing projects?
 
Why to nearshore in Central Europe?
Why to nearshore in Central Europe?Why to nearshore in Central Europe?
Why to nearshore in Central Europe?
 
Scrum Master - Breakout session.
Scrum Master - Breakout session.Scrum Master - Breakout session.
Scrum Master - Breakout session.
 
Transformation to agile.
Transformation to agile.Transformation to agile.
Transformation to agile.
 
How to implement Salary Formula from scratch
How to implement Salary Formula from scratchHow to implement Salary Formula from scratch
How to implement Salary Formula from scratch
 

Similar to What scrum masters and product owners should know about software quality and technical debt.

Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PM
Product School
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Taming technical debt
Taming technical debt Taming technical debt
Taming technical debt
Panji Gautama
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Andre Perkins
 
calculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdfcalculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdf
Nicanor Sachahuaman
 
Managing IT and Software
Managing IT and SoftwareManaging IT and Software
Managing IT and Software
stephanieprovitt
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
meena466141
 
Why change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and RefactoringWhy change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and Refactoring
Carsten Windler
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teams
Alexandre Omeyer
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software Engineering
MohsinAli773
 
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
Techno loader
 
01 intro+
01 intro+01 intro+
01 intro+
im|s
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
Raquel Pau
 
Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile Way
Ramadevi Lakshmanan
 
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdfTechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
XIAOZEJIN1
 
Technical debt
Technical debtTechnical debt
Technical debt
Woody Pewitt
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
Ramkumar Ramachandran
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
André Agostinho
 

Similar to What scrum masters and product owners should know about software quality and technical debt. (20)

Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PM
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Taming technical debt
Taming technical debt Taming technical debt
Taming technical debt
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
calculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdfcalculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdf
 
Managing IT and Software
Managing IT and SoftwareManaging IT and Software
Managing IT and Software
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Why change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and RefactoringWhy change code that works - On Technical Debt and Refactoring
Why change code that works - On Technical Debt and Refactoring
 
How to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teamsHow to deal with tech debt: Lessons learned from the best engineering teams
How to deal with tech debt: Lessons learned from the best engineering teams
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software Engineering
 
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
10 THINGS TO CONSIDER BEFORE HIRING A BLOCKCHAIN DEVELOPER.pdf
 
01 intro+
01 intro+01 intro+
01 intro+
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile Way
 
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdfTechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
TechnicalDebtandOpenSourceDevelopment_Whitepaper_062220.pdf
 
Technical debt
Technical debtTechnical debt
Technical debt
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Pravin_CV_4+years
Pravin_CV_4+yearsPravin_CV_4+years
Pravin_CV_4+years
 

More from STX Next

Behave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testingBehave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testing
STX Next
 
Time to React!
Time to React!Time to React!
Time to React!
STX Next
 
Software Quality Visualization
Software Quality Visualization Software Quality Visualization
Software Quality Visualization
STX Next
 
Kotlin Advanced - language reference for Android developers
Kotlin Advanced - language reference for Android developers Kotlin Advanced - language reference for Android developers
Kotlin Advanced - language reference for Android developers
STX Next
 
Discover, Define, Deliver - a workflow to create successful digital products.
Discover, Define, Deliver - a workflow to create successful digital products. Discover, Define, Deliver - a workflow to create successful digital products.
Discover, Define, Deliver - a workflow to create successful digital products.
STX Next
 
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
STX Next
 
Zwinność procesu rekrutacyjnego w branży IT
Zwinność procesu rekrutacyjnego w branży ITZwinność procesu rekrutacyjnego w branży IT
Zwinność procesu rekrutacyjnego w branży IT
STX Next
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
STX Next
 
STX Next - Meet Us
STX Next - Meet UsSTX Next - Meet Us
STX Next - Meet Us
STX Next
 
Group Process by Example - a PO’s and SM’s perspective
Group Process by Example - a PO’s and SM’s perspectiveGroup Process by Example - a PO’s and SM’s perspective
Group Process by Example - a PO’s and SM’s perspective
STX Next
 

More from STX Next (10)

Behave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testingBehave automatically: (Almost) Effortless feature testing
Behave automatically: (Almost) Effortless feature testing
 
Time to React!
Time to React!Time to React!
Time to React!
 
Software Quality Visualization
Software Quality Visualization Software Quality Visualization
Software Quality Visualization
 
Kotlin Advanced - language reference for Android developers
Kotlin Advanced - language reference for Android developers Kotlin Advanced - language reference for Android developers
Kotlin Advanced - language reference for Android developers
 
Discover, Define, Deliver - a workflow to create successful digital products.
Discover, Define, Deliver - a workflow to create successful digital products. Discover, Define, Deliver - a workflow to create successful digital products.
Discover, Define, Deliver - a workflow to create successful digital products.
 
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
Kotlin Developer Starter in Android - STX Next Lightning Talks - Feb 12, 2016
 
Zwinność procesu rekrutacyjnego w branży IT
Zwinność procesu rekrutacyjnego w branży ITZwinność procesu rekrutacyjnego w branży IT
Zwinność procesu rekrutacyjnego w branży IT
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
STX Next - Meet Us
STX Next - Meet UsSTX Next - Meet Us
STX Next - Meet Us
 
Group Process by Example - a PO’s and SM’s perspective
Group Process by Example - a PO’s and SM’s perspectiveGroup Process by Example - a PO’s and SM’s perspective
Group Process by Example - a PO’s and SM’s perspective
 

Recently uploaded

Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
dxobcob
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 

Recently uploaded (20)

Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 

What scrum masters and product owners should know about software quality and technical debt.

  • 1. What scrum masters and product owners should know about software quality and technical debt. lukasz.koczwara@stxnext.pl
  • 2. AGENDA 45 MINUTES ABOUT 1. What is Technical Debt and where does it come from? 2. What would I need to do in order to calculate technical debt for a software project? 3. How much technical debt is too much technical debt? 4. What are the most effective ways to manage technical debt in a software project (agile approach)?
  • 3. What is Technical Debt and where does it come from?
  • 5. ILLUSION OF “everything is ok” “we will refactor it later” “there is no time for testing” SPRINT 12SPRINT 10 SPRINT 11 quick & dirty solution
  • 6. CARRYING OVER TECH. DEBT quick & dirty solution “we will refactor it later” quick & dirty solution “we will refactor it later” “there is no time for testing” SPRINT 12SPRINT 10 SPRINT 11 quick & dirty solution
  • 7. What is TECHNICAL DEBT? Technical debt is the difference between what was promised and what was actually delivered. Tom Poppendieck defines technical debt as everything that makes your code harder to change. Consequence of cutting corners throughout software development. Technical Debt are all of those things you choose not to do now and after some time you still leave them undone. Figure 1: Technical debt grid quadrant http://martinfowler.com/bliki/TechnicalDebtQuadrant.html lekkomyślny brawurowy rozważny roztropny nieumyślny celowy
  • 8. Classifying technical debt Figure 1: Technical debt grid quadrant http://martinfowler.com/bliki/TechnicalDebtQuadrant.html Entry into a new market – first to market may mean that lower quality or features with more workarounds might be acceptable. This is a natural occurrence. Teams would like to improve upon whatever has been done after gaining experience and relevant knowledge. This happens typically to programmers who are incompetent and unaware of the implications of adding/removing a piece of code, thus incurring a huge technical debt. Pushing the project through because the client wants it on a set date, and no one has built a relationship with the client to discuss the details, nor has the client been informed of the effect on quality if the delivery is rushed.
  • 9. TIME REVEALS THE TRUTH “we will refactor it later” quick & dirty solution “there is no time for testing” SPRINT 12SPRINT 10 SPRINT 11 quick & dirty solution “we will refactor it later” few months quick & dirty solution SPRINT 31 more bugs unreadable code code duplication slower development postponed releases heavy manual testing
  • 10. What would I need to do in order to calculate technical debt for a software project? You cannot improve what you don’t measure. What you don’t measure, you cannot prove.
  • 12. SOFTWARE METRICS CODE COMPLEXITY ● Indicator of where the logic is stored and how the logic is distributed. ● Files with high value of Mcc most of the time are responsible for too many things at the same time. Refactoring of such files can be reflected in more granular logic distribution in project.
  • 13. SOFTWARE METRICS NESTED CODE ● Code in deep nesting levels is very difficult to understand. ● Developers spend overly much time “thinking and searching” before they modify it. ● Higher risk of introducing changes. ● Nearly impossible to be tested completely.
  • 14. SOFTWARE METRICS CODE LEFTOVERS ● Code is only commented not deleted. ● An indicator that developers are unsure about their code changes. ● Understanding mixed real-and-commented code is slow, because the commented code is probably relevant and also needs to be understood.
  • 15. How much technical debt is too much technical debt?
  • 16.
  • 17.
  • 22. File detailed view with issue explanation
  • 24.
  • 28. What are the most effective ways to manage technical debt in a software project (agile approach)?
  • 29. managing technical debt DEBT backlog makeup stories (chores) technical retrospective build relationship on transparency make risk prominent, use numbers educate on true cost of technical debt test often automate tests invest in CI strong DOD build awareness at the management level of the hidden cost behind the quality cleanup releases / warranty phase inspect & adapt software development cycle agile >> scrum just make it work for you inject best practices build quality culture encourage knowledge sharing
  • 31. TECHNICAL DEBT IS #1 IMPEDIMENT FOR TEAMS TO BE AGILE