LeadingAgile is Now LiminalArc. Read the Full Announcement

Move beyond isolated AI experiments to build scalable, domain-driven systems with AI-ready architectures.

Enhance valuation and accelerate ROI through due diligence, tech migrations, and strategic restructuring.

Control cloud costs, streamline data, and focus investments on high-value, scalable solutions.

Streamline operations and improve decision-making by aligning your ERP systems with how your business actually works.

Reduce risk and increase resilience by closing the security gaps hiding in your architecture and workflows.

Optimize operations, restructure teams, and modernize technology to maximize the value of digital investments.

Deliver mission-critical software in production-ready increments that create measurable value early.

Reduce risk and complexity with every cycle, turning legacy systems into platforms that can evolve.

The belief that shaped us — and how it evolved into LiminalArc, the natural next step in our journey.

Our team of over 100 experts spans the nation, from consultants and technical architects to product specialists.

We are looking to hire mature, pragmatic consultants who are deeply passionate about meaningful change.

Keeping Life-Critical Decision Support Applications Shippable

Reading: Keeping Life-Critical Decision Support Applications Shippable
Keeping Life-Critical Decision Support Applications Shippable

In an earlier life, I coded several different life-critical applications that aided decision support in complex domains. Domains where a mistake could result in people being injured or dying. As the code was written, new use cases were discovered. What if there is a 2,000-pound baby with kidney failure? Is that a typo or a real thing? What if the scientist in the lab did not follow the formula as described? What if, what if?

Naturally, the fear of harm slowed development due to an abundance of caution. The qualified clinicians and scientists could describe scenarios fantastically, and always prescribe a solution. We would record each scenario or use case in the following format:

Given these INPUTS when WE DO SOMETHING then RETURN THIS MESSAGE

As the product was developed and new use cases were discovered, the clinician would always have an answer. For example, even the 2,000 Pound Baby scenario resulted in a prescribed solution.

Given a 2,000 Pound Baby when prescribed ANYTHING then return “Ask a qualified clinician.”

If all the inputs could be discovered, it could be codified into the correct set of outputs. As the product matured, a pattern started to appear – all edge cases followed the same algorithm. Any patient or scenario in which we did not have clarity on the solution would result in asking clarifying questions to the clinician or scientist. All edge cases followed this same pattern, then I realized – all cases followed this pattern, a default use case, “Ask a Qualified Clinician.”

Given ANY INPUT that doesn’t meet any other input criteria when WE DO ANYTHING then return “Ask a qualified clinician”

If the first use case or scenario had been, “Ask a Qualified Clinician” and carefully coded the other exact scenarios, we could have theoretically released daily since the “Ask a Qualified Clinician” scenario would protect us from the “What if, what if” scenarios.

This was our first step on our pathway to keeping our Life Critical Decision Support Application always shippable. A future post will talk about carefully coding the other exact scenarios. And like all good decision support systems, before you adopt this practice, “Ask a qualified clinician in your organization and domain.”

Webinars
Learn the Physics of Agility
Sign Up
Next Organizational Systems & Catalyzing Change

Leave a comment

Your email address will not be published. Required fields are marked *

×