DEV Community

Discussion on: Things to think when changing a existing system

Collapse
 
rhymes profile image
rhymes

I'm going to be super generic.

I assume the system you are working on has extensive tests. I suggest you start from integration / functional level tests: write failing tests regarding the new behavior and then make them not failing :D

Since the system is part of a larger ecosystem you should probably also talk to the teams and agree on data formats and interfaces.

Last but not least, figure out if the new system has to be compatible with the old one. What happens if the system receives in input data created with the old format?

What happens if the consumer of this system has not been upgraded and it expects data in the old format?

Collapse
 
sudhan96 profile image
raja sudhan

Thank you @rhymes , I know this is a trivial question but I needed these affirmations.

Collapse
 
rhymes profile image
rhymes

It's actually not trivial. You would be surprised how many times integrations don't take into account old systems or retro compatibility. The same goes with APIs (internal or external), there is no standard on how to decide when it's time to break compatibility. Communication is key ✌🏾