So, I work in a medium sized team and earlier in this year, our team helped another that was behind in some tasks that all of us need to complete together.
After this, that team always asks for help from our team for untested things from their side and the worst part is whenever something breaks on their side, it breaks for a lot of people (like us) too, and they break a lot of stuff, simply not testing anything, no unit tests, no integration tests, nothing, they just throw broken shit out of the door.
This happens even to the things we made at their place, something’s up with our code? They changed it. It doesn’t seem to matter if it’s adding 2 lines to a sql query, they added an extra comma and didn’t test, they changed the batch processing? Now the process returns a broken json with different fields than the Enum expects. Yeah, they changed the value of the field that was ALREADY working for no reason and didn’t test it.
I’m pissed off, told my coworker that it’s their problem now, but the problems always come and the boss call us to help. This is very frustrating for us and for other teams too, even today another boss was talking about them breaking things in another system that we and they interact.
Their boss seemed to just want to give work for them, even with these problems coming back. The outsourced people work better than them, but you know, they are outsourced and the not so competent team is in house, so they can do nothing.
What can I do? Just saying no when the problems come? Talking to their boss?
Also sounds like your software architecture may be too tightly coupled. If you are creating code that consumes input from the other team, the other team should only need to know what the expected inputs and outputs are. If they’re going in and making changes to your code then you guys need to merge teams or implement a review process (like pull requests in GitHub).