<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://firmamentum.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://firmamentum.io/" rel="alternate" type="text/html" /><updated>2026-07-04T14:58:35+01:00</updated><id>https://firmamentum.io/feed.xml</id><subtitle>»Fimamentum« are industry experts who can help your organisation change up a gear and deliver software better, faster and more consistently.</subtitle><entry><title type="html">Why software is a social thing</title><link href="https://firmamentum.io/people/development/2026/07/02/software-is-social.html" rel="alternate" type="text/html" title="Why software is a social thing" /><published>2026-07-02T00:00:00+01:00</published><updated>2026-07-02T00:00:00+01:00</updated><id>https://firmamentum.io/people/development/2026/07/02/software-is-social</id><content type="html" xml:base="https://firmamentum.io/people/development/2026/07/02/software-is-social.html"><![CDATA[<h2 id="software-production-is-a-social-activity">Software production is a social activity</h2>

<p>This should not be controversial, yet here we are…</p>

<p>As a word to the nay sayers, yes there are Otaku<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup> that code amazing things in their
lairs and have no, or close to no, social interaction with their users. Or, even worst,
are just rude to their users. I know a few. However, for everyone one of them, there are
1000s that are producing garbage and AI-slop.</p>

<p>99.9%<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup> of software is produced by a team. That teams needs to communicate amongst
themselves. In fact, both the
<a href="https://agility-at-scale.com/principles/pillars/">Lean principles</a> and
<a href="https://agilemanifesto.org/">Agile manifesto</a> both have <strong>communication</strong> as a core
value.</p>

<p><img src="/assets/images/2026/2026-07-02/round-table.png" alt="round table with coffee" class="align-center" /></p>

<h2 id="communication-in-engineering-is-obvious">Communication in engineering is obvious</h2>

<p>Let’s assume we have Alice, our principal developer. She is a good developer, using AI to
amplify her hard earned skills and with decades of experience in producing quality
software. In her daily work, she has to speaks to the following people:</p>

<ol>
  <li>Project managers (PM), who set the tasks and the deadlines. Or rather deal with things
when the deadlines make a funny noise as they go past.</li>
  <li><a href="https://www.softwaretestinghelp.com/3-amigo-principle/">The three amigos</a>. ‘nuff said.</li>
  <li>Her fellow developers, who might require her input for a new feature or a bug fix. Or
that require a PR/MR review, or just help understanding the legacy code base and why it
is so clearly wrong. Well, it’s wrong now. It was the best thing some time ago and now
needs refactoring. But there’s no time. True story.</li>
  <li>Replying to comments left by others on her PR/MRs.</li>
  <li>SQA / Testers, the people who break the lovely things Alice makes despite her using
TDD/BDD and other best practices. There’s always something wrong: a bug per 10 lines of
code.</li>
  <li>Operations who will run her code in production. They have questions, requirements, and
suggestions to make it easier to use. After all, they are the ones who will be calling
Alice at 2AM on Saturday when her code breaks in production. Something Alice is very
keen to avoid.</li>
  <li>Security. Alice has enough experience to know that involving security early will lead
to much less pain later. She’s familiar with all the <a href="https://owasp.org/">OWASP</a> and is
pretty confident her code is rock solid. But, two pairs of eyes always beat one.</li>
  <li>Design, because that’s where the magic happens. Always a conversation because some
things are impossible — or so hard it might not be worth doing.</li>
  <li><a href="https://thedigitalprojectmanager.com/project-management/scrum-ceremonies-made-simple/">All the 5 Scrum ceremonies</a>
because…</li>
  <li><del>Arguing with Claude, Gemini, or Copilot</del> No, I am not counting this as a social
thing.</li>
</ol>

<p>To be honest, I am surprised that Alice has any time whatsoever to actually type code.😉</p>

<p>These interactions should be obvious, certainly with anyone doing secure SDLC, Agile/Lean,
DevOps, or DevSecOps best practices. <strong>After all, this is how software is made.</strong></p>

<p>But, does it stop here? As with any rhetorical question, no, it does not stop here.</p>

<h2 id="communication-with-other-parts-of-the-business-is-vital">Communication with other parts of the business is vital</h2>

<p>Communication within the engineering teams is well defined, so it should be simple. But,
what about the rest of the business?</p>

<p>How does it work? Who does Alice need to talk to on a regular basis and why?</p>

<p>First, there’s <strong>C-suite/the Board</strong>. They are the people with the vision and the power to
get everyone there. They set the strategy and the direction of the company. While they
mostly ask for things, they should also tell you what not to do. If you are never going to
release for iPhones and Android, there’s no need to do certain things. Of course, a change
of direction can always happen. But clear dos and don’ts are vital.</p>

<p>Second, there’s <strong>Sales</strong>. They are the ones that ultimately bring the money in. They
(should) know what the current customers expect next, what their new customers love, and
what feature(s) are missing from the product that cost sales. They promise software
releases, patches, and demos that Alice and her development team really should know about
more than two days before.</p>

<p>Third, there’s <strong>Marketing</strong>. New features get promoted to the market (hopefully after
they are done!) and can cause surges in users. The latter is kinda important for both
Operations and Security to know about.</p>

<p>Fourth, there’s <strong>Finance</strong>. If Alice wants a new laptop, or more tokens, or to buy a new
set of tools (compilers, or editors), she has to make a case to finance. It’s much easier
to do if she has good connections there.</p>

<p>A really smooth operation has all the engineering teams, sales, marketing, and finance
working together in harmony. Easier said than done.</p>

<p>When is the last time anyone in your development, operations, or security teams had a
meeting with marketing, sales, or C-suite?</p>

<p>Should this be a regular thing? Probably…</p>

<p>Finally, your <strong>Admin team</strong> might be invisible but who makes sure there’s coffee/tea and
doughnuts in the meeting rooms? Who makes sure that the meetings rooms are not double
booked? Who makes sure that all the tiny annoying impediments are just not there? That’s
right, the admin team. You’ll know when you have a good one when nothing goes wrong.</p>

<h2 id="an-ice-breaker">An Ice Breaker</h2>

