DEV Community

Discussion on: ⏳ Is Future Proofing just Overengineering? 🤹

Collapse
 
ryaninvents profile image
Ryan Kennedy

To me, "future-proofing" only means "don't paint yourself into a corner" and doesn't include adding features. Most often, I find that the cases where I wished I'd future-proofed involved unstated assumptions. When I'm future-proofing something, I try to find cases where I'm making assumptions, and either remove those assumptions or document them very well.

A common example is a company with a single-tenant architecture (one account per user), finding themselves in the middle of a large rewrite due to a need for a multi-tenant architecture (multiple accounts per user, such as work + personal).

Cartoon character painting himself into the corner