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.

Follow Us!

CloudTweaks

Established in 2009, CloudTweaks.com is recognized as one of the leading authorities in cloud computing information. Most of the excellent CloudTweaks articles are provided by our own paid writers, with a small percentage provided by guest authors from around the globe, including CEOs, CIOs, Technology bloggers and Cloud enthusiasts. Our goal is to continue to build a growing community offering the best in-depth articles, interviews, event listings, whitepapers, infographics and much more...
Follow Us!
FacebookTwitterLinkedInGoogle+Share

Sorry, comments are closed for this post.

Join Our Newsletter

Receive updates each week on news, tips, events, comics and much more...

Popular

Top Viral Impact

Using Big Data To Make Cities Smarter

Using Big Data To Make Cities Smarter

Using Big Data To Make Cities Smarter The city of the future is impeccably documented. Sensors are used to measure air quality, traffic patterns, and crowd movement. Emerging neighborhoods are quickly recognized, public safety threats are found via social networks, and emergencies are dealt with quicklier. Crowdsourcing reduces commuting times, provides people with better transportation

Cloud Infographic: The Education Of Tomorrow

Cloud Infographic: The Education Of Tomorrow

Cloud Infographic: The Education Of Tomorrow  Online Education is a very exciting topic for many as it opens up many new doors and opportunities. We’ve touched on areas such as Massive Open Online Sources (MOOC) which provides tremendous levels of cloud based interconnectivity. We’ve taken a look into higher education,  the increased demand for online courses as well as

Cloud Infographic – The Power Of Cloud Disaster Recovery

Cloud Infographic – The Power Of Cloud Disaster Recovery

Cloud Infographic – The Power Of Cloud Disaster Recovery Preventing a Cloud Disaster is one thing. Recovering from a disaster is a whole other area of concern. Today’s infographic provided by CloudVelox outlines some best practices and safeguards in order to help your business make more informed decisions. About Latest Posts Follow Us!CloudTweaksEstablished in 2009,

Can I Contribute To CloudTweaks?

Yes, much of our focus in 2015 will be on working with other influencers in a collaborative manner. If you're a technology influencer looking to collaborate long term with CloudTweaks – a globally recognized leader in cloud computing information – drop us an email with “tech influencer” in the subject line.

Please review the guidelines before applying.