In this video, I answer two questions: what is technical debt, and what is refactoring (code refactoring)?
This video is safe for viewing in the workplace.
This is learning, so, sit back and enjoy
Technical debt
Technical debt is a concept in software development.
It refers to the future cost of reworking a solution when compromises have been made. Typical compromises are shortcuts to deliver a solution quickly rather than the best or cleanest way.
Technical debt is like a loan you take out when developing a technology solution. When you’re building it, you might make decisions that prioritize speed over perfection. These decisions lead to shortcuts or quick fixes that get the job done for now but might cause problems later on.
Example of Technical Debt
Imagine you build a shed, but you use cheap materials or poor techniques to get it done quickly. Yes, it gets your shed built faster, but down the line, you might face issues like leaks or a poorly fitting door.
As a result, software becomes harder to maintain, update, or expand over time. This can slow down future development because the rushed work needs to be fixed similar to the way the poorly made parts of the shed would need repairs later.
Managing Technical Debt
Managing technical debt is about balancing speed with quality. Sometimes, taking on technical debt is acceptable to get a product to market faster, but if ignored for too long, it can lead to larger issues like bugs, security vulnerabilities, or project delays.
Paying off technical debt means revisiting and improving earlier shortcuts to make the code more efficient and maintainable. This is called refactoring the code.
Refactoring (or Code Refactoring)
Code refactoring is the process of improving the internal structure of existing code without changing its external behavior or functionality. Think of it like reorganizing the contents of your shed: all your tools still work the same way, but the shed becomes tidier, more efficient, and easier to find things in.
In software development, code can become messy or inefficient over time, especially when developers add features quickly or the code is written by multiple engineers. Refactoring helps developers make the code simpler, easier to read, and maintain. For example, they might break up large, complex functions into smaller, more manageable pieces or rename variables to make their purpose clearer.
The Goal of Code Refactoring
The goal of refactoring is not to add new features, but to better-organize the code and:
- Make it more efficient
- Help prevent bugs a
- Make future updates or changes easier
Refactoring is an important part of keeping software healthy and sustainable over time.
Recommended Videos and Articles to Help with Aspects of IT Project Management
Carefully curated video recommendations for you:
- Building a Career in IT Project Management – with Andreanna Marshall
- How to Tell if Your Developer is Lying to You – with Duncan McGregor
- What is Configuration Management? | Video
- The Software Testing Process: What is User Acceptance Testing – UAT?
- What is Release Management? | Video
What Kit does a Project Manager Need?
I asked Project Managers in a couple of forums what material things you need to have, to do your job as a Project Manager. They responded magnificently. I compiled their answers into a Kit list. I added my own.
Check out the Kit a Project Manager needs
Note that the links are affiliated.
Learn Still More
For more great Project Management videos, please subscribe to the OnlinePMCourses YouTube channel.
If you want basic Management Courses – free training hosted on YouTube, with 2 new management lessons a week, check out our sister channel, Management Courses.
For more of our Project Management videos in themed collections, join our Free Academy of Project Management.
For more of our videos in themed collections, join our Free Academy of Project Management.