Understanding Technical Debt: Cutting Corners That Can Cost You Later

Understanding Technical Debt: Cutting Corners That Can Cost You Later

Understanding Technical Debt: Cutting Corners That Can Cost You Later

Cloud technologies are known to offer many benefits, but it’s safe to say that two words dominate expectations when it comes to development cycles: faster and nimbler. As more organizations implement agile development, it’s becoming clear that expedited time to market is an expected standard – and so is the speedy development that goes along with it.

As fast turnarounds and flexible production become a baseline of cloud development, so does the necessity for developers to fix, tweak, change and adapt as they go. On a sprint, it’s tempting to prioritize speed over completion, especially when a deadline for an impatient client is drawing closer. As a result, some developers are tempted to rush and cut corners in an effort to meet the delivery deadlines. Because of this, many in our field are becoming familiar with the term “technical debt.”

The danger, of course, is that even though those shortcuts can seem like an efficient way to achieve speed to market, they can damage teams in other ways. For instance, last year when LinkedIn suffered a hack and millions of email addresses were stolen, the company was harshly accused of cutting corners, which led to the vulnerability. Whether they did or did not is still debatable, however the cost to the brand and revenue were apparent from the mere idea that the company scrimped when it came to coding.

Every organization that’s using agile should be well aware that sometimes cutting corners can turn into technical debt that will cost your organization later – and can ultimately cause deadlines to be missed, sabotaging the same cycle time you were trying to protect.

Managing technical debt

Many developers make the mistake of thinking they know what corners they can cut without sacrificing quality. But as development evolves and uncompleted changes and abandoned directions pile up, the team can find themselves staring at a serious technical debt that must be paid.

The causes of debt are fairly common. The pressure to release a product prematurely, a lack of collaboration and knowledge-sharing, or a lack of thoughtful testing or code review and key documentation, are just a few dynamics that can lead to a significant amount of debt. So how do you keep this from happening to your team?

One tip to keep in mind is resolving issues as soon as they appear instead of putting them on a back burner. The earlier the stage of detection, the less expensive those issues will be to fix. Issues left unresolved, on the other hand, will expand into a technical debt that will eventually demand more time and money in eliminating. As one example, consider legacy code where the software engineers spend so much effort in keeping the system running, thereby supporting the debt that there’s not enough time to add new features to the product without additional expense.

cut-costs-cloud

Common shortcuts – and their costs

When work cycles are on the line, developers tend to cut some of the same corners over and over. A good example is Quality Assurance work, such as code reviews, unit testing, integration tests and system tests. Many developers feel comfortable skipping tasks here for one simple reason. Because this is work undertaken to validate the code, rather than actually writing the code (other than corrections found by the QA activities), they assume it can be eliminated with minimal risk.

The truth is that cutting corners here can mean sacrificing knowledge and productivity. While it might not be immediately apparent, the overall productivity of the team tends to be higher during a lot of these activities since they increase interactive learning within the team, which in turn leads to higher levels of output.

One way to protect this valuable phase is to implement processes that are used as a check list among every development cycle. In my company, we call this Tiempo Quality System (TQS), a defined set of best practices and processes that standardizes the engineering process. By using a configurator that ensures best practice QA activities are defined up front, TQS minimizes overhead while maximizing overall team productivity. Similar systems can easily be implemented among any development team and are a great way to eliminate technical debt.

Managing quick cycles without cutting corners

All of this might sound as if agile developers need to choose between delivering on fast-paced cycles or executing on solid development. Rest assured, both are possible.

One solution is tracking velocity to produce data that shows the production delays resulting from a backlog of coding issues. By demonstrating the exact fault lines that jeopardize product quality, developers can head off debt at the start. Things like Code Reviews should be looked at not merely as QA activities, but as opportunities for the team to learn together, create improvements on producing the code and work towards optimization.

The shortcuts worth taking

Developers must accept that the pressure to cut corners will never go away. So is it taking a shortcut ever acceptable? Under some circumstances, yes. One category that qualifies would be issues that aren’t showstoppers when working on release or deadline driven products. In this situation, rather than delaying time to market, refactoring can and should be implemented after meeting the deadline.

Predictable release schedules, deadline adherence, and expedited development cycles are good things and should always be prioritized in intelligent cloud development. At the same time, it’s critical to adopt a long view and not sacrifice quality in the pursuit of speed. Manage your technical debt during development and you’ll find it that much easier to deliver a high-performing product – on deadline.

By Bruce Steele

