Development Testing

Subscribe to Development Testing: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Development Testing: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Development Testing Authors: Karthick Viswanathan, Julia Chernykh, Gary Kaiser, Plutora Blog, Elizabeth White

Related Topics: Agile Software Development, Development Testing, DevOps Journal

Blog Post

DevOps and Technical Debt – Are You Paying the Piper? By @PeWhouse | @DevOpsSummit #DevOps

DevOps is a journey of digital transformation, but this must involve clinically reviewing and paying down technical debt

DevOps and Technical Debt - Are You Paying the Piper?

Like me, you're probably familiar with the story of the Pied Piper of Hamelin. A cautionary tale about the consequences of reneging on debt - it sure scared the crap out of me as a kid.

In enterprise IT, we also accrue debt, but of the technical kind. While the results of non-payment aren't as severe as those suffered by the good folk of Hamelin, not ‘paying the piper' will have dire consequences for any businesses trying to compete on an economic playing field where the rules are determined by software.

DevOps of course is now being touted as a tune organizations must play if they're to digitally transform their businesses - and for good reason. Businesses in every vertical are showing that through effective cross-functional collaboration, automation, and the adoption of agile and lean practices, high quality software can be released more rapidly - the result, a high performance IT function that's inextricably linked to increased customer satisfaction, profitability and market share.

But in all the noise, many enterprises risk getting carried away on the hype wave accompanying every new trend. Forgetting that without paying down existing technical debt, any DevOps benefits will be like, well, the children of Hamelin - never to be seen. Worse still, many organizations may be introducing more debt because they've failed to elevate thinking beyond short-term tactical optimization.

Debt Can Move Right to Left - the traditional view of technical debt is that it originates in early code development and insidiously works its way into production (where it's more costly to fix). Very true of course, but DevOps practitioners should also consider that debt can also accumulate in operations and work the other way. For example, constrained access to production systems, performance patterns and data during testing may lead to sub-optimal practices and behaviors - such as development avoiding an essential refactoring exercise or piece of documentation because they know they have the time to get back to it later (which they never do).

It's a Tax You Have to Pay - Gene Kim is spot on when he strongly suggests organizations should reserve 20% of cycle times to paying down technical debt. Management may see this as an unnecessary overhead, so in addition to extolling the value of continuous delivery, DevOps also involves impressing the business benefit of baking quality across the software lifecycle. For example, tools like application performance monitoring are a great way to illustrate in clear business language how detecting response time issues in pre-production has increased customer conversations and helped avoid unnecessary capacity related procurements.

Small Isn't Necessarily Beautiful - Microservices are fast becoming a popular architectural design pattern for DevOps teams. With these architectures, development teams have more control over the technology-stack, choosing the best tool for the job and employing APIs for messaging and integration. In the short term there are advantages, like rapid code delivery, independent deployment, development scale and fault isolation, but there are drawbacks too. As more services are added, system testing, release co-ordination and support costs can increase. Additionally, discrete data stores introduce duplication, meaning more moving parts and greater operational complexity.

Dumb Incentives Will Increase the Burden - measuring the effectiveness of development folks using metrics like lines of code produced or function points delivered can actually increase the debt -for example, by maintaining a bloated ‘rats nest' code base. Similarly in Ops, being rewarded for holding back releases or slavishly monitoring every new cloud or infrastructure component with a plethora of diagnostic tools is no way to build the scale needed to future-proof the business. Smart organizations understand that in order to realize the benefits of a highly collaborative DevOps style operation, close attention should be given to the shared development and ownership of meaningful metrics that are outcome not output centric.

Your Technical Debt Is Never ‘Done' - any software service however brilliant will always accrue some technical debt until it's decommissioned. As such, members of a true DevOps team will never ‘pass the debt buck' - using the word ‘Done' to convey that their responsibility (or accountability) has ended. On the contrary, they collectively employ system style thinking to determine how each software and infrastructure element they code, test or operate increases business value and enhances the customer experience. For these teams, everyone's mindset is geared toward improvements that transcend functional boundaries - like reliability, performance, maintainability, scalability; collectively swarming any problem that introduces more debt and compromises these goals.

With any IT-related trend, it's easy to get lost in hype and spin. DevOps is a journey of digital transformation, yes, but never forget this must involve clinically reviewing and paying down technical debt. For the strategic minded and disciplined among us, the pragmatic application of DevOps will pay huge dividends - for those who renege, the benefits will be whisked away by a tune of good, but misguided intentions.

More Stories By Pete Waterhouse

Pete Waterhouse, Senior Strategist at CA Technologies, is a business technologist with 20+ years’ experience in development, strategy, marketing and executive management. He is a recognized thought leader, speaker and blogger – covering key trends such as DevOps, Mobility, Cloud and the Internet of Things.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.