Presenter: Andrea Goulet
Technical debt gets accrued when you move fast and break things, which is awesome in the early stages of a startup. Left unchecked, technical debt can slow a development team to a grinding halt, frustrating founders and product owners. In this session, we'll demystify technical debt. You'll leave with a good understanding of what it is, when to accrue it, and how to pay it down.
Andrea Goulet is the CEO of Corgibytes, a software development shop dedicated to maintaining and modernizing software applications and has been named by LinkedIn as one of the top 10 professionals in software under 35. She’s the founder of LegacyCode.Rocks and hosts a podcast dedicated to changing the way we think about legacy code. She speaks frequently about building a business based on balance, empathy, and trust; the perils of the technical/non-technical divide; and the technical philosophies around working with legacy code.
In her spare time, Andrea enjoys hosting Free Code Camp events at her local co-working space and blogging at Empathy Driven Development. She loves watching her kids explore the world and is a sucker for a good physics documentary. You can recognize her by the JavaScript tattoo on her wrist.
8. @andreagoulet
“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. Objects make the cost of
this transaction tolerable.
The danger occurs when the debt is not repaid. Every
minute spent on not-quite-right code counts as
interest on that debt. Entire engineering organizations
can be brought to a stand-still under the debt load of
an unconsolidated implementation, object-oriented or
otherwise.”
-WARD CUNNINGHAM, 1992
Source: https://www.techopedia.com/definition/27913/technical-debt
10. “WHAT’S LAYERING?”
“NOW WE KNOW HOW WE
SHOULD HAVE DONE IT.”
“WE MUST SHIP NOW
AND DEAL WITH THE
CONSEQUENCES.”
“WE DON’T HAVE TIME
FOR DESIGN.”
@andreagoulet
DELIBERATEINADVERTANT
MARTIN FOWLER’S TECH DEBT QUADRANT
RECKLESS PRUDENT
Source: https://martinfowler.com/bliki/TechnicalDebtQuadrant.html
34. @andreagoulet
• DUPLICATION (Copy/Pasting Code)
• COMPLEXITY (Number of Paths)
• POOR COMMUNICATION (naming,
commits, docs, pull requests, etc.)
• NO TEST COVERAGE (use BDD and
TDD to prevent tech debt from forming)
• SILOS IN TEAM (Conway’s Law - everyone
on team should code and communicate)