<p>Here’s a way to break the ice between all those teams: Get two teams (does not matter
which) into a room and have a 15 minutes presentation from each about what they do. Then,
brainstorm what each team can do to make the other’s life easier. An hour, you can do that
on Friday afternoon when everyone is pretty much done for the week.</p>

<p>Then, name a champion in each team (volunteer!) who will be the first point of contact and
champion for the other team in their team.</p>

<p>Yes, it is that easy.</p>

<h2 id="a-pitfall-of-over-communication">A pitfall of over communication…</h2>

<p><img src="/assets/images/2026/2026-07-02/faceless.png" alt="Nopperabo by Ryunosuke Akutagawa" class="align-center" /></p>

<blockquote>
  <p>Meetings are the real alternative to work…</p>
</blockquote>

<p>Yeah. That’s the pitfall. Talking too much and inefficiently does lead to extraordinary
waste. The cost is not just in resources (time and money), but also burn out leading to
tiredness and low morale.</p>

<p>Meetings for meeting’s sake is an
<a href="https://www.qwant.com/?q=antipattern+meeting&amp;t=web">anti-pattern</a> and should be avoided
at all costs.</p>

<p>Booking some time in your calendar for focus is always a good idea. Make sure at least
half your day is for doing, not talking about doing. As all guidelines, this one will vary
according to your role and your environment.</p>

<p>For meetings, start with 30 mins max. Then, get efficient to reduce it to 20 then 15. No
agenda, no meeting. Not talking about the agenda: leave. ¯\_(ツ)_/¯ Harsh? Maybe…</p>

<p><strong>Effective communication is a skill. As all skills, it can be learned.</strong></p>

<h2 id="conclusion">Conclusion</h2>

<blockquote>
  <p>“<strong>Individuals and interactions</strong> over processes and tools”</p>
</blockquote>

<p>This is one of the four pillars of Agile, written over two decades ago, to address the
problems of software production at the time.</p>

<p><img src="/assets/images/2026/2026-07-02/Mythical_man-month.jpg" alt="Mythical Man Month" class="align-center" /></p>

<p><a href="https://en.wikipedia.org/wiki/Fred_Brooks">Frederick Brooks</a> in the
<a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month">Mythical Man Month</a>, first
published in 1975, states that communication is vital in avoiding disaster. That was 51
years ago!</p>

<p><img src="/assets/images/2026/2026-07-02/how-to-win.jpg" alt="How To Win Friends and Influence People" class="align-center" /></p>

<p>We can go even further back to 1936 (90 years ago) and
<a href="https://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influence_People">How To Win Friends and Influence People</a>
by <a href="https://en.wikipedia.org/wiki/Dale_Carnegie">Dale Carnegie</a> who teaches you how to
communicate effectively.</p>

<p>This should not be news to anyone, and yet ask anyone in tech, or tech adjacent, and they
will be surprised. 🙄</p>

<p>…</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">

      <p><a href="https://en.wikipedia.org/wiki/Otaku">Otaku (おたく, オタク, or ヲタク)</a> is a Japanese
word meaning “to be alone”. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2">
      <p>True story. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Dr Yann Golanski</name></author><category term="people" /><category term="development" /><category term="cybersecurity" /><category term="development" /><category term="leadership" /><category term="management" /><category term="operations" /><category term="people" /><category term="software" /><category term="testing" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[Software production is a social thing, yet nobody is speaking about this.]]></summary></entry><entry><title type="html">Greenfield vs Brownfield Software</title><link href="https://firmamentum.io/development/2026/06/18/green-vs-brown-fields.html" rel="alternate" type="text/html" title="Greenfield vs Brownfield Software" /><published>2026-06-18T00:00:00+01:00</published><updated>2026-06-18T00:00:00+01:00</updated><id>https://firmamentum.io/development/2026/06/18/green-vs-brown-fields</id><content type="html" xml:base="https://firmamentum.io/development/2026/06/18/green-vs-brown-fields.html"><![CDATA[<p>At a place where I worked for a while, I was not a dev but I worked with them, and I got
to both see their decisions and influence some of them.</p>

<p>This place produced software for its own use - it ran a large and complicated website and
that required data handling, user decision handling, content management, and many other
pieces of software that heavily affected the flow of money.</p>

<p>One of the inevitabilities if you do this is you will need to revisit software that you
wrote years (occasionally even just months) ago and change it. Sometimes circumstances
have drifted so much that it is obviously time to rewrite it from scratch. Other times
such software just needs a few tweaks to catch up.</p>

<p>An uncomfortable number of times, devs are torn between the two. This happens a lot
because meddling with existing software, that is currently making money, is often left
until it’s unavoidable, and that coincides with that uncertainty line.</p>

<p>But here’s the thing; devs (myself included) much prefer greenfield. Start again. Make
something entirely new. A fully, empty playground for you to do whatever you want in.
Maybe even branch out into a new language, new framework, new patterns.</p>

<p>Brownfield is none of those things.</p>

<p>So when I came to ask for somebody to work on some code that clearly needed improvements -
operational improvements mainly, the functionality was largely good - I asked for a
certain senior developer from the owning team to take it on. He was, to say the least, not
thrilled.</p>

<p>So I had to sit him down and tell him why. Spread some wisdom. I’m old.</p>

<p>You see, the reason I want you to do this is because it’s brownfield, I explained. Yes,
yes, he knew. It’s boring, can’t one of the more junior people do it?</p>

<figure>
  
<img src="/assets/images/2026/2026-06-18/fields.png" alt="Brown and Green fields" class="align-center" />

  <figcaption>These are not the fields I am talking about…
</figcaption>
</figure>

<p>Ah, there we come to it. You see, greenfield is fun because it’s easy. No constraints.
Your choice of patterns. Nobody else’s thinking in the mix. Easy.</p>

<p>I want you because this is hard. This isn’t frolicking in the fields of code, this is
juggling two chainsaws and a live badger in a lift surrounded by live wires. This has
intermediate stages, every one of which needs to be both adding functionality and being
backwards compatible, until it’s time to not be.</p>

