Real End-to-End UI Automated Regression Testing: The Best Weapon for Addressing Technical Debt
Why? It eliminated Fear.
Recently, I shared a meme and my thoughts on technical debt in software development, as reflected in the title of this article.
I know “End-to-End UI Automated Regression Testing: The Best Weapon for Addressing Technical Debt” for a simple reason: I verified this claim hundreds of times in numerous client projects and my own. This article explains.
Technical Debt
I will elaborate further (with examples) in this article. Let’s begin with the definition.
Technical Debt: “presents an actual or contingent liability whose impact is limited to internal system qualities, primarily maintainability and evolvability”. (source: Wikipedia)
Quite clear, right? The software (with technical debts) works, but not well.
Nearly all software professionals have heard of this: “If it works, don’t touch it”.
So, programmers (mind you, they are human beings; don’t quote theories in a perfect world without office politics and concerns about job security) tend to accept and work around the technical debts.
I believe the majority of programmers want to do good and proud work. So why do they often shy away from addressing technical debt? The answer is fear. It’s not that they lack the intention or the technical capability to correct issues and handle technical debt; rather, they lack a safety net.
“Once you touch it, it becomes your problem”. — Anonymous Software Architect
It's all too easy for programmers to find excuses for not addressing tech debt, such as saying, “The app still works OK. It is an existing problem, and the people who were responsible have left. Without that knowledge, I am afraid …” Really, the project managers will not force that either. Why? They fear the responsibility too.
In my 20+ years of experience, I’ve observed and actively participated in teams that effectively addressed technical debt by implementing real end-to-end UI test automation regression testing. Why did it work? Because it eliminated fear.
How Fixing Technical Debit Works?
A programmer, Toby, identifies a technical debt, such as one service that is extremely slow. He decides to take action and comes up with an idea.
Keep reading with a 7-day free trial
Subscribe to The Agile Way to keep reading this post and get 7 days of free access to the full post archives.