Failed and successful stories with Technical Debt
-
Upload
antonio-cobo-cuenca -
Category
Presentations & Public Speaking
-
view
107 -
download
0
Transcript of Failed and successful stories with Technical Debt
“Technical debt is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now instead of using a better approach that would take longer.” - Wikipedia
Antonio Cobo @Mind_of_AC
A bad code review process (or a non existing one) will generate unconsciously Technical Debt
Antonio Cobo @Mind_of_AC
but also…
Antonio Cobo @Mind_of_AC
Who am I?
Java DeveloperHead of Backend DevelopmentTechnical Project ManagerProject ManagerAgile Project ManagerScrum MasterAgile Delivery ConsultantSenior Agile Delivery Consultant
IT Manager
Software developer2000
2017
Antonio Cobo @Mind_of_AC
Warning!
https://images.fineartamerica.com/images/artworkimages/medium/1/darth-vader-watercolor-olga-shvartsur-transparent.png
Antonio Cobo @Mind_of_AC
http://www.brainlesstales.com/2009-07-06/bowling-misunderstanding
Misunderstanding
Explain technical debt using business words
Antonio Cobo @Mind_of_AC
Impact on our customers Impact on our brand
Explain technical debt using business words
Antonio Cobo @Mind_of_AC
Impact on our customers Impact on our brand
Antonio Cobo @Mind_of_AC
Situation:
• Junior Developer• Big company• “Senior” Developer with no real experience• Fixed Price contract• Save as much money as you can mentality
Antonio Cobo @Mind_of_AC
Bad team workNot teaching good practicesNot making the junior developer to think
Antonio Cobo @Mind_of_AC
Bad team workNot teaching good practicesNot making the junior developer to thinkIf the original class used as a model is poorly written
Antonio Cobo @Mind_of_AC
Bad team workNot teaching good practicesNot making the junior developer to thinkIf the original class used as a model is poorly written
Antonio Cobo @Mind_of_AC
Bad team workNot teaching good practicesNot making the junior developer to thinkIf the original class used as a model is poorly written
Antonio Cobo @Mind_of_AC
Situation:
• Extremely optimistic deadline• Development manager asked to be “hands on”• We MUST deliver something tomorrow• After helping the team, it’s late and DM is alone
Antonio Cobo @Mind_of_AC
Situation:
• Developer finding Tech Debt• Willing to correct it• Refactoring a small part…• Without telling anyone
Antonio Cobo @Mind_of_AC
Situation:
• Developer finding Tech Debt• Willing to correct it• Refactoring a small part…• Without telling anyone
Antonio Cobo @Mind_of_AC
Situation:
• Developer finding Tech Debt• Willing to correct it• Refactoring a small part… • becoming bigger and bigger and bigger…• Without telling anyone
Antonio Cobo @Mind_of_AC
Situation:
• Developer finding Tech Debt• Willing to correct it• Discuss with the Team• Refactor
Antonio Cobo @Mind_of_AC
Situation:
• Seven senior developers + PO• Long term product development• Some intermediate tight deadlines• Second retrospective and Tech Debt is here!
Antonio Cobo @Mind_of_AC
Good team workCommunication between devs and POManage to reduce the technical debt fast after its creation
Antonio Cobo @Mind_of_AC
Good team workCommunication between devs and POManage to reduce the technical debt fast after its creation
Antonio Cobo @Mind_of_AC
Good team workCommunication between devs and POManage to reduce the technical debt fast after its creation
Antonio Cobo @Mind_of_AC
“Improve how we handle DB concurrent connections”
As a Head of Product I want to enable special sales events in our website (ie. Black Friday) so that we can increase our revenue
Antonio Cobo @Mind_of_AC
“Improve how we handle DB concurrent connections”
As a Head of Product I want to enable special sales events in our website (ie. Black Friday) so that we can increase our revenue
Scout Camp Rule
Leave the code you touch cleaner than the way you found it!
Antonio Cobo @Mind_of_AC
CODE REVIEW
Never approve added technical debt! Challenge and suggest improvements while reviewing
Antonio Cobo @Mind_of_AC
Antonio Cobo @Mind_of_AC
https://www.lynda.com/Business-Skills-tutorials/Communication-Tips/170778-2.html
Communication, communication, communication!