<p>Brownfield isn’t boring, it’s frustrating, and hard, and that instinct to start again
fresh (and to make all new mistakes that took months of pain and debugging to get out of
the previous version) is made of a dislike of that frustration and difficulty.</p>

<p>One of the common questions non-senior devs would ask is, what does it take for me to get
promoted to senior dev?</p>

<p>Well, there are various answers and some hurdles to pass, but let’s start with this:
<strong>show me a good brownfield project.</strong></p>

<h2 id="conclusion">Conclusion</h2>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>]]></content><author><name>John Denholm</name></author><category term="development" /><category term="brownfield" /><category term="greenfield" /><category term="software" /><category term="development" /><category term="programming" /><category term="operations" /><category term="leadership" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[Why should you re-write an old project from scratch. Why you should not. And, who should do which?]]></summary></entry><entry><title type="html">Safety vs Securitry</title><link href="https://firmamentum.io/security/people/2026/06/08/safety-vs-security.html" rel="alternate" type="text/html" title="Safety vs Securitry" /><published>2026-06-08T00:00:00+01:00</published><updated>2026-06-08T00:00:00+01:00</updated><id>https://firmamentum.io/security/people/2026/06/08/safety-vs-security</id><content type="html" xml:base="https://firmamentum.io/security/people/2026/06/08/safety-vs-security.html"><![CDATA[<h2 id="an-automobile-story">An automobile story</h2>

<p><em>Firmamentum’s legal council asked me not to mention the date this story took place, who
the people involved were, or the make/model of the car…</em></p>

<p>Once upon a time, a major car manufacturer was working on a new car. Their cars were
expensive and prone to be stolen, so security was at the forefront of their mind. Their
cars had a reputation of being especially safe, so the safety features would have to be
better than the ones they had previously. Continuous improvements, right?</p>

<p>Some clever marketing person suggested that they hire a former car thief to test the
security of their car. What a good idea. They found one, and all he requested was the
manual for the car. Because a good show is always welcome, the demonstration of the
attempted break in would be live. They were so sure. Can you see where this is going yet?</p>

<p><img src="/assets/images/2026/2026-06-08/car.png" alt="Car thief" /></p>

<p>Come the day, the thief is introduced. The car is revealed. Oohs and Ahs abound. All is
going so well. Then, the thief asks for a hammer. A simple humble hammer. No worries
whatsoever, the glass is reinforced, there’s been testing, no problem. The thief circles
the car, looks deep in thoughts, and slams the hammer into the front collision sensor of
the car.</p>

<p>BOOM goes the air bag.</p>

<p>As a safety feature, all the doors open. The thief smile, gets in the care, and hot wires
it.</p>

<p>Whoops…</p>

<h2 id="how-does-this-map-to-software">How does this map to software?</h2>

<p>There is a Unix philosophy that states: that a tool should do one and only one job. <code class="language-plaintext highlighter-rouge">ls</code>
lists files; <code class="language-plaintext highlighter-rouge">cd</code> changes directories; <code class="language-plaintext highlighter-rouge">find</code> finds specific items; <code class="language-plaintext highlighter-rouge">cat</code> concatenates
files; etc… The power comes from combinations of those different tools.</p>

<p>In operations, separation of concerns is also a must. One and only one service should run
on a machine (or VM, or pod or container image, …) at a time. Partly, this is driven by
security as well. It’s best not to have your customer database on the same machine that
host your email and web servers.</p>

<p>Why?</p>

<p>Well, if a threat actor breaks into your web server, they have access to your full
database. If they are two separate services, then there is a better chance of the threat
actor having only restricted access to the database.</p>

<p>But, it’s not just a security concern.</p>

<p>Imaging you have your web server and your email server on the same machine:</p>

<ul>
  <li>When an OS upgrade goes wrong, both your web server and your email server go down.</li>
  <li>If you get a DDOS attack on your web server, your email goes down too.</li>
  <li>If you get a massive influx of spam emails, your web server goes down too.</li>
  <li>If you want to have a second web server… Do you clone the machine and have two email
ones?</li>
  <li>A web admin has the same access than an email admin. They can interfere with each
other’s work.</li>
</ul>

<p><img src="/assets/images/2026/2026-06-08/network.png" alt="network" /></p>

<p>Monitoring of resources is much easier if you have different machines doing different
things. Upgrades are easier. Administration is easier. It’s a win-win.</p>

<p>However…</p>

<p>And this is a big one. In a car, you cannot have one safe and another one secure. This
does not work. Neither does it work when you are programming giant underwater robots: if
the robot’s legs are powered by 400 bar hydraulics, they will not notice a human body in
the way. This is where communication comes in! You need to be clear where the dangers are,
and what mitigations can be in place. Optimisation is done based on different, often
contradictory goals.</p>

<p>In mathematics optimisation theory, we call those
<a href="https://en.wikipedia.org/wiki/Bilevel_optimization">bilevel optimisation</a>. For example,
pick the best place to maximise a function while minimising a second one. The first
function could be a tool charge, while the second is the travellers desire to move to an
alternative route. Or safety vs security of the car…</p>

<h2 id="conclusion">Conclusion</h2>

<p>How would you address the car’s safety vs security concern?</p>

<p>Maybe a piece of code that detects whether there is a person in the car, or blocks the
engine, or have some good remote tracking, or what? What new problems does this cause?</p>

<p>This is the type of complexity that we’re looking for when we build software.</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>]]></content><author><name>Dr Yann Golanski</name></author><category term="security" /><category term="people" /><category term="that&apos;s-nice-what-is-it-for?" /><category term="safety" /><category term="security" /><category term="leadership" /><category term="communication" /><category term="culture" /><category term="operations" /><summary type="html"><![CDATA[What happens when two teams do not talk to each other? Nothing good.]]></summary></entry><entry><title type="html">Reduce user acceptance testing time by 60%, save a few millions</title><link href="https://firmamentum.io/development/2026/04/23/simulator-story.html" rel="alternate" type="text/html" title="Reduce user acceptance testing time by 60%, save a few millions" /><published>2026-04-23T00:00:00+01:00</published><updated>2026-04-23T00:00:00+01:00</updated><id>https://firmamentum.io/development/2026/04/23/simulator-story</id><content type="html" xml:base="https://firmamentum.io/development/2026/04/23/simulator-story.html"><![CDATA[<h2 id="story-time">Story time</h2>

