I don't think it ever quite works in practice. Letting teams come pick up the config module off the shelf in January is all well and good, but when the maintainers of the module issue a security fix in October how can you ensure the consumers apply it?
On top of that, how can the maintainers know if a change they make will be safe in the environments of the consumers?
IMO you either offer the whole service (i.e. a PaaS), or you form technical groups within the organisation which regularly share their learnings and experiences. Sharing code (aside from the smallest modules) when you don't have control or influence over the consuming team just doesn't work in the long run.
On top of that, how can the maintainers know if a change they make will be safe in the environments of the consumers?
IMO you either offer the whole service (i.e. a PaaS), or you form technical groups within the organisation which regularly share their learnings and experiences. Sharing code (aside from the smallest modules) when you don't have control or influence over the consuming team just doesn't work in the long run.