Sometimes, you need to plug-in to a work-in-progress API, suddenly the dev database is reset, or the server crashes. Whatever happened, you're now stuck. This is a very common situation that causes frustration and delays.

Sometimes as developers we are faced with edge cases that are difficult to setup, or ones that takes a significant amount of time to complete. It makes the iterating slower, frustrating and less productive

Sometimes the API doesn't even exist yet and the only input we have at hand is a spec. Micro-services can be built simultaneously. But without a solid virtualization solution, this can become very difficult really fast !

Designing an efficient API based on an abstract model can be challenging. Sometimes it is best to start small and work our way up to the final design.

Very often an unexpected behaviour occurs in production but for security, privacy or confidentiality reasons it can be challenging to reproduce and debug.