<p>Once upon a time, in a country far far away, there was a giant underwater robot being
build. When I say, giant, I mean the robot was slightly bigger than a double decker
bus.<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup> It’s aim was to act as an emergency pipe repair. In case an underwater pipe
started leaking gas or oil, it could be deployed quickly to clamp it and reduce the
ecological impact of the leak. Then, planning could occur to properly fix it.</p>

<p>I was in charge of writing all the command and control software for the robot. As a note,
I will be using the royal we from now on. Yes, there were others involved, I was not a
lone wolf!</p>

<h2 id="the-problems">The problem(s)</h2>

<p>The main difficulty was that the robot was being built at the same time as the software
was being written. There was no way we could do hourly, or daily, or even weekly releases.
Also, the robot in question lived in a warehouse in the far away country and most
certainly did not have an internet connection. If you move a 400 bar hydraulic motor, you
want to make sure there is no human in the way because the hydraulic is not going to
notice crunching someone. Thus, no internet!</p>

<p>What we did have were electrical drawings showing which sensor was connected to which
input and outputs. But, we knew that these things change. One of the classic example is
leg up/down controls. Whatever the drawing says will have to pass mechanical constraints.
Doing it the drawing way involves cables crossing and that means that the casing no longer
locks so water can get in. So, they get swapped. The technical drawing should be updated,
but …</p>

<p>I decided to do three things:</p>

<ol>
  <li>Write a <strong>hardware simulator</strong> with a <strong>world model</strong>. If an input meant the leg was
going up, then the simulator would change the world model to reflect that and its
impact would be felt in other aspects of the model.</li>
  <li>Write <strong>TDD tests</strong> first for everything. Some of them were, by nature, not true unit
tests since they had incestuous knowledge of the internals of the code. But, as the
<a href="https://www.albertosavoia.com/uploads/1/4/0/9/14099067/thewayoftestivus.pdf">Way of Testivus</a>
states, <em>better a bad test today than a perfect one tomorrow</em>.</li>
  <li>Write <strong>BDD stories</strong> for the each feature. The goal was to make sure that the most
common operations were taken care of and were well defined.</li>
</ol>

<p>It did take longer to write the software. But, was it worth it?…</p>

<h2 id="the-result">The result</h2>

<p>We went to the far away country and worked 12 hours shifts for two weeks, including
weekends. This involved dozens of people: hardware engineering, mechanical engineering,
electrical engineering, and a few divers as well as a crane to drop the robot in the
water. Thankfully, there was no boat and no trip in the middle of the sea.</p>

<p><img src="/assets/images/2026/2026-04-23/remote-welding-control-cabin.png" alt="Remote control cabin" /></p>

<p>The above image is one of the cabins where we ran the software from. The red / orange
suits were very fetching. After all, we needed to be seen in the warehouse.</p>

<p>By Wednesday of the first week, it was clear we would not be needed in week two. By
Friday, we were on our way home.</p>

<p><strong>60% time saved.</strong></p>

<p>Nice.</p>

<p>What does this mean? It means, operation costs saved, time saved so the people can focus
on different projects, and an assurance of quality. Probably several million euros saved
right there.</p>

<h2 id="conclusion">Conclusion</h2>

<p>Two side effects happened as a result of this. First, my company got a lovely letter from
the project leadership saying it was the smoothest, best quality software they had ever
got from us. This was timely since our contract was being renewed.</p>

<p>Second, several years after I left the company, a developer there reached out to me. They
wanted to personally thank me for the work I did on the simulator. It was still being used
to save time and test code years later. The initial layout of resources to code the
simulator paid for itself in more than one project, over ten years<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup>.</p>

<p>I have done this before and I can do it again for your company.</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">

      <p>I wish I had some photos to show you, but I could not take any at the time and I could
not find anything on the Internet. Trade secrets and all that. ¯\_(ツ)_/¯ <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2">

      <p>A vague number. The simulator did require maintenance, changes, and updates. However,
these never detracted from its usefulness. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Dr Yann Golanski</name></author><category term="development" /><category term="leadership" /><category term="testing" /><category term="sqa" /><category term="simulation" /><category term="quality" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[A story of how I reduced the user acceptance testing time by 60% of a giant underwater robot.]]></summary></entry><entry><title type="html">Why You’re Losing Customers Through Software, Not Marketing</title><link href="https://firmamentum.io/people/2026/04/16/why.html" rel="alternate" type="text/html" title="Why You’re Losing Customers Through Software, Not Marketing" /><published>2026-04-16T00:00:00+01:00</published><updated>2026-04-16T00:00:00+01:00</updated><id>https://firmamentum.io/people/2026/04/16/why</id><content type="html" xml:base="https://firmamentum.io/people/2026/04/16/why.html"><![CDATA[<h2 id="the-start">The start…</h2>

<p>You have a great idea.</p>

<p>It solves a problem people have. You do your market research, and people want it. You even
talk to your VC and Angel investors and they tell you it’s a great idea — Let me know when
you’re raising funds they say. Perfect! Let’s go 🚀!</p>

<p>Your team is awesome. You have a fantastic CTO / founding engineer and Claude can
prototype your application in days, not months. Your marketing team (also you?) works
overtime to get those sales calls. All is going well, you’re doing Series A and B funding
rounds.</p>

<p>But something is nagging you now. You’re not closing enough. Sales cycles are getting
longer and longer. Your existing customers are leaving. What is going on?</p>

<h2 id="why-are-things-falling-apart">Why are things falling apart?</h2>

<p>There are many answers to this and this is but a short overview of the things we have
seen. It’s also the things we help you fix if you find yourself in a similar situation.</p>

<p>As your team grows, new people join in and the culture changes massively. It stops from
being a fun start-up where we break things and move fast to a grown up company. It is now
impossible to do all the things: you must delegate, relinquish control, and learn how to
do less yourself. This means letting go. It is hard when it’s your baby. Even if you hire
the best of the best in their field. <a href="/people/2026/01/22/people-foundation.html">This is what our foundation of People is
about.</a></p>

