Tech Debt: How to Balance Between the Velocity of Production and Code Quality?

Anna Khrupa by Anna Khrupa on 10/31/2019

Tech Debt: How to Balance Between the Velocity of Production and Code Quality?

Code quality and velocity of production are two crucial but sometimes conflicting factors for software development projects. It is not surprising that sooner or later each development team faces the issue “speed versus advancement”. No doubt that both code quality and delivery speed matter. Good code quality makes future development simpler, quicker, and more stable. At the same time, a high velocity of production makes the company more agile, and thus more interesting for the customers. But how can a software company find the right balance between short time-to-market and minimizing poor quality code?

What is Technical debt?

How can we define tech debt? Technical debt is the term used to describe code that was not written properly and can harm the ability to add new features in the future. We can think of tech debt as the work that should be done to improve the code in order to make it more efficient and clear. On the other hand, these improvements won’t necessarily bring additional value to the business.

Originally the term Technical debt was coined by an American programmer Ward Cunningham, the inventor of the first wiki. The idea was to think about tech debt as an analogy to financial debt. If there is a debt — there is an interest that should be paid. And in the case of tech debt, the interest is equal to the additional development work that it takes to add new features after sub-par code was used.

What can lead to technical debt? Tech debt may occur as a result of unreasonable requirements, misguided assumptions, poor communication, or unrealistic timelines. It is not uncommon that developers cut corners to meet the deadlines, but the question remains — should they always do that?

Speed vs Quality?

No one will argue that both code quality and velocity of production are important. For obvious reasons, different types of companies choose high-quality development at the expense of speed and vice versa. On one hand, we have a very natural desire of startups to move quickly, so they can release their product to the market as fast as possible. On the other hand, we have the logic of well-established companies whose profile is too high to produce low-quality products, so they usually lean towards the quality mode.

Moreover, the employees of the same company can have different and even opposite views on speed vs quality of development. Salespeople or product managers are usually considered to be advocates for speed as they see the success of the company in its ability to meet deadlines and generate income. So they usually don’t care about how to avoid technical debt. And for the developers, designers, and QA-engineers success means building a perfect product, so they would rather spend months on development and not think about velocity.

But is there a way to strike a balance between code quality and speed development? “Prioritization is the key. You can’t win everywhere. So, first of all, it’s important to find the most critical variable and concentrate on it. It depends on whether you plan to throw away your product after product/market fit is found and re-write it, or your strategy is to grow it gradually,“ says Alex Gostev, Project Portfolio Manager at QArea.

If the company doesn’t want to lose pace, the code quality should become its top priority from day one. “Code quality is multifaceted,” Gostev adds, “It starts with architecture. And with the right architecture, you’ll have significantly fewer issues in the future.

It is also important to create a road map of tech debt projects and evaluate the risks so the company can plan accordingly. According to Dmitriy Barbashov, the Chief Technology Officer at QArea, a service-level agreement might help as well. “I would say that transparent SLA established and agreed with developers would be a good reference point for them,” he notes.

Test your code for technical debt and find ways to minimize risks!

It goes without saying that striving for perfection in development is not always the right choice. For example, if a startup is building its first prototype, quickly created MVP minimizes the risk of investing much effort into an idea that won’t work. But developers should be very careful when trying to deliver features rapidly or make some quick fixes. On one side, investing time in a solid foundation may help build new features in the future. On the other side, some hacky fixes or some cheapest and fastest solutions may accumulate and turn into too much technical debt.

Like in many aspects, smooth communication plays an important role in finding and proving the balance between code quality and speed. Open conversation between executives and developers is crucial. And if the company has found the right balance it is important that every employee understands it. Whenever the circumstances change or organization makes any moves towards speed or quality, everyone should stay on the same page.

We Work With

Having one outside team deal with every aspect of quality assurance on your software project saves you time and money on creating an in-house QA department. We have dedicated testing engineers with years of experience, and here is what they can help you with.

Software is everywhere around us, and it’s essential for your testing team to be familiar with all the various types and platforms software can come with. In 21+ years, our QA team has tested every type of software there is, and here are some of their specialties.

There are dozens of different types of testing, but it takes a team of experts to know which ones are relevant to your software project and how to include them in the testing strategy the right way. These are just some of the testing types our QA engineers excel in.

The success of a software project depends, among other things, on whether it’s the right fit for the industry it’s in. And that is true not just for the development stage, but also for QA. Different industry have different software requirements, and our team knows all about them.

Icon Manual Testing

Maximum precision and attention to detail for a spotless result.

Icon Testing Automation

We’ll automate thousands of tests for all-encompassing coverage.

Icon Testing Outsourcing

Outsource your testing needs to a team of experts with relevant skills.

Icon Testing Consulting

Overhaul your QA processes to achieve even more testing efficiency.

Icon QA

Thorough Quality Assurance for a project of any scale or complexity.

Icon API Testing

Verify the correct operation of as many APIs as your project needs.

Icon IoT Testing

Stay ahead of the growing Internet of Things market with timely testing.

Icon Web App Testing

Reach out to even more customers with a high-quality web application.

Icon Mobile App Testing

Help users fall in love with your mobile app with our texting expertise.

Icon CRM/ERP

Make sure your CRM/ERP system meets the needs of the stakeholders.

Icon Desktop Application Testing

We’ll check the stability, compatibility, and more of your desktop solution.

Icon Functional Testing

Is your app doing everything it’s supposed to? We’ll help you find out!

Icon Compatibility

Check how your solution works on different devices, platforms, and more.

Icon Usability

Find out if your software solution provides an engaging user experience.

Icon UI

Make sure your application’s UI logic works for all categories of users.

Icon Regression

We’ll verify the integrity of your application after recent code changes.

Icon Online Streaming & Entertainment

Stay on top of the media industry with a technically flawless solution.

Icon eCommerce & Retail

Does your store meet customer needs? We’ll help you know for sure!

Icon HR & Recruiting

Streamline HR processes with a solution that works like a clock

Icon Healthcare

Test the functionality, stability, scalability of your app and more.

Icon Fintech & Banking

Give your users what they want: a powerful, secure fintech product.


We use cookies to ensure your best experience. By continuing to browse this site, you accept the use of cookies and "third-party" cookies. For more information or to refuse consent to some cookies, please see our Privacy Policy and Cookie Policy