We even did this to ourselves, internally, at a prior workplace.
They wanted a new web-based system to make it easier to onboard client work (less coding!) but picked a test case of a fairly complex client. The idea was of course some combination of them being complex enough to expose requirements, needing a rewrite anyway, and hoping they'd pay for some of it (funding the system development).
What happened in the end was a fundamental tying of the mental model of the software to this particular client - like some weird cousin of Conway's Law, the system was overly complex and complicated for the vast majority of our simpler client work because it was too strongly coupled to the business model and structure of this major client and their work. And it never got simpler, because by picking this complex one to start with, the sprints were always racing to catch up. These wounds were all entirely self inflicted.
They wanted a new web-based system to make it easier to onboard client work (less coding!) but picked a test case of a fairly complex client. The idea was of course some combination of them being complex enough to expose requirements, needing a rewrite anyway, and hoping they'd pay for some of it (funding the system development).
What happened in the end was a fundamental tying of the mental model of the software to this particular client - like some weird cousin of Conway's Law, the system was overly complex and complicated for the vast majority of our simpler client work because it was too strongly coupled to the business model and structure of this major client and their work. And it never got simpler, because by picking this complex one to start with, the sprints were always racing to catch up. These wounds were all entirely self inflicted.