Justin James
1 min readSep 17, 2023

--

The answer is, in my view, "git" and "microservices" and "containers" and "Jenkins" and "CI/CD" and "DevOps", etc.

The modern view of dependency management is basically to throw your hands up in the air and give up on it all.

Everyone just builds against a specific version of a dependency which may change *multiple times in a day*.

And once that is happening, what do the maintainers care about if a change is breaking or not? It won't impact the consumers until they try to change which version of the dependency they are running against, and thanks to the modern stack, they never actually *need* to do that, because those versions will live forever (never mind things like "security vulnerabilities"...).

But hey, the alternative is a world where there is one directory with a pile of DLLs in it, and when those DLLs get changed, everything else needs to get updated RIGHT NOW OR ELSE, and this means we have a massive Change Control Board meeting every week and this huge testing cycle just to correct a typo in a button label...

Pick your poison, I guess.

J.Ja

--

--

Justin James
Justin James

Written by Justin James

OutSystems MVP & longtime technical writer

No responses yet