Rewatching Narcos: Mexico, still one of the best things on TV

I’ve been rewatching Narcos: Mexico recently.

It’s one of those series that’s even better the second time round. You’re not just following the plot. You start to notice how well it’s put together.

It feels real (because it largely is)

The obvious draw is the story. The rise of the Guadalajara cartel, the politics, the US–Mexico dynamic, the constant tension.

But what stands out on a rewatch is how grounded it all feels:

  • No over-dramatisation for the sake of it
  • Characters behave like actual people, not TV caricatures
  • Decisions have consequences, and they compound over time

You can see the system forming. Not just a “crime story”, but a supply chain, a power structure, a set of incentives. It’s basically organisational design… just with far worse outcomes.

It’s a masterclass in controlled storytelling

There’s a discipline to it that a lot of modern series lack.

Scenes are allowed to breathe. Dialogue isn’t rushed. Tension builds properly rather than being forced.

And crucially, it trusts the viewer to keep up.

No hand-holding. No over-explaining. Just: here’s what’s happening — pay attention.

Surprisingly useful for learning Spanish

One unexpected bonus: it’s actually great for picking up Spanish.

Not classroom Spanish. Real conversational cadence.

You start recognising phrases quickly:

  • “Tranquilo, hombre”
  • “Ahorita”
  • “¿Qué quieres?”

It’s repetitive enough to stick, but natural enough that it doesn’t feel like learning.

You won’t become fluent, but you will start understanding tone, rhythm, and intent — which is arguably more useful than memorising verb tables.

The bigger takeaway

On the surface, it’s about cartels.

Underneath, it’s about systems, power, and incentives.

Who controls what.

Who depends on who.

What happens when money, politics, and weak governance intersect.

That’s why it holds up so well. It’s not just a story — it’s a model of how complex systems evolve under pressure.

And like most systems, once it starts moving, it’s very hard to stop.

If you haven’t watched it, it’s well worth your time.

If you have — it’s even better the second time round.

Scrum vs Kanban: When Each Actually Works (and When It Doesn’t)

There’s a tendency in engineering teams to treat Scrum and Kanban as ideological choices.

They’re not.

They’re operating models. Tools. And like any tool, the only thing that matters is whether they help you deliver predictably, safely, and without unnecessary drama.

If you’re running a regulated platform, or anything at scale, the real question is:

What kind of work are we dealing with, and what behaviour do we need from the system?

Start With the Nature of the Work

Before picking Scrum or Kanban, you need to understand what’s actually flowing through your system.

Most teams deal with a mix of:

  • Planned product development
  • Unplanned operational work
  • Stabilisation and reliability improvements
  • Interrupt-driven support and incidents

Where teams go wrong is trying to force all of that into a single delivery model.

That’s where things start to creak.

Where Scrum Works Well

Scrum is at its best when the work is:

  • Predictable enough to batch
  • Outcome-driven
  • Aligned to a clear product goal
  • Relatively protected from interruption

In practical terms, when you can say:

“We believe we can deliver this set of outcomes over the next two weeks, and we’re willing to commit to that.”

Scrum works well for:

  • New feature development
  • Product roadmap delivery
  • Defined refactoring initiatives
  • Greenfield or controlled builds

What Scrum gives you

  • A forcing function for commitment and focus
  • A cadence for stakeholder alignment
  • A structure for measuring delivery predictability

But—and this is the key—Scrum assumes a level of system stability.

If your team is constantly interrupted, Scrum breaks down quickly.

You’ll see:

  • Half-completed sprints
  • Rolled-over work
  • Commitments no one believes in

At that point, you’re not doing Scrum. You’re creating reporting theatre.

Where Kanban Comes Into Its Own

Kanban is built for a different reality.

It assumes:

  • Work arrives unpredictably
  • Priorities shift
  • Interruptions are normal
  • Flow matters more than commitment

This aligns directly with:

  • Platform stabilisation
  • Production support environments
  • Incident-heavy systems
  • Legacy modernisation programmes
  • Continuous improvement work

What Kanban gives you

  • Visibility of work in progress (WIP)
  • Control over throughput
  • Faster prioritisation decisions
  • A system that absorbs change without collapsing

Instead of committing to batches of work, you focus on:

  • Limiting WIP
  • Managing flow
  • Reducing cycle time
  • Continuously reprioritising

