Navigating The New Normal: Embracing Uncertainty and The Non-Deterministic Future of AI Apps

Jamie Matthews

April 30, 2025

Traditional software development has long been a quest for precision. Developers and clients alike found comfort in systems that consistently returned the “correct” result, neatly sorted into binary outcomes: success or failure, true or false. But with the rise of artificial intelligence, we’re stepping into a world that’s inherently less predictable. AI-powered features introduce a level of nondeterminism previously unseen in mainstream software projects, and customers commissioning these solutions must now embrace a fundamental shift in mindset.

Determinism vs. reality

Historically, software development has been deterministic: provide a set of inputs, and the software will reliably produce the same outputs, every single time. This predictability simplified testing, debugging, and acceptance criteria, and the majority of current and future software functionality still falls into this category. However, AI-driven elements, particularly those powered by machine learning models such as large language models (LLMs), disrupt this neat paradigm. Given identical inputs, these AI components might respond differently each time, due to their stochastic nature and the complexity of their internal models.

Levels of nondeterminism

Not all nondeterminism is created equal. At one end, simpler AI integrations might exhibit slight variations in textual outputs, nuanced phrasing differences or subtle shifts in generated content. At the other extreme, complex agentic systems may employ entirely different execution strategies from one instance to the next, dynamically adapting their problem-solving approaches based on real-time context and accumulated experience. Recognising these varying levels helps stakeholders calibrate expectations and tailor their project management strategies appropriately.

Why nondeterminism matters

Clients approaching AI-enhanced solutions often bring expectations shaped by decades of deterministic software experience. They anticipate clear right-or-wrong outcomes. Yet, the real power of AI lies precisely in its flexibility and adaptability. When integrating AI, we’re not just coding functionality; we’re training an entity to interpret, infer, and decide based on probabilistic reasoning. This capability allows AI-driven components to excel in ambiguous, nuanced, and rapidly changing environments where deterministic rules would falter.

Practical implications for projects

The shift to nondeterminism requires new approaches in project management and expectation-setting for AI-driven features:

  1. Acceptance criteria: Rather than expecting precise matches to predefined outputs, criteria must evolve to encompass ranges of acceptable outcomes and confidence levels.
  2. Testing strategies: Traditional unit tests remain crucial for deterministic components, but AI-driven parts demand evaluation frameworks like benchmarking, statistical validation, and continuous monitoring to ensure performance within acceptable probabilistic boundaries.
  3. Risk tolerance: Clients must reconsider their appetite for uncertainty in AI-driven features, balancing potential accuracy gains and flexibility against the comfort of deterministic results.


Leveraging nondeterminism

Instead of resisting uncertainty, embracing nondeterminism within AI elements can actually lead to richer, more adaptable applications. When managed effectively, it offers:

  • Enhanced adaptability: AI systems become capable of handling edge cases gracefully, without explicit coding for every eventuality.
  • Continuous improvement: AI models learn and evolve post-deployment, naturally adapting to shifting user behaviours and environments.
  • Increased innovation: Freed from rigid right-or-wrong paradigms, developers and clients can creatively explore new solutions, driven by nuanced and probabilistic insights.


Navigating the new normal

At DabApps, we see carefully controlled nondeterministic features in AI-driven software not as a drawback but as a defining characteristic of AI’s potential. By transparently communicating when nondeterminism is appropriate, understanding its implications and adopting new ways of thinking, we help our clients harness uncertainty effectively. This approach shifts the narrative from “exactly right” to “optimally useful,” reflecting a deeper alignment with real-world complexities.

In an AI-enhanced future, success won’t come from perfect predictability, but from skillful navigation of uncertainty in AI-driven parts of the system. For those commissioning new software projects, embracing this truth will prove essential.