<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ole M.R. Rabanal</title><link>https://omrr.no/</link><description>Recent content on Ole M.R. Rabanal</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 28 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://omrr.no/index.xml" rel="self" type="application/rss+xml"/><item><title>Most software fails before anyone writes a line of code</title><link>https://omrr.no/philosophy/software-fails-before-code/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://omrr.no/philosophy/software-fails-before-code/</guid><description>&lt;p&gt;By the time a project is visibly in trouble, the decision that doomed it is&#10;usually months old. The code is rarely the problem. The problem is that the&#10;system was asked to do something nobody had stated precisely, for a business&#10;process nobody had mapped, under constraints nobody had written down.&lt;/p&gt;&#10;&lt;p&gt;This is why I keep ending up in the same kind of room: aging systems nobody&#10;fully understands, rewrites that stalled halfway, organisations caught between&#10;what the business wants and what engineering can deliver. These look like&#10;engineering failures from the inside. They almost never are.&lt;/p&gt;</description></item><item><title>Getting the thinking right up front is what makes AI build the right thing</title><link>https://omrr.no/philosophy/thinking-up-front/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://omrr.no/philosophy/thinking-up-front/</guid><description>&lt;p&gt;The arrival of capable code generation did not change what makes software&#10;succeed. It changed the cost of the failure mode. Vague intent has always&#10;produced software that merely looks right; what is new is how quickly, and how&#10;plausibly, it can now be produced.&lt;/p&gt;&#10;&lt;p&gt;A model given a loose description will return something confident and complete.&#10;It will not stop to ask which of the four possible readings you meant, because&#10;nothing in the request signals that there were four. The output compiles, it&#10;demos, and it encodes an interpretation nobody chose.&lt;/p&gt;</description></item><item><title>Design so every developer delivers a little better</title><link>https://omrr.no/philosophy/every-developer-delivers-better/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://omrr.no/philosophy/every-developer-delivers-better/</guid><description>&lt;p&gt;Most advice about building software assumes a team you do not have. Hire&#10;exceptional people; give them autonomy; get out of the way. It is good advice&#10;and it is rarely actionable. Real teams are assembled from who was available,&#10;at the rate the budget allowed, in the town the office is in.&lt;/p&gt;&#10;&lt;p&gt;The structure those people work inside, though, is something you can change.&#10;And it determines a surprising amount of what they are able to produce.&lt;/p&gt;</description></item><item><title>Modernising a data platform for a telecom provider</title><link>https://omrr.no/projects/telecom-data-platform/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://omrr.no/projects/telecom-data-platform/</guid><description>&lt;p&gt;A legacy platform had grown across thirteen repositories, roughly sixty&#10;endpoints and around two hundred stored procedures. Nobody held the whole&#10;picture. The work was to recover the business logic buried in it, and to&#10;replace it with something that produced the same outcomes from far fewer&#10;moving parts.&lt;/p&gt;&#10;&lt;h2 id="context"&gt;Context&lt;/h2&gt;&#10;&lt;p&gt;A leading telecom provider, from August 2025, as architect through Sonat AS.&lt;/p&gt;&#10;&lt;p&gt;It is a classic pattern: an old system is given more and more responsibility&#10;over time, and grows to meet it. Business rules ended up mostly in the&#10;database, as stored procedures with no version history, no tests, and no&#10;boundary between one domain and the next. The behaviour was real and the&#10;business depended on it, but it was not written down anywhere except in the&#10;implementation.&lt;/p&gt;</description></item><item><title>Recovering the business logic from an integration platform</title><link>https://omrr.no/projects/integration-platform-recovery/</link><pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate><guid>https://omrr.no/projects/integration-platform-recovery/</guid><description>&lt;p&gt;A food company was building a new integration platform for products delivered&#10;by subcontractors. The system it was replacing was live, unversioned, and the&#10;only remaining record of a large amount of business logic.&lt;/p&gt;&#10;&lt;h2 id="context"&gt;Context&lt;/h2&gt;&#10;&lt;p&gt;August to October 2022, through Sopra Steria.&lt;/p&gt;&#10;&lt;p&gt;The legacy system had to move, but a great deal of its business logic was not&#10;easy to reach. The deployed Java was unversioned — no history to read and no&#10;intermediate states to compare, so the reasoning behind any given behaviour was&#10;not recoverable from the code alone. Alongside it sat databases whose stored&#10;procedures also needed investigating and documenting. The logic had to be&#10;improved and optimised on the way out, not simply transcribed.&lt;/p&gt;</description></item><item><title>Trygg Tunnel — tunnel management for Statens Vegvesen</title><link>https://omrr.no/projects/statens-vegvesen-case-management/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://omrr.no/projects/statens-vegvesen-case-management/</guid><description>&lt;p&gt;Statens Vegvesen and Vegdirektoratet both work on tunnels and had no shared&#10;system or process for managing them. Trygg Tunnel was built to give them one —&#10;and produced something along the way that had never existed before: a single&#10;view of the status of every tunnel in the country.&lt;/p&gt;&#10;&lt;h2 id="context"&gt;Context&lt;/h2&gt;&#10;&lt;p&gt;March 2020 to April 2022, through Sopra Steria.&lt;/p&gt;&#10;&lt;p&gt;Statens Vegvesen plans, builds and maintains Norway&amp;rsquo;s national and county&#10;roads. Vegdirektoratet and Statens Vegvesen work together often, and needed a&#10;common system and process for managing tunnels. The web application covers the&#10;full tunnel lifecycle — planning, carrying out safety inspections, following up&#10;faults, and maintenance.&lt;/p&gt;</description></item><item><title>Production lines for the ParQSense sensor and base station</title><link>https://omrr.no/projects/parqsense-production-lines/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0000</pubDate><guid>https://omrr.no/projects/parqsense-production-lines/</guid><description>&lt;p&gt;Software that builds physical products has an unusual property: the output is&#10;not a result on a screen, it is a device that leaves the building and cannot be&#10;patched afterwards.&lt;/p&gt;&#10;&lt;h2 id="context"&gt;Context&lt;/h2&gt;&#10;&lt;p&gt;August 2018 to December 2019, at Q-Free ASA in Trondheim, in a supply chain&#10;team that owned both the hardware and the software for the production lines.&lt;/p&gt;&#10;&lt;p&gt;Two closely related projects, each producing one production line: one for&#10;single IoT parking sensor units, and one for the base station that multiple&#10;parking units communicate with.&lt;/p&gt;</description></item><item><title>Production line for the RSE651 tolling transceiver</title><link>https://omrr.no/projects/rse651-transceiver-line/</link><pubDate>Sat, 01 Sep 2018 00:00:00 +0000</pubDate><guid>https://omrr.no/projects/rse651-transceiver-line/</guid><description>&lt;p&gt;The RSE651 is a DSRC transceiver — the unit in a tolling lane that communicates&#10;with the electronic toll tags in passing vehicles. This was the production line&#10;that manufactures it.&lt;/p&gt;&#10;&lt;h2 id="context"&gt;Context&lt;/h2&gt;&#10;&lt;p&gt;August to September 2018, at Q-Free ASA in Trondheim.&lt;/p&gt;&#10;&lt;p&gt;The line is semi-automated: operators assemble and move products from one step&#10;to the next through the production process. The team was a project manager, a&#10;hardware electrical engineer, and a software engineer.&lt;/p&gt;</description></item><item><title>Curriculum Vitae</title><link>https://omrr.no/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://omrr.no/cv/</guid><description/></item></channel></rss>