The Stabilisation Phase: Why Kanban Wins

If you’re taking over a platform that is:

  • Operationally fragile
  • Poorly understood
  • Carrying hidden risk
  • Dependent on key individuals

Then you are not in a Scrum environment.

You are in a stabilisation phase.

And stabilisation is inherently:

  • Exploratory
  • Interrupt-driven
  • Non-linear

You fix one issue and uncover three more.

Trying to run this through Scrum usually leads to:

  • Constant sprint failure
  • Frustrated teams
  • Misleading reporting

Kanban, by contrast, allows you to:

  • Pull work as capacity allows
  • Reprioritise instantly when risk emerges
  • Maintain flow without artificial commitments

It’s simply a better fit for evolving systems under active repair.

The Hybrid Reality (What Actually Works in Practice)

Most high-performing teams don’t choose one or the other.

They separate concerns.

Scrum for Product Delivery

  • Feature squads
  • Clear roadmap alignment
  • Sprint-based delivery
  • Predictable output

Kanban for Platform, Ops, and Stabilisation

  • Shared services or platform teams
  • Interrupt handling
  • Reliability work
  • Continuous improvement

The result

  • Clear expectations
  • Better stakeholder communication
  • More honest delivery signals

And critically, you avoid mixing fundamentally different types of work into one system.

The Leadership Mistake to Avoid

The biggest mistake is enforcing a single methodology across all teams “for consistency.”

This usually results in:

  • Teams gaming the system
  • Metrics that look good but mean nothing
  • Delivery that still feels unpredictable

Consistency of outcomes matters.

Consistency of framework does not.

What Good Looks Like

If you’ve got this right, you’ll see:

  • Product teams delivering predictably with clear commitments
  • Platform teams moving quickly with visible flow
  • Incidents handled without derailing delivery
  • Stakeholders getting honest, understandable signals

And most importantly:

No surprises.

Final Thought

Scrum is about commitment.

Kanban is about flow.

If your environment supports commitment, Scrum is powerful.

If your environment demands adaptability, Kanban is essential.

Most organisations need both.

Very few implement either properly

What good looks like in platform stability at scale

After a few conversations since getting back to the UK, one theme has come up repeatedly:

“We need to improve platform stability.”

It sounds obvious. Almost everyone says it.

But when you dig into it, what people actually mean varies wildly:

  • Fewer incidents
  • Faster recovery
  • Better performance
  • Less firefighting
  • More predictable delivery

All valid. None sufficient on their own.

Because stability at scale isn’t one thing.

It’s a system of behaviours, ownership, and discipline.

And more importantly, it’s not something you add on later.

It’s something you operate every day.

Stability is not the absence of incidents

This is the first misconception.

If you’re operating any meaningful platform at scale, especially in regulated or high-availability environments, incidents are inevitable.

What matters is:

  • how often they happen
  • how quickly you detect them
  • how effectively you respond
  • whether you learn from them

Good organisations don’t pretend incidents won’t happen.

They design for:

fast detection, controlled response, and continuous learning

What good actually looks like

In practice, stable platforms share a set of consistent traits.

1. Clear ownership, everywhere

No ambiguity. No diffusion of responsibility.

Every service, system, and dependency has:

  • a clearly named owner
  • defined support expectations
  • accountability for outcomes

If something breaks, it’s immediately obvious:

👉 who owns it

👉 who fixes it

👉 who explains it

This sounds basic. It’s rarely done properly.

2. Tiered support that actually works

L1, L2, L3 is often implemented, but not enforced.

Good looks like:

  • L1 handles triage and known issues
  • L2 handles deeper investigation
  • L3 handles engineering fixes

And critically:

👉 clear escalation paths with no debate

If engineers are constantly being pulled into noise, stability suffers.

3. Observability that tells you what matters

Dashboards are not observability.

Good platforms have:

  • meaningful alerts (not noise)
  • clear service health indicators
  • visibility aligned to business impact

The question isn’t:

“Is the system up?”

It’s:

“Is the customer experience degraded?”

4. Boring, predictable releases

Stability and chaos are often introduced at deployment time.

Good looks like:

  • small, incremental changes
  • automated testing that actually protects you
  • controlled rollout strategies
  • fast rollback capability

No drama. No heroics. No late-night guesswork.

5. Incident management as a discipline

Not ad hoc. Not personality-driven.

