Microservices should be designed so that they can be easily detached from the system with the minimum amount of rewrites. This enables us to easily add experimental features. For example, in our shopping cart microservices, we may add a product ranking service based on the feedback received. If the service doesn't work out or the business capability is not achieved, this service can be thrown out or easily replaced with another service. Scoping microservices here plays an important role, as a minimum viable product can be made and then, on top of it, features can be added or removed as per the requirements.