Michael Mann already has half the cast for Heat 2. According to a Variety report picked up by Hipertextual, Stephen Graham would play a young Neil McCauley, Christian Bale would play detective Vincent Hanna, and Leonardo DiCaprio would play Chris Shiherlis. Negotiations haven't closed yet, so those names are intent, not signatures.

What caught my attention isn't the casting. It's the shape of the project: the film adapts the novel Mann wrote with Meg Gardiner in 2022, which is a prequel and a sequel at the same time. It covers the early years of McCauley and Hanna, and also what happens to Shiherlis after the shootout, with part of the events landing in the 2000s. The 1995 film stays untouched in the middle.

Why it matters

That's an architectural decision before it's an artistic one. Mann had the usual options in front of a system that works and that people still use: rebuild it from scratch, tell only the origin story, or stack a linear continuation on top. He chose something else: freeze the original as the source of truth and extend it in both directions without touching it.

It's the exact position you're in when an old system keeps bringing in revenue. The code nobody wants to open is also the code that defines the behavior your users have already learned. Rewriting it is tempting because it hands you back your freedom; extending it is more uncomfortable because it forces you to respect decisions you didn't make.

StrategyWhat happens to the originalTechnical equivalent
RemakeIt gets replacedFull rewrite
Pure prequelIt gets explainedDocument the origin without changing anything
Linear sequelIt gets continuedNew features on top of the base
Dual timelineIt's preserved as canonExtension backward and forward, frozen core

What changes in practice

If you adopt this shape, three concrete things change in your day to day.

  • The original becomes your regression suite. Anything that contradicts what already exists is a bug, not creative license. In code: characterization tests over current behavior before adding a single new line.
  • You replace implementations, not contracts. Graham taking De Niro's place works because the character is the interface and the actor is the implementation. Same thing when you swap the payments library or the search engine: if the outward-facing contract holds, the replacement is invisible. When the contract leaks to consumers, there's no possible replacement without a migration.
  • You live with two contexts at once. Two timelines mean two sets of rules active in the same codebase. That's feature flags, that's API versioning, that's a schema with fields that only make sense for old records.
┌──────────┐   ┌──────────┐   ┌──────────┐
│  1980s   │──►│Heat 1995 │──►│  2000s   │
│ origins  │   │  canon   │   │  sequel  │
│ McCauley │   │  frozen  │   │Shiherlis │
└──────────┘   └──────────┘   └──────────┘
   added        untouched        added

You pay the cost in coherence. Every new thing has to line up against something already written that you can't modify. That's slower than starting from scratch, and it has to be said out loud when you estimate.

When NOT to use it

This strategy turns into a trap in several scenarios, and it pays to spot them early.

  • When the original is a liability, not an asset. Heat is preserved because it has an audience and prestige. If your old system has no users depending on its exact behavior, nobody is collecting on the compatibility you're paying for.
  • When the format itself is the problem. Sometimes the right answer is to break. Huawei redesigned the mechanism of its foldable and moved from a Z fold to a U fold with two screens, according to La Nación. They didn't extend the previous design: they replaced it. When the limit is in the shape and not in the features, extending only postpones the decision.
  • When the canon isn't written down. Mann has a novel published in 2022 that fixes both timelines before shooting starts. If on your team the old system's behavior lives in the heads of two people, you don't have canon: you have folklore. Documenting it is the prior step, not an optional deliverable.
  • When the team can't sustain two contexts. A dual timeline means permanent double cognitive load. With high turnover or few people, that complexity gets collected in incidents.

A limit of the announcement itself: the cast isn't locked, there's no confirmed release date in the material, and we also don't know whether Mann will adapt his novel faithfully. Everything above rests on the project's stated shape, not on a result.

What I'd do today

Facing an old system that still works, I'd start by writing the canon: which behavior is mandatory to preserve and who depends on it. Only with that on the table would I decide whether to extend or replace, and I'd say it explicitly in the proposal, with the compatibility cost estimated separately. The expensive version of the mistake isn't choosing wrong: it's not having chosen and discovering halfway through that you were doing a remake without meaning to.