"Don't version unless you absolutely must, and it is rare that you absolutely must" says Mike Amundsen in a series of API design workshops he held recently. Amundsen describes the "USE" paradigm for API design focussing on usability, scalability and evolvability. He describes the three most common styles of API implementation and how they compare to these principles.
As the title suggests, in Best Practices For HTTP API Evolvability, Benjamin Carlyle, set out to define priciples and practices for designing systems, that are built around HTTP API’s. Systems, that are extensible and can evolve over time.
In a recent post Mike Amundsen writes about building evolvable systems where he expands on his presentation "Beyond REST : An approach for crafting stable, evolve-able Web applications". The question he hopes to answer in the presentation is "How can we design and implement distributed network solutions that remain stable and flexible over time?"