<p><img src="/assets/images/2026/2026-04-16/deadline.png" alt="Developer's Deadline" /></p>

<p>Your developers are starting to drown in technical debt, which of course, is
<a href="https://firmamentum.io/people/2025/06/12/hidden-costs-debt.html">not a technical problem</a>
but a business one — Back to leadership! Features are taking longer and longer to write,
the quality of the code goes down, and more and more time is spent on fixing new and old
bugs. After all, for $1 spent on development, $0.50 is spent on bug fixing. 😱
<a href="/development/2026/01/29/development-foundation.html">This is what our foundation of Development is
about.</a></p>

<p>Reliability failures lead to frequent crashes, bugs, or downtime which erode trust.
Customers expect software to work seamlessly, and repeated failures push them to
competitors. Small predictable downtimes are fine, but repeated errors are not.
Observability goes hand in hand with this. It helps you see what goes wrong early, where
to optimise, and why your AWS bill is over £100k per month. <a href="/operations/2026/02/12/operations-foundation.html">This is what our foundation
of Operations is about.</a></p>

<p><img src="/assets/images/2026/2026-04-16/security-card.png" alt="Secuirty Scorecard" class="align-center" /></p>

<p>Cybersecurity is another one. Most companies will evaluate yours using
<a href="https://platform.securityscorecard.io">Security Scorecard</a> or similar tools.
<a href="https://platform.securityscorecard.io/#/scorecard/firmamentum.io/company-overview">Ours ranks as an A(100)</a>,
if you wanted to check it out. Your customers will run a security scanner on your
services, just to see what happens. And they might even ask for a SBOM report or require
SOC-2 / ISO 27,001 compliance certification. It’s a cost which offsets the risk of
incidents. We all know data breaches or weak security measures damage reputation and
trust. Customers prioritize security and will leave if their data is at risk. <a href="/security/2026/02/05/security-foundation.html">This is
what our foundation of Security is
about.</a></p>

<p>AI (LLM) do enhance developers allowing them to write much faster code. Although, this
moves the bottle neck in your pipeline elsewhere. And the quality of that code might not
be as good as you think it is:
<a href="https://www.coderabbit.ai/whitepapers/state-of-AI-vs-human-code-generation-report">1.7 more bugs, whose impact is twice as serious</a>
might not be what you wanted when you got those Copilot and Claude subscriptions. <a href="/ai/2026/02/19/AI-foundation.html">This is
what our foundation of AI is about.</a></p>

<h2 id="conclusion">Conclusion</h2>

<p><strong>Does this resonate with you?</strong></p>

<p>If so, please <a href="/contact">book a call with us</a>. We can help. It’s what we do.</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>]]></content><author><name>Dr Yann Golanski</name></author><category term="people" /><category term="that&apos;s-nice-what-is-it-for?" /><category term="leader" /><category term="leadership" /><category term="management" /><category term="development" /><category term="operations" /><category term="cybersecurity" /><category term="security" /><category term="AI" /><category term="machine-learning" /><category term="LLM" /><summary type="html"><![CDATA[Why? Oh why? The answser is surprisingly simple]]></summary></entry><entry><title type="html">Hello World and Others…</title><link href="https://firmamentum.io/people/2026/04/08/Artemis-II.html" rel="alternate" type="text/html" title="Hello World and Others…" /><published>2026-04-08T00:00:00+01:00</published><updated>2026-04-08T00:00:00+01:00</updated><id>https://firmamentum.io/people/2026/04/08/Artemis-II</id><content type="html" xml:base="https://firmamentum.io/people/2026/04/08/Artemis-II.html"><![CDATA[<h2 id="space-the-final-frontier">Space, the Final Frontier</h2>

<p>Artemis II is a spacecraft that took mankind back to the stars.
<a href="https://www.nasa.gov/gallery/lunar-flyby/">The images can be seen here</a> and eventually
the mission will lead to a permanent presence of humanity on the Moon. The gates of space
opera are no longer closed, but opened.</p>

<p><strong>What has this to do with software I hear you say?</strong></p>

<p>It is not about
<a href="https://www.techradar.com/computing/software/i-have-two-microsoft-outlooks-and-neither-one-is-working-artemis-ii-astronauts-have-the-most-relatable-complaint">“I have two Microsoft Outlooks and neither one is working”</a>,
although this post could well be about that.</p>

<h2 id="software-in-space">Software in Space</h2>

<p>The <a href="https://www.nasa.gov/mission/artemis-ii/">Artemis II</a> mission is a fine example of
how software, operations, and security mingle together. Let’s take a walk through the
process. And, before you ask, I had nothing to do with any of it. I never worked at NASA.
¯\_(ツ)_/¯</p>

<p>If your company was writing the software for the spacecraft, how would you write it? Would
you vibe code the whole thing with Claude? Would you use the latest language du jour?
Let’s go with <a href="https://rust-lang.org/">Rust</a>. Would there be any guidance as to how it is
written? How much testing would you do? Is 70% test coverage good enough or would you want
to see each line of code executed by two (or more) distinct tests?</p>

<p>How about operations? How do you test that your code works as expected on the hardware
which is still being built? What happens if you need to patch things as they run? What
metrics do you decide to show to the crew, which are are for computers to read, and which
ones go into the black box? Which version of Kubernetes do you run locally? How about
X-ray radiation impact on the hardware?</p>

<p>Do you run a firewall? More than one? How about the link between the space craft and the
ground? Do you insist on a TLS certificate? When is that going to renew? Or is the comms
okay unencrypted. What could go wrong?</p>

<p>In space, no one can hear you scream. If things go wrong, the crew perishes. The craft is
lost. The mission is a failure. Do you have what it takes?</p>

<h2 id="conclusion">Conclusion</h2>

<p>Does this appear to be daunting task? Are you not doing all this already? This is what we
do: we plan and make sure that it’s boring:</p>

<p><strong>No drama. No panic. No crisis</strong>.</p>

