Last Update: 24.04.2018. By Jens in Developers Life | Learning | Newsletter
The dev who created the adapter worked also on the other parts of the system before. As I joined the company, he basically handed the whole system over to me over a period of a few months, I think. We even started brainstorming/prototyping a new web service so the core func can be made available as a web service instead of a lib. The lib approach caused a few troubles as there were some external maintained apps and they hesitated to update the core at all - political games.
Before the guy left a new big project came around and they also needed to integrate the core functionality. He knew it, so he became the guy to implement it too. As he thought the core was shit and loved the prototype, he just went with it. Without telling anybody. The prototype essentially became the adapter and the web service I mentioned before.
I knew he was doing that, but nobody cared at the beginning when I explained their assumptions were wrong. The new system did not use the core as is, he used the prototype and added a new layer of complexity. Funnily, months later the problem became obvious as new devs did have a hard time understanding that application…
In retrospective, the decision of a single dev turned maintenance of that thing into a nightmare.