Explain like I'm five · SW Eng

What is Re-engineering/Reverse Engineering (3R)?

Reengineering and reverse engineering (3R), told as a story about reviving an old out-of-print book whose original manuscript is gone, working backward from the finished copy.

the original manuscript is gone — only the printed book remainsbut we want to rework it and publish it again

The original manuscript is gone — only the printed book remains.But we want to rework it and publish it again.

just write it from scratch againthat's remaking twenty years of contentignoring the finished book and starting from nothing can cost more than tracing it back

The editor suggests starting fresh; the writer objects that remaking twenty years of content costs more.Ignoring the finished book and starting from nothing can cost more than tracing it back.

finished bookoutline reconstructedre-publishedreverse engineering = inferring the outline from the finished book; reengineering = reworking it and republishingreverse engineering → restructuring → reengineering: grouped here as the 3Rs

Reverse engineering traces back the outline; reengineering rewrites it and republishes.Reverse engineering → restructuring → reengineering: grouped here as the 3Rs.

Study the finished bookexamining it closely as it is
Infer the outline backwardtracing back the original structure
Tidy it upstraightening out the reconstructed outline
Rewrite in today's languageadapting it for today's readers
THE THREE Rs, IN ORDERreverse engineering — infer outline from the bookrestructuring — tidying up the inferred outlinereengineering — rewriting in today's languagevs forward engineering — writes a fresh manuscript3R is closer to restoration, bringing back what was lostthere's no guarantee the reconstructed outline is exactly right

The 3Rs proceed in order: reverse engineering, restructuring, reengineering.3R is closer to restoration, bringing back what was lost.

3R can revive even an old out-of-print bookbut a revived book may not be as clean as a brand-new onereengineering revives an existing book — it isn't building something perfectly new from scratch

A book revived through 3R may not come out as clean as a brand-new one.Reengineering revives an existing book — it isn't building something perfectly new.

In one breath

Re-engineering/reverse engineering (3R) = tracing a lost original backward from the finished product, tidying it up, and rewriting it for republication.

The 3Rs here group reverse engineering (tracing design back from the output), restructuring (tidying structure while keeping function the same), and reengineering (rebuilding with modern technology). Some textbooks put reuse among the 3Rs, or define reengineering as reverse engineering + change + forward engineering. It's a standard approach for legacy systems with poor original design documents or source, focused on reviving existing assets rather than building fresh, as forward engineering would.

When grown-ups say it

Reverse Engineering
Inferring the outline backward from the finished product. Especially useful when design docs are missing.
Restructuring
Tidying up structure while keeping content the same. The stage between reverse engineering and reengineering.
Reengineering
Rewriting in today's language and republishing. The final stage of the 3Rs.
Forward Engineering
Writing a fresh manuscript from scratch. The opposite direction from reverse engineering. Some textbooks define reengineering as reverse engineering + change + forward engineering.
Legacy System
An old book with poor surviving original materials. What 3R work is applied to.
Configuration Management
The shelf where manuscripts are kept. If the original had been kept properly, 3R might not have been needed at all. → the shelf that protects the manuscript
Technical Debt
Piling up cleanup that keeps getting postponed. The longer the cleanup piles up, the bigger the 3R job gets.
GoF Design Patterns
A collection of proven writing formulas. These formulas often get applied while reengineering a rewrite. → the collection of proven writing formulas
Next story
The Book of Proven Writing Formulas →
Want another term as a picture book? Request →