Technical debt refers to the rush to implement a function, but damage the existing library (the design of the code library is contaminated in the implementation process ), for some project managers/customers, this is like a rare talk. Maybe they understand, but they don't want to admit it. I guess so. In any case, I think of a small story. When this happens next time, I need to explain to them the cost of adding some new functions, I can also tell them this story.
A farmer has three hens. Each hen has an egg each day. The farmer is doing business with a local food store owner. The food store owner buys 2 eggs from the farmer every day for sale in the store. Everything was fine until one day, the food store owner appeared at the farmer's house:
Food Store Owner: Oh, today I need some chicken.
Farmer: chicken? You and my business do not include this.
Food Store Owner: I know. But I really need some chicken. I plan to build a PAAs platform in B2s (S stands for the stomach) mode (P stands for meat birds.
Farmer: What?
Food Store Owner: Very important. Can you provide me some chicken?
Farmer: Well, it's not that easy.-I want to hatch the eggs and wait until the chicks grow up to give it to you... A month is required.
Food Store Owner: one month? Too long... I thought you could give it to me now.
Farmer: Time has your own pace. You must be patient.
Food Store Owner: But why can't you kill one of the existing hens? In this way, you can make two more eggs every day when I have chicken. That's enough, isn't it?
Farmer: But I don't think this is a good idea. This will push me into a situation where there is no room for maneuver. What should I do if there is a sudden unexpected occurrence in the rest of the chicken.
Food Store Owner: Don't worry, it won't happen... I really need chicken! Kill a chicken!
Farmer: Well, I think I can...
So the farmer picked up a knife and sent one of his hens to heaven.
The food store owner got his chicken and returned to the food store. A week later, the food store owner once again came to the farmer's house:
Food Store Owner: Hello, I'm here!
Farmer: Hello, what's the matter?
Food Store Owner: You heard me say-your chicken is good. In fact, it is so delicious and sold so well that you must give me another chicken. At the latest tomorrow morning.
Farmer: This is impossible. If I want to kill another chicken for you, I will not be able to provide you with two eggs every day.
Food Store Owner: Oh, don't be so nervous! The customer needs chicken. I have promised the customer to provide it to them tomorrow morning...
Farmer: No. You cannot do this. If I do this, I will not be able to fulfill my agreement with you, you know? If I do this, I won't be able to offer you enough eggs.
Food Store Owner: But I Really Need chicken! Before tomorrow morning! Otherwise, the customer will be worried, the earth will collapse, and the end of the world will come! Give me a chicken. Now!
Farmer: Well, if you want to ignore the consequences, take it! However, from now on, I cannot provide you with eggs, understand?
Food Store Owner: Of course. But I believe I am a very smart person. I guess you can find a solution to this problem. Goodbye!
The food store owner left and returned to the store. Day 2:
Food Store Owner: Hi, what about eggs?
Farmer: What do you mean?
Food Store Owner: eggs. You only gave me one egg. What happened?
Farmer: What happened? I have three chickens. You have taken two. Now there is only one. One chicken and one egg. I think the explanation is clear.
Food Store Owner: But this is not in the contract! Clearly stated in the contract-you provide me with 2 eggs a day! What do you want me to tell customers?
Farmer: Oh, I understand the situation. I can't do anything.
Food Store Owner: Okay. Well, let's not talk about it. Let's talk about other things... It would be nice to order chicken again. Can you give me more?
Therefore, never learn from the farmer-resolutely refuse the unreasonable demands that long undermine your code library for the current benefit. If you are forced to do so, refuse to take on such a task-or be a food store owner-or make such unreasonable requests. You have to bear the consequences of your decision.
Link: http://www.vaikan.com/on-technical-debt-now-with-chickens/