<p>Sounds like something you could do with?</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>]]></content><author><name>Dr Yann Golanski</name></author><category term="people" /><category term="that&apos;s-nice-what-is-it-for?" /><category term="leader" /><category term="leadership" /><category term="development" /><category term="operations" /><category term="space" /><category term="artemisII" /><category term="moon" /><category term="earth" /><category term="nasa" /><summary type="html"><![CDATA[The new images from Artemis II are here. They are utterly stunning, but what do they have to do with software?]]></summary></entry><entry><title type="html">It’s too easy to do…</title><link href="https://firmamentum.io/operations/people/2026/04/02/over-automation.html" rel="alternate" type="text/html" title="It’s too easy to do…" /><published>2026-04-02T00:00:00+01:00</published><updated>2026-04-02T00:00:00+01:00</updated><id>https://firmamentum.io/operations/people/2026/04/02/over-automation</id><content type="html" xml:base="https://firmamentum.io/operations/people/2026/04/02/over-automation.html"><![CDATA[<h2 id="a-deceptive-problem">A Deceptive Problem</h2>

<p>As I write, NASA is preparing to send 4 astronauts into lunar orbit.  Fuel is the major component
by weight, but I would wager that if measured by complexity, a major fraction or even a majority
of the equipment on board is to do with crew survival.  If a robot blows up, freezes and won’t
wake, loses comms or just loses its way, well, that was expensive but we can just try again.
Losing people is not acceptable.  So… why <em>are</em> we sending anyone?</p>

<p>Why don’t we just send drones?  Drones are now dominating the battlefield in several current wars.
But once again, we are wary of fully autonomous drones, instead preferring FPV drones guided by an
operator.</p>

<p>What is it that NASA and the world’s most advanced militaries are aware of, that apparently AWS -
hardly a technological laggard - forgot last December?</p>

<p>It’s that writing good automation is very hard.  People make complex decisions, weighing many
subtle factors.  Automation… not so much.</p>

<p>It’s painfully easy to get overtaken by the hype of how much money automation will save you, in
salaries, training, seats, time.  You name the resource, automation will improve things.  Even
computing power - a script needs less computer resources than an employee.</p>

<p>What those highly advanced organisations know is that if you attempt too much automation, you will
be limited by needing to simplify your task to permit automation to succeed.  If the task is simple,
scripts, frameworks, even AI agents are fine.  If not, we still need humans.</p>

<p>Is your business so simple that a script, an app, or an AI can run it?  What does a CTO contribute
there, exactly?  Ha-ha, just kidding, I’m sure you could all tell me <em>at length</em> why your job
cannot be automated.  But, are you sure that when you look at your employees and see automation
opportunities, that you take the time to find out why trying to automate them away is a mistake?
Do you listen <em>at length</em>?</p>

<h2 id="conclusion">Conclusion</h2>

<p>There are various symptoms of over-reliance on automation.  Know that going too far will look
great, until it doesn’t.  Finding the right balance is <em>hard</em>.</p>

<p>…</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>]]></content><author><name>johnd</name></author><category term="operations" /><category term="people" /><category term="automation" /><category term="devops" /><category term="at-length-dont-you-know" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[The perils of believing your own hype]]></summary></entry><entry><title type="html">Not seeing the forest for the trees?</title><link href="https://firmamentum.io/people/development/security/operations/2026/03/26/forest.html" rel="alternate" type="text/html" title="Not seeing the forest for the trees?" /><published>2026-03-26T00:00:00+00:00</published><updated>2026-03-26T00:00:00+00:00</updated><id>https://firmamentum.io/people/development/security/operations/2026/03/26/forest</id><content type="html" xml:base="https://firmamentum.io/people/development/security/operations/2026/03/26/forest.html"><![CDATA[<p><img src="/assets/images/2026/2026-03-26/Aokigahara-1.jpg" alt="Aokigahara forest" /></p>

<h2 id="lost-in-the-details">Lost in the details</h2>

<p>Generally, this means being unable to grasp the overall situation because one is focused
on the minor details. It happens to all of us, and despite really wanting not to repeat
it, we find ourselves in the same situation again and again.</p>

<p>Like being lost in a forest full of ghosts<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup>, we get lost in the day to day hustle of
creating software. There are always deadlines, be they self constrained, or something that
Sales have sold and must be delivered by a specific date. Looking at the next round of
funding, watching the runway get smaller and smaller. The pressure is unrelenting.</p>

<p><img src="/assets/images/2026/2026-03-26/alexey-egorov-deadline.jpg" alt="Deadlines" /></p>

<h2 id="what-goes-wrong">What goes wrong?</h2>

<p>We focus on getting customers requirements, generating specification, or trying to
articulate a coherent vision. Agile tells us to iterate a lot, but that’s not always
possible, for example in safety critical industries.</p>

<p>We focus on optimising the code, writing it faster and faster with AI while getting as
much testing done as possible. Code reviews become a distraction and a road block, leading
to <code class="language-plaintext highlighter-rouge">LGTM</code> (Looks Good To Me) comments or worse, descending into tabs vs spaces flame wars.</p>

<p>Security can wait until we have a product. It’s a distraction and a road block. We can fix
it later. Well, chances are you won’t have a choice if there is breach or you will have to
refactor swaths of code.</p>

<p>How hard can operations be? It’s just a docker image, right? Throw it over the fence and
let the DevOps/SRE worry about it. What else are they going to do? We can do multiple
releases per day so what does it matter if one fails? AI can fix it for us.</p>

<p><img src="/assets/images/2026/2026-03-26/yak-shaving-template.png" alt="Yak shaving template" /></p>

<p>Fix the current problem. No matter how many
<a href="https://en.wiktionary.org/wiki/yak_shaving">yaks one needs to shave</a>, it is worth doing
now. No, yesterday!</p>

<p>This is known as head-on-fire optimisation. And, we’ve all been there. We’ll be there
again.</p>

<h2 id="aside-in-mathematics">Aside in Mathematics</h2>

<p>In Mathematical optimisation theory, there are two types of maxima, local and global
ones.<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup> When trying to optimise a function, one of the most common trap is to focus on
the local ones. Sometimes, an optimisation technique will focus on that and never escape.
Yes, the solution is good, but it’s not optimal.</p>

