You just finished a patch for your API. Your unit tests pass. You have some end to end tests that cover most of the user facing features. You merge in your code and after a smooth deployment, all hell breaks loose. The microservice that the other team was developing doesn't understand what your new patch is sending as a response! What went wrong? This is a quick talk about contract based testing.