Skip to content
Technology March 21, 2026 7 min read

Code is Cheap. Software Is Still Expensive.

AI lowers the cost of generating code, but architecture, operations, security, and long-term ownership still determine the real cost of software.

K

Kyluke McDougall

Software Architect & Founder

AI has changed one thing dramatically: generating code is no longer the scarcest part of software development.

That is good news for builders and clients. It is not good news for the myth that any team can now ship reliable products at the same standards as today, without real engineering judgment.

The result is a simple but important distinction:

  • Code can be cheap.
  • Software that works for users and stays working over time is still expensive.

Why people are calling software development “cheap” now

Over the last few years, the barrier to getting started has collapsed:

  • coding assistants can produce working scaffolds in minutes;
  • AI agents can implement, refactor, test, and document large parts of a codebase;
  • hosting, monitoring, and deployment have become more accessible.

In practice, that means you can prototype ideas that were previously too small to justify writing custom software.

A founder can now solve a personal process pain, a team can spin up internal tooling, and an operator can automate a repetitive workflow without waiting for a three-month build cycle.

That is a net win.

The risk is what happened after the prototype:

What happens when usage grows? When APIs change? When security standards tighten? When your first “good enough” version is now used by paying customers? That is where cost appears.

What actually makes software expensive

The transcript you shared points to a key truth:

Software is an ownership problem, not just a programming problem.

We usually pay for software in five categories:

1) Problem definition and product framing

Most teams overestimate technical execution and underestimate clarity.

If your problem statement is fuzzy, no model can save you from bad decisions.

  • Who is this for?
  • What exact outcome is “success”?
  • Which assumptions are non-negotiable?
  • How will we know it is failing in production?

When this is unclear, AI can still create something beautiful that solves the wrong problem.

2) Domain and architecture design

You can generate endpoints all day, but architecture is about trade-offs:

  • data ownership across services,
  • consistency boundaries,
  • failure modes,
  • migration strategy,
  • cost and scale assumptions,
  • and long-term maintainability.

A single shortcut here compounds into weekly firefighting later.

3) Data, security, and integration debt

Real systems live in messy ecosystems:

  • third-party APIs that change silently,
  • data quality issues,
  • permissions and identity edge cases,
  • regional compliance obligations,
  • and unpredictable incident load.

This is not glamorous work, and it is where many AI-generated projects break.

4) Operating model

A feature is not finished at deployment.

Your users do not care about your GitHub graph. They care if the service is available at 7 AM before they log in, and if the issue gets fixed without chaos.

Reliability, observability, rollback procedures, release discipline, and support coverage are the real ongoing cost.

5) Evolution

Businesses change. So do their systems.

A one-off script can be thrown away. A core platform must support your next feature, next market, and next team without exploding.

The rise of “disposable software”

You can see the newest category clearly:

  • one-off migration scripts,
  • internal dashboards for one team,
  • niche utilities for a specific workflow,
  • and tiny apps that exist to remove one pain point.

These are absolutely valid products.

They are often:

  • cheaper,
  • faster to build,
  • and intentionally short-lived.

This is a healthy shift. Not everything has to become a 10-year platform.

But clients do best when they distinguish two paths clearly:

  • Disposable software = solves a narrow, immediate problem.
  • Platform software = becomes part of operations, customer delivery, or core revenue.

Treating one category like the other is where projects go off the rails.

Where AI changes the game (and where it does not)

AI is best used for what it is excellent at:

  • fast scaffolding and prototypes;
  • repetitive implementation work;
  • generating and updating tests and docs;
  • reducing friction in familiar domains.

AI is not your best judge of:

  • the right abstraction boundary,
  • the right trade-off between speed and long-term cost,
  • or how your system should behave when your assumptions fail.

That requires human design discipline.

What clients should notice in 2026

For clients, this is not about “AI vs no AI.”

It is about choosing what your project needs:

Use AI-first, human-led workflows when:

  • the goal is speed to validate ideas,
  • requirements are clear and narrow,
  • operational shelf life is limited,
  • and your team is comfortable iterating quickly.

Choose architecture-first execution when:

  • product quality is tightly tied to brand trust,
  • finance, compliance, or user safety is involved,
  • you plan sustained growth,
  • or your roadmap depends on reliability over months and years.

What McDougall Digital actually does differently

Our page positioning already says “AI as craft, not commodity,” and this is exactly how we work.

Here is our practical model:

1) We start with intent, not implementation

In discovery, we clarify:

  • who is using the system,
  • what decisions users need to make,
  • what success looks like in measurable terms,
  • where failure is acceptable,
  • where it is not.

If that is not defined, we do not code first.

2) Architecture before automation

We design boundaries, data model strategy, and operational requirements before enabling generation.

  • mobile and web stack choices are matched to product demands;
  • backend and API contracts are shaped around growth;
  • CI/CD and release controls are defined from day one.

3) AI accelerates implementation, but humans own quality

Our team uses AI agents to produce implementations, tests, refactors, and documentation faster.

Every change is still reviewed with engineering standards:

  • consistency with architecture,
  • correctness against tests,
  • security and access control checks,
  • and practical maintainability.

4) We separate “works once” from “works forever”

Some software is intentionally disposable. Most core systems are not.

We build long-lived foundations for:

  • mobile and web products,
  • SaaS and API platforms,
  • architecture modernization,
  • strategy and evolution support.

And we still provide support and evolution so systems do not become liabilities.

5) We take ownership beyond delivery

Your software should not lose momentum after launch.

That is why our process includes monitoring, incident practices, performance work, and continuous improvement with your team.

A quick decision framework for founders and product owners

Before you begin, ask:

  1. What is the expected life span of this solution? If it is under six months, optimize for speed and simplicity.

  2. Who owns future maintenance? If nobody does, avoid architecture that assumes perfect documentation.

  3. Which failures are acceptable? If downtime or data loss is unacceptable, your implementation scope changes dramatically.

  4. What will be the hardest requirement to change later? This is where architecture decisions today become expensive tomorrow.

  5. How will you measure value after launch? A dashboard from day one prevents “we built something, now what?” moments.

The client takeaway in one sentence

AI lowers the cost of writing code. It does not lower the cost of bad decisions.

When we choose where AI should draft and where experts should decide, clients get both speed and durability.

At McDougall Digital, that means:

  • human-led requirement and architecture decisions,
  • AI-augmented execution,
  • strong documentation and test discipline,
  • and software that can be operated with confidence.

What this means for your project

At McDougall Digital, this philosophy translates into practical delivery choices:

  • Discovery before code: we define users, scope, constraints, and success metrics before touching implementation.
  • Architecture first: mobile, web, and backend decisions are made with growth, reliability, and maintenance in mind.
  • AI-augmented build: we use modern AI workflows to accelerate implementation while keeping humans in final control.
  • Proven stacks for production: Flutter, Swift/SwiftUI, Kotlin, React, Node.js, Go, PostgreSQL, Redis, Docker, and Kubernetes.
  • Long-tail partnership: clean handover, monitoring, and evolution support beyond launch.

Want a practical next step?

If this resonates, we can do a focused 30-minute review of your current stack:

  • project type and expected lifespan,
  • risk points in architecture, data, and operations,
  • a clear recommendation on AI-first, hybrid, or architecture-heavy delivery,
  • and a realistic launch and evolution plan.

That conversation is straightforward and practical: what to build now, what to skip, and what must be protected for the long run.

Continue Reading