Bruce Steele is the COO of Tiempo Development. He drives Tiempo’s software engineering, professional services, consulting and customer support initiatives. Mr. Steele is a seasoned executive with over 25 years of management experience in the areas of operations, corporate development, sales and strategic planning with leading technology firms. He can be reached at bsteele@tiempodevelopment.com.

About CloudTweaks

Established in 2009, CloudTweaks is recognized as one of the leading authorities in connected technology information and services.

We embrace and instill thought leadership insights, relevant and timely news related stories, unbiased benchmark reporting as well as offer green/cleantech learning and consultive services around the world.

Our vision is to create awareness and to help find innovative ways to connect our planet in a positive eco-friendly manner.

In the meantime, you may connect with CloudTweaks by following and sharing our resources.

View All Articles

Sorry, comments are closed for this post.

Using Cloud Technology In The Education Industry

Using Cloud Technology In The Education Industry

Education Tech and the Cloud Arguably one of society’s most important functions, teaching can still seem antiquated at times. Many schools still function similarly to how they did five or 10 years ago, which is surprising considering the amount of technical innovation we’ve seen in the past decade. Education is an industry ripe for innovation…

The Fully Aware, Hybrid-Cloud Approach

The Fully Aware, Hybrid-Cloud Approach

Hybrid-Cloud Approach For over 20 years, organizations have been attempting to secure their networks and protect their data. However, have any of their efforts really improved security? Today we hear journalists and industry experts talk about the erosion of the perimeter. Some say it’s squishy, others say it’s spongy, and yet another claims it crunchy.…

Three Factors For Choosing Your Long-term Cloud Strategy

Three Factors For Choosing Your Long-term Cloud Strategy

Choosing Your Long-term Cloud Strategy A few weeks ago I visited the global headquarters of a large multi-national company to discuss cloud strategy with the CIO. I arrived 30 minutes early and took a tour of the area where the marketing team showcased their award winning brands. I was impressed by the digital marketing strategy…

Using Private Cloud Architecture For Multi-Tier Applications

Using Private Cloud Architecture For Multi-Tier Applications

Cloud Architecture These days, Multi-Tier Applications are the norm. From SharePoint’s front-end/back-end configuration, to LAMP-based websites using multiple servers to handle different functions, a multitude of apps require public and private-facing components to work in tandem. Placing these apps in entirely public-facing platforms and networks simplifies the process, but at the cost of security vulnerabilities. Locating everything…

3 Keys To Keeping Your Online Data Accessible

3 Keys To Keeping Your Online Data Accessible

Online Data Data storage is often a real headache for businesses. Additionally, the shift to the cloud in response to storage challenges has caused security teams to struggle to reorient, leaving 49 percent of organizations doubting their experts’ ability to adapt. Even so, decision makers should not put off moving from old legacy systems to…

Cloud Native Trends Picking Up – Legacy Security Losing Ground

Cloud Native Trends Picking Up – Legacy Security Losing Ground

Cloud Native Trends Once upon a time, only a select few companies like Google and Salesforce possessed the knowledge and expertise to operate efficient cloud infrastructure and applications. Organizations patronizing those companies benefitted with apps that offered new benefits in flexibility, scalability and cost effectiveness. These days, the sharp division between cloud and on-premises infrastructure…

Three Challenges of Network Deployment in Hyperconverged Infrastructure for Private Cloud

Three Challenges of Network Deployment in Hyperconverged Infrastructure for Private Cloud

Hyperconverged Infrastructure In this article, we’ll explore three challenges that are associated with network deployment in a hyperconverged private cloud environment, and then we’ll consider several methods to overcome those challenges. The Main Challenge: Bring Your Own (Physical) Network Some of the main challenges of deploying a hyperconverged infrastructure software solution in a data center are the diverse physical…

The Future Of Cloud Storage And Sharing…

The Future Of Cloud Storage And Sharing…

Box.net, Amazon Cloud Drive The online (or cloud) storage business has always been a really interesting industry. When we started Box in 2005, it was a somewhat untouchable category of technology, perceived to be a commodity service with low margins and little consumer willingness to pay. All three of these factors remain today, but with…

Virtual Immersion And The Extension/Expansion Of Virtual Reality

Virtual Immersion And The Extension/Expansion Of Virtual Reality

Virtual Immersion And Virtual Reality This is a term I created (Virtual Immersion). Ah…the sweet smell of Virtual Immersion Success! Virtual Immersion© (VI) an extension/expansion of Virtual Reality to include the senses beyond visual and auditory. Years ago there was a television commercial for a bathing product called Calgon. The tagline of the commercial was Calgon…