3 ms·
What is the breakdown of your software maintenance costs? One of my ideas is that we should package manage solutions to problems at a level higher than just co
by samsquire 4y ago
What is the breakdown of your software maintenance costs?
One of my ideas is that we should package manage solutions to problems at a level higher than just code and subscribe to them. We all depend on BSD sockets due to history. BSD sockets Just Works™ and people don't really evolve the BSD socket API over time. If only the rest of the software stack was as feature complete as BSD sockets.
Imagine a labour market that was also a package manager.
When library "xyz" upgrades from version 1.2.0 to 1.3.0 there's an interface change that breaks everybody. If there's 1,000 dependents of "xyz" and it takes 1 hour to upgrade and 1 hour to pass all QA tests and get into production, then that upgrade takes 1,000 man hours + 1,000 hours automated testing.
If we don't depend on library "xyz" throughout our codebase, we reduce the number of callsites to change. If we use a facade, they're all in one place. If we use a Service Provider Interface, we isolate ourselves even more and add flexibility of implementation.
If our facade or SPI is in escrow on a labour market, someone can fix it for us for a cost of their time. Ideally the software maintainer fixes it so they don't break so many people.