The team I'm in creates components that can be used by the company's partners to integrate with our platform.
As such, I agree we should take extreme care when introducing (third-party) dependencies. Currently we have no third-party dependencies and we have to stay on the lowest API level of the framework.
Some examples:
- We are forced to stay on the lowest API level of the framework (.NET Standard). The reasoning behind this is that a new platform could one day arrive that only supports that very low API level.
- We have implemented our own components for (de)serializing JSON and are in the process of doing the same for JWT. This is available on a higher level of the framework API.
- We have implemented a wrapper around the HTTP framework of the standard library, because we don't want to take a dependency on the HTTP implementation of the standard library.
- All of the code for mapping to/from XML is written "by hand", again for the same reason.
I feel we are taking it too far. I'm wondering how to deal with this since this I think this greatly impacts our velocity.