Extensibility is the ability for a system to be extended with new functionality without requiring major changes to the existing system. It's a key attribute for any software that needs to grow and adapt over time, like a startup that pivots every other week or a big tech company that keeps bolting on new features to stay relevant.
The lead architect keeps going on about extensibility, but I'm not sure how much that matters when we're still trying to get the core product to work reliably.
When the sales team asked if we could add 27 new fields to the customer profile screen by next week, I had to give them a crash course on extensibility and technical debt.
Martin Fowler's article on Consumer-Driven Contracts dives into strategies for evolving services while managing coupling between providers and consumers, including extensibility patterns like schema extension points.
This collection of articles on application integration covers various aspects of connecting systems together, which often requires thinking about extensibility to accommodate future changes and new integration scenarios.
For a humorous take on the history of enterprise integration and the role of extensibility, check out Martin Fowler's talk "Does My Bus Look Big in This?"
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.