<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Compliance Desk</title>
    <description>The latest articles on DEV Community by Compliance Desk (@compliance_desk).</description>
    <link>https://dev.to/compliance_desk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4190428%2F94e2b07f-c452-4832-a09f-32bd320a9526.jpg</url>
      <title>DEV Community: Compliance Desk</title>
      <link>https://dev.to/compliance_desk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/compliance_desk"/>
    <language>en</language>
    <item>
      <title>IT Risk Management for Engineers: Turning Technical Debt Into Risks the Business Can see</title>
      <dc:creator>Compliance Desk</dc:creator>
      <pubDate>Mon, 19 Oct 2026 11:49:58 +0000</pubDate>
      <link>https://dev.to/compliance_desk/it-risk-management-for-engineers-turning-technical-debt-into-risks-the-business-can-kcc</link>
      <guid>https://dev.to/compliance_desk/it-risk-management-for-engineers-turning-technical-debt-into-risks-the-business-can-kcc</guid>
      <description>&lt;p&gt;Every engineering team knows where the bodies are buried. The service account with admin rights nobody remembers granting. The library two major versions behind. The one database with no tested restore.&lt;/p&gt;

&lt;p&gt;Most of these never make it to anyone outside the team. They live in Slack threads, sprint retros and the back of someone's head. Then one of them breaks, and suddenly leadership wants to know why nobody raised it.&lt;/p&gt;

&lt;p&gt;IT risk management is mostly about closing that gap. Not with heavy process, but by writing technical risks down in a way the rest of the business can understand and act on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why engineers should care about IT risk management
&lt;/h2&gt;

&lt;p&gt;It is easy to see risk management as something compliance teams do to engineering. In practice, it is one of the few ways to get time and budget for the work engineers already know matters.&lt;/p&gt;

&lt;p&gt;"We should upgrade this library" competes with feature work and usually loses. "There is a known vulnerability in a library that handles customer payment data, and it is two versions behind" gets a different response. Same problem, framed as a risk with a clear impact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a simple risk register
&lt;/h2&gt;

&lt;p&gt;You do not need a framework to begin. A shared file with a consistent structure is enough. Here is a format that works well for engineering teams:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;RISK-014&lt;/span&gt;
  &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Payment service depends on an unsupported library version&lt;/span&gt;
  &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="s"&gt;The payments API uses a library version that no longer receives&lt;/span&gt;
    &lt;span class="s"&gt;security patches. A newly disclosed vulnerability could expose&lt;/span&gt;
    &lt;span class="s"&gt;card transaction data.&lt;/span&gt;
  &lt;span class="na"&gt;owner&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;payments-team&lt;/span&gt;
  &lt;span class="na"&gt;likelihood&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;   &lt;span class="c1"&gt;# 1 (rare) to 5 (almost certain)&lt;/span&gt;
  &lt;span class="na"&gt;impact&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt;       &lt;span class="c1"&gt;# 1 (minor) to 5 (severe)&lt;/span&gt;
  &lt;span class="na"&gt;score&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15&lt;/span&gt;
  &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;WAF rule blocking the known exploit pattern&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Weekly dependency scan in CI&lt;/span&gt;
  &lt;span class="na"&gt;action&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Upgrade to the supported version in Q4 sprint &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;
  &lt;span class="na"&gt;review_date&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-12-01&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The fields that matter most are the owner, the score and the action. A risk with no owner is a complaint, not a risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Score risks the same way every time
&lt;/h2&gt;

&lt;p&gt;Likelihood multiplied by impact is crude, but consistency matters more than precision. Agree on what each number means for your team. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Impact 5:&lt;/strong&gt; customer data exposed, regulatory reporting likely, or a major outage on a revenue-critical service&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impact 3:&lt;/strong&gt; degraded service for some users, internal data exposed, recovery within a day&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impact 1:&lt;/strong&gt; minor inconvenience, no customer effect&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the scale is agreed, scores stop being opinions and start being comparable across teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common IT risks hiding in most stacks
&lt;/h2&gt;

&lt;p&gt;If you are building your first register, these usually show up quickly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Over-privileged access.&lt;/strong&gt; Service accounts and old employee accounts with more rights than they need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unsupported dependencies.&lt;/strong&gt; Libraries, runtimes or operating systems past end of life.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Untested backups.&lt;/strong&gt; Backups that exist but have never been restored.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single points of failure.&lt;/strong&gt; One region, one engineer who understands a system, one vendor with no alternative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expiring certificates and secrets.&lt;/strong&gt; Easy to fix, painful when missed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third-party APIs.&lt;/strong&gt; External services your product depends on, with no monitoring or fallback.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Map risks to controls you already have
&lt;/h2&gt;

&lt;p&gt;Most teams already run controls without calling them that. Code review, CI security scans, access reviews, on-call runbooks and change approvals are all controls.&lt;/p&gt;

&lt;p&gt;Linking each risk to the controls that reduce it does two things. It shows auditors and security teams that the risk is managed, and it shows the team where a control is missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the telemetry you already collect
&lt;/h2&gt;

&lt;p&gt;Key risk indicators sound like a compliance term, but engineers usually have the data already. A few examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Number of dependencies with known critical vulnerabilities&lt;/li&gt;
&lt;li&gt;Days since the last successful restore test&lt;/li&gt;
&lt;li&gt;Count of accounts with admin access&lt;/li&gt;
&lt;li&gt;Certificates expiring in the next 30 days&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Put these on an existing dashboard and set a threshold. When one crosses it, the related risk gets reviewed.&lt;/p&gt;

&lt;h2&gt;
  
  
  When a spreadsheet stops being enough
&lt;/h2&gt;

&lt;p&gt;A YAML file or spreadsheet works well for one team. It starts to struggle when there are dozens of teams, hundreds of risks, auditors asking for evidence, and leadership wanting one view across IT and cyber risk.&lt;/p&gt;

&lt;p&gt;At that point, many organisations move to dedicated &lt;a href="https://www.metricstream.com/products/it-and-cyber-risk-management.htm" rel="noopener noreferrer"&gt;IT risk management software&lt;/a&gt; that connects risks, controls, issues and evidence in one place. The tooling matters less than the habit, though. Teams that already keep a clean register make that transition far more easily.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical way to start this week
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Spend 30 minutes with your team listing the top ten technical risks you worry about.&lt;/li&gt;
&lt;li&gt;Give each one an owner, a score and one next action.&lt;/li&gt;
&lt;li&gt;Link each risk to any control that already reduces it.&lt;/li&gt;
&lt;li&gt;Pick two or three indicators you can track from existing tools.&lt;/li&gt;
&lt;li&gt;Review the list once a month in an existing meeting, not a new one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of this needs a new process. It just makes the risks you already know about visible to the people who decide priorities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;Engineers are often the first to spot IT risk and the last to be asked about it. A simple, consistent register changes that. It turns "we should really fix this" into something the business can weigh, fund and track.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: I work with MetricStream, one of the companies mentioned in this post.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>sre</category>
      <category>compliance</category>
    </item>
  </channel>
</rss>
