Book · 456 pages

Working Effectively with Legacy Code

Michael C. Feathers · Prentice Hall (Robert C. Martin Series) Paid Advanced

This is the practical manual for improving code you are afraid to touch, without a rewrite. Feathers gives you techniques to get untested code under test so you can change it safely, one dependency at a time. If your instinct to rebuild really comes from fear of breaking things, this book gives you a safer path than starting over.

  • Get code under test before you change it
  • Break dependencies to make small changes safe
  • You can improve scary code incrementally instead of replacing it

It answers 2 questions

  1. When is the right moment to stop iterating on the MVP and rebuild it properly, and how do I avoid the second-system rewrite trap?
  2. How do I evaluate the code quality of a build I inherited from an agency?

Read with it

  1. This is the canonical framing for exactly your question: not all messy code is the same. Fowler splits debt on two axes,... martinfowler.com Essay · About a 5 minute read Technical Debt Quadrant Martin Fowler
  2. The permission slip to recruit users by hand, do things manually, and deliver 'insanely great' experiences to your first few... paulgraham.com Essay · ~15 min read Do Things That Don't Scale Paul Graham
  3. Video · ~13 min How to Plan an MVP Michael Seibel (YC)
  4. The customer-development originator's clearest statement on scoping the minimum feature set to reach your earliest believers.... steveblank.com Article · ~8 min read Perfection by Subtraction, The Minimum Feature Set Steve Blank
  5. Directly answers the scoping question non-technical founders wrestle with, build in-house vs. outsource, backed by patterns... YC Startup Library Article · ~10 min read Does Your Tech Startup Really Need a Technical Co-Founder? (Yes) Y Combinator
  6. Long-form, candid interviews with Indian founders and investors on how they actually grew, distributed and built brand, one of... The Neon Show / Neon Fund Podcast · 200+ episodes The Neon Show (100x Entrepreneur Podcast) Siddhartha Ahluwalia
eChai Partner Brands The partnership →