<p>This is exacerbated in bi-level optimisations, where you aim to reduce one function while
maximising another. This is what happens when you try to set a congestion charge: Maximise
the revenue while minimising the congestion. It is really hard.</p>

<p>Almost all optimisation algorithms have an inbuilt systems to try to escape local maxima.
The details vary, but it’s (nearly) always there.</p>

<p>So, what’s the solution in the software world?</p>

<h2 id="the-solution">The Solution???</h2>

<p><em>There is no one-size fits all solution.</em></p>

<p>There are things I do that helped me in the past. One that stands out is to step back,
have a walk, and let my subconscious do the work for me. It’s quite good at coming up with
weird and interesting solutions. A good night sleep helps too!</p>

<p>Another would be to take our <a href="/health-check">MOT</a>. It’s been designed based on our 100
years of experience with all the above in mind. It’s a gap analysis. It’s a health check.
It’s therapy. It’s discovering what is wrong. This is why we sign an NDA! We want you to
be able to say the truth otherwise, we cannot help.</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">

      <p>The photo is from <a href="https://en.wikipedia.org/wiki/Aokigahara">Aokigahara (青木ヶ原)</a>
AKA the Sea of Trees (樹海), a well know haunted forest in Japan. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2">
      <p>The same is true of minima, but that’s neither here or there for this. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Dr Yann Golanski</name></author><category term="people" /><category term="development" /><category term="security" /><category term="operations" /><category term="leadership" /><category term="mot" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[Oftentimes, it is easy to focus and locally optimise specific issues and ignore the bigger picture.]]></summary></entry><entry><title type="html">What’s in a name?</title><link href="https://firmamentum.io/people/2026/03/19/whats-in-a-name.html" rel="alternate" type="text/html" title="What’s in a name?" /><published>2026-03-19T00:00:00+00:00</published><updated>2026-03-19T00:00:00+00:00</updated><id>https://firmamentum.io/people/2026/03/19/whats-in-a-name</id><content type="html" xml:base="https://firmamentum.io/people/2026/03/19/whats-in-a-name.html"><![CDATA[<h2 id="how-to-chose-a-name">How to chose a name?</h2>

<p><em>A beginning is a very delicate time. Know then, that it is the year 10191…<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></em></p>

<p>Err… I mean, 2024 and we were starting our new company. We were looking for a name that
would be both memorable and would represent our values. Being from a theoretical
astrophysics background, I suggest a latin word for the firmament of the sky… And then, we
looked into more detail at the definition and the rest, as they say, was history.</p>

<h2 id="firmamentum">Firmamentum</h2>

<p>The definition of <a href="https://en.wiktionary.org/wiki/firmamentum">Firmamentum</a> has three
meanings:</p>

<ol>
  <li>A <strong>strengthening</strong>, support, prop, stay.</li>
  <li>The <strong>firmament</strong>; the sky fixed above the earth.</li>
  <li>The main point or <strong>crux</strong> (of an argument).</li>
</ol>

<p>We chose the name as these three things relate perfectly to what we do.</p>

<p><img src="/assets/images/2026/2026-03-19/pillars.png" alt="The milky way" class="centered" /></p>

<p>First, a <strong>strengthening</strong> of you software functions, based on five foundations of
<a href="/people/2026/01/22/people-foundation.html">people</a>,
<a href="/development/2026/01/29/development-foundation.html">development</a>,
<a href="/security/2026/02/05/security-foundation.html">security</a>,
<a href="/operations/2026/02/12/operations-foundation.html">operations</a>, and
<a href="/ai/2026/02/19/AI-foundation.html">AI</a>,</p>

<p>We look at how the C-suite’s vision is communicated in the day-to-day work for clarity of
purpose. Which development best practices suite your business and add a robust quality
assurance, ensuring efficiency and predictability. Shift left of operations and security
to ensure robustness and resiliency. And finally, how AI can be used to enhance those
things to make your business more efficient and profitable.</p>

<p><img src="/assets/images/2026/2026-03-19/gallaxy.png" alt="The milky way" class="centered" /></p>

<p>Second, the <strong>firmament</strong> where, if you apply our proven advice, you will soar to. This is
not idle talk. We have reduced testing times by 60%, slashed AWS bills by 40% while
increasing reliability, and applied AI in medical devices to support medical staff.</p>

<p>Our <a href="/health-check">MOT is a gap analysis</a> of all the pillars and foundations which make
your software. It is simple because we have spent over a century looking at it between us.
Once you have de-risked, you can <a href="/optimise">optimise</a> which is what we do next! And this
is what people think of us:</p>

<figure class="half ">
  
    
      <a href="/assets/images/2026/2026-03-19/quote-1.png" title="A quote about our MOT">
          <img src="/assets/images/2026/2026-03-19/quote-1.png" alt="Quote 1" />
      </a>
    
  
    
      <a href="/assets/images/2026/2026-03-19/quote-2.png" title="A second quote about our MOT">
          <img src="/assets/images/2026/2026-03-19/quote-2.png" alt="Quote 2" />
      </a>
    
  
    
      <a href="/assets/images/2026/2026-03-19/quote-3.png" title="A quote about deep work we did.">
          <img src="/assets/images/2026/2026-03-19/quote-3.png" alt="Quote 3" />
      </a>
    
  
    
      <a href="/assets/images/2026/2026-03-19/quote-4.png" title="A second quote about deep work we did.">
          <img src="/assets/images/2026/2026-03-19/quote-4.png" alt="Quote 4" />
      </a>
    
  
  
    <figcaption>Testimonials from our clients, from the MOT and optimisation services
</figcaption>
  
</figure>

<p>Finally, the <strong>crux</strong> of the argument: We disagree between ourselves. And those
disagreements are where our true value shines. We have different experiences, different
views, and different ideas. Like Forbes keeps saying,
<a href="https://www.forbes.com/sites/roncarucci/2024/01/24/one-more-time-why-diversity-leads-to-better-team-performance/">diverse teams are more effective</a>.
There is no one way of doing things, some things will make more sense for you than others.
Hearing us speak about it will spark understanding.</p>