Strong organisations have:

  • clear incident roles (lead, comms, technical)
  • structured response processes
  • consistent communication cadence

And most importantly:

👉 calm, controlled execution under pressure

6. Post-incident learning without blame

If your post-mortems are performative or defensive, you’re not improving.

Good looks like:

  • honest analysis
  • focus on system failures, not individuals
  • clear actions that actually get tracked and delivered

Stability improves when learning is real, not political.

7. Engineering leadership that enforces standards

This is where most organisations fail.

You cannot “encourage” stability.

You have to:

  • set expectations
  • enforce operating models
  • be visible and accountable
  • encourage responsibility

This includes:

  • saying no to unsafe changes
  • slowing down when needed
  • prioritising reliability over short-term delivery pressure

The uncomfortable truth

Most instability is not a technical problem.

It’s:

  • unclear ownership
  • weak operating discipline
  • lack of accountability
  • tolerance of poor practices

Technology amplifies these issues.

It rarely causes them.

What changes when you get it right

When stability is properly embedded:

  • Incidents still happen, but they’re controlled
  • Teams are calmer and more focused
  • Delivery becomes more predictable
  • Leadership has confidence in the platform
  • Customers stop noticing your technology (which is the goal)

You move from:

reactive firefighting

to:

controlled, reliable operations at scale

Final thought

Stability is not glamorous.

It doesn’t win awards.

It doesn’t make headlines.

But in any serious platform business, it’s the difference between:

  • scaling confidently
  • and constantly fighting your own system

And the organisations that get it right tend to look the same:

clear ownership, disciplined execution, and no tolerance for chaos disguised as progress.

The Rarest Score in the NFL: 2–0

If you’re building or analysing a sports simulation system, there’s an important principle that often gets overlooked:

Just because something is extremely unlikely doesn’t mean it’s impossible.

And in the NFL, nothing illustrates that better than the 2–0 final score.

Why 2–0 Is So Special

Most NFL games involve multiple scoring plays: touchdowns, field goals, extra points, maybe the occasional safety.

But a 2–0 game requires something very specific.

The only scoring play in the entire game must be a safety.

That means:

• No touchdowns

• No field goals

• No extra points

• No two-point conversions

• Just one safety, and nothing else

Given modern offences, kicking ranges, analytics-driven play calling, and rules designed to increase scoring, that outcome is almost absurdly rare.

But it has happened.

A Quick Stat Box

Rarest NFL Final Score: 2–0

  • Total occurrences: 5 games
  • Last time it happened: 18 September 1938
  • Years since the last 2–0 game: 87 years
  • Teams involved in the most recent game: Chicago Bears vs Green Bay Packers
  • Winning score came from: A single safety

In other words, the rarest possible realistic NFL score happened before World War II.

Every 2–0 Game in NFL History

There have only been five such games in the entire history of the league.

DateWinnerLoser
Nov 29, 1923Akron ProsBuffalo All-Americans
Nov 21, 1926Kansas City CowboysBuffalo Rangers
Nov 29, 1928Frankford Yellow JacketsGreen Bay Packers
Oct 16, 1932Green Bay PackersChicago Bears
Sep 18, 1938Chicago BearsGreen Bay Packers

The last time it happened was 1938.

That means it has been 87 years since the NFL saw a 2–0 final score.

The Bears Connection

As a Chicago Bears fan, I find this statistic especially entertaining.

The Bears appear twice in the list.

• Losing 2–0 to the Packers in 1932

• Winning 2–0 against the Packers in 1938

If you’re going to have bizarre historical trivia, doing it against your biggest rival feels about right.

Somewhere in the long, strange history of the Chicago Bears vs the Green Bay Packers rivalry, there’s a game where the entire scoreboard was produced by a single safety.

The Simulation Lesson

If you build sports simulations (which I spend a lot of time thinking about), the takeaway is simple.

When you model a sport, you usually focus on the most likely outcomes.

But the edge cases matter too.

A 2–0 result is incredibly unlikely, but it’s not impossible. It has happened. Multiple times.

So if you’re simulating NFL games, you should always sanity-check your model:

• Does the simulation allow a safety as the only score?

• Could the game realistically end 2–0?

If the answer is no, your model might be accidentally removing real outcomes from the game.

Even the weird ones.

And sometimes the weird ones are the most interesting.….