Your functional design patterns are flawed then.

Reply to this note

Please Login to reply.

Discussion

The whole point of BDD is that you don't have any functional design patterns. You only define the behavior the user experiences. Any function that can delivery the same user experience passes the test.

The AI models are intelligent enough to determine this, on the fly, now, even if the implementation is constantly in flux, so you can get rid of any brittle test.

While BDD focuses on specifying user-facing behavior, dismissing functional design patterns altogether is a dangerous oversimplification. Functional design isn’t about rigidity, it’s about clarity, predictability, and composability. It creates a stable foundation beneath the behavior, enabling you to write code that’s testable, maintainable, and resilient to change.

Yes, AI models can adapt to varying implementations, but that doesn’t mean we should throw away architectural discipline. Relying solely on AI to interpret shifting implementations ignores the real-world complexity of systems where behavior is emergent, not always deterministic. Functional design provides the deterministic scaffolding needed for robust software so your “green tests” actually mean something beyond the surface.

BDD and functional design aren’t at odds, they’re complementary. BDD defines what the system should do. Functional design ensures how it does it remains understandable, correct, and evolvable. Without structure, your tests pass, but your system becomes a black box, opaque, fragile, and eventually untestable.