<h2 id="conclusion">Conclusion</h2>

<p>So, what’s in a name? <strong>Everything!</strong></p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">

      <p>This is indeed a quote from the David Lynch version of Dune as spoken by Princess
Irulan at the start of the movie. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Dr Yann Golanski</name></author><category term="people" /><category term="processes" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[More than branding, it's a deliberate view of what we do, a Latin word that resonates with our values to help you achieve greatness.]]></summary></entry><entry><title type="html">Security debt, a horrid side effect of Business/Technical debt</title><link href="https://firmamentum.io/operations/security/2026/03/12/security-debt.html" rel="alternate" type="text/html" title="Security debt, a horrid side effect of Business/Technical debt" /><published>2026-03-12T00:00:00+00:00</published><updated>2026-03-12T00:00:00+00:00</updated><id>https://firmamentum.io/operations/security/2026/03/12/security-debt</id><content type="html" xml:base="https://firmamentum.io/operations/security/2026/03/12/security-debt.html"><![CDATA[<h2 id="storm-in-a-tea-cup">Storm in a tea cup!</h2>

<p>Technical debt is a techie problem, the business should not pay for it. If you have some
technical debt, it’s because you hired some bad staff. The good ones get everything right.</p>

<p>I have heard this way too often from both CEO and COO who do not really get it. And that’s
because technical debt is not a technical problem, yet by calling it technical, we create
a barrier to understanding that it is a <strong>business problem.</strong> Let’s look at a tiny aspect
of it, that of security…</p>

<p>Of course, no one seems to want to improve their security nowadays: ship fast, break
things, and let the next person worry about it, right?</p>

<p><img src="/assets/images/2026/2026-03-12/hacker.jpg" alt="Hack in a mask" class="centered" /></p>

<p>One person who does care is the hacker. They are going to make thousands from you as you
lose millions in the process. Or worse, they’re just going to get kudos from their l337
h4ck3r<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup> friends.</p>

<h2 id="the-security-debt-problem">The Security Debt Problem</h2>

<p>Applications continue to ship with known weaknesses even as development workflows speed
up. A new
<a href="https://www.datadoghq.com/state-of-devsecops/">Datadog State of DevSecOps 2026 report</a>
examines how dependency management and pipeline practices are influencing exposure across
cloud native environments.</p>

<p>Across the environments studied, <strong>87% of organizations run at least one exploitable
vulnerability in production services</strong>, affecting 40% of those services. This condition
points to a persistent accumulation of security debt inside deployed software stacks.
<a href="https://www.helpnetsecurity.com/2026/03/02/devsecops-supply-chain-risk-security-debt/">Your dependencies are 278 days out of date and your pipelines aren’t protected</a>.</p>

<p>What happens next? You get hacked. Your customer data is stolen and leaked on the dark
web. Your customers curse you and leave in droves. Your name is in the news as the weekly
company that treated security as an after thought. And everyone laughs behind your back.</p>

<h2 id="how-do-you-fix-it">How do you fix it?</h2>

<p>We know it is possible as is shown here:
<a href="https://www.helpnetsecurity.com/2026/03/02/uk-vulnerability-monitoring-service-and-cyber-profession/">UK reduces cyberattack fix times from two months to eight days</a>.
But, how?</p>

<p>First, patching is critical. You need to have a rolling update of all your dependencies.
It costs resources and is not glamorous but it is needed. How it works is simple:</p>

<ul>
  <li>Week 1: Patch all dependencies in development and fix all the new issues it causes.</li>
  <li>Week 2: The patches get into the testing environment and are explicitly tested.</li>
  <li>Week 3: The patches get into the staging environment and are monitored for failures.</li>
  <li>Week 4: The patches are deployed into production.</li>
</ul>

<p>If you really want to be efficient, this means that every week your developers patch their
dependencies.</p>

<p>Second, there are plenty of
<a href="https://owasp.org/www-community/Free_for_Open_Source_Application_Security_Tools">open sourced and free security scanners</a>.
There are, of course, many pay for tools as well —
<a href="https://www.aikido.dev/blog/top-open-source-dependency-scanners">for example…</a>. Running
one of these in your CI/CD pipeline is a sure way to find out which need to be updated as
a priority. Of course, this is only as good as those tools are good. Still, having
multiple ones is not hard to set up and is a good way to catch those elusive
vulnerabilities. One problem here is that of false positives: you must review it all which
can lead to alert fatigue.</p>

<p>Finally, and most importantly, as technical leadership we need to make sure that the
business at large understands that this is not a cost. <strong>It is protecting your revenue
stream.</strong> It is the equivalent of locking your car and taking the keys with you, not
leaving the key in the ignition in the car park. You need to set resources (technical,
monetary, and time) to protect your revenue stream. How much is often dictated by your
company’s risk appetite: How much would a breach cost you?</p>

<h2 id="conclusion">Conclusion</h2>

<p>This is just a tiny aspect of the problem. It is an opportunity to change minds, to
educate senior leadership who, for entirely understandable reasons, do not understand this
aspect. This is what I have done many time in the past, and I can do again for you.</p>

<p>Imagine, if you will, a day when all the drama is removed from your software production:
no panic, no crisis, just smooth software releases that exceed your customer’s
expectations. This is what we have done in the past and can do for you.</p>

<p><a href="/contact">How about getting in touch to see how we can help you?</a></p>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">

      <p>If you are not familiar with <a href="https://en.wikipedia.org/wiki/Leet">leet</a>, I am so sorry
I introduced you to it. My apologies. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Dr Yann Golanski</name></author><category term="operations" /><category term="security" /><category term="dev-environment" /><category term="devops" /><category term="devsecops" /><category term="environment" /><category term="processes" /><category term="patching" /><category term="third-partry-dependencies" /><category term="that&apos;s-nice-what-is-it-for?" /><summary type="html"><![CDATA[87% of organizations run at least one exploitable vulnerability in production services, affecting 40% of those services. Is yours one of those?]]></summary></entry></feed>