In one of the companies I worked, we used to have a Duct Tape Programmer named Richard. Richard didn't belong to the development department, but released "tools" for internal use in the company. He shipped fast, as expected from a Duct Tape programmer, and people seemed happy with the products.
But after the first quick release, the disadvantages of the Duct Tape Programmer soon became obvious. Richard
never could release a second version of the product because he had no time left to spend and was always occupied with a very urgent next project. The tools he released were always a preview and buggy.
He
did sometimes ask the development department for advice on this or that. But it always ended in an argument about "why do it in such a complicated way", and he hacked the tool together with some very nasty anti-patterns.
One of the last projects Richard did was a project to make some data available from the source code control system to another system to keep track of client wishes. After some very busy weeks, he finally delivered the product. And it worked, it
did actually make the data available to the other application.
A few days later, I talked with him about the project. He complained that it had been very hard to make the tool, since the SQL tables the SCC system used were so complicated. I asked him the obvious questions: doesn't the SCC system have an API to talk to? What if a new version of the SCC system involves a change in the SQL schema? Yes, there was an API, but it was "very hard to use" and a new version "will probably not change the SQL schema, why should it?"
It is another bad example of taking a shortcut by which You Will Be In Trouble. Not in the short run, because the tool works with the current version. But eventually, You Will Be In Trouble. Fortunately for the company, Richard doesn't work there anymore. There will be another tools expert to clean up the mess.