What is Refactoring?

Martin Fowler defines refactoring as “Refactoring is the process of changing a software system in such a way that it does not alter the external behaviour of the code yet improve its internal structure.” I like to define it as “Refactoring is a systematic process of improving code without adding or taking away functionality…

What is Technical Debt

What is Technical Debt?

Dealing with technical debt is one of the greatest frustrations and demotivaters to development teams. Technical debt is accumulated through out the software development lifecycle. Over time, the code becomes less and less clean which results in making changes more and more difficult.