Good code is accurate. For example, “to make a tool with a long sting and a handle that allows you to tighten the screws with a longitudinal groove 1.5 mm wide with a hand” ... well, or something. Take and make a screwdriver.
But when the creative person is at the helm, the TK mutates into something terrible. Stage 1: “make a twist” Stage 2: “what if the head of the screw will be hex” Stage 3: "I thought that the user will twist the twist himself" etc. As a result, after 3 iterations, we get an electric screwdriver. That's not bad. It is wonderful. The electric screwdriver is much more convenient than a screwdriver (since I bought it, I do not use a screwdriver). But! Time spent 3 times more, because we first made a screwdriver, then threw out the sting and made replaceable nozzles, then threw out the handle and made the handle with power supply. As a result, nothing was left of the screwdriver. Competent tz would save us from making the initial screwdriver.
But the very ahtung comes when the brain of the programmer is trying to logically build a scheme of interaction with the creative person who is at the helm. A programmer is by nature a lazy and narcissistic creature, and does not like rewriting his code. According to this, when the development of a new spinner begins, he tries to predict the way the creative person’s thoughts are proceeding from his own experience gained from other spinners. The result is not even a screwdriver, but an electric drill with a flashlight and a folding butt. But no one guarantees that the creative person did not want an hour screwdriver this time. ')
Here we have a drill! And how are you?