Explain the formation process of technical debt with chicken

Source: Internet
Author: User

 

Technical debt refers to the damage to the code library due to the rush to implement certain functional features in the face of requirements (in this process, the architecture design of the code library is also damaged ). For some managers or customers, technical debt seems a strange concept. Maybe they know, but they don't want to hear it. I'm not sure. In any case, I think of a little story. Next time I propose some new features, I will use this story to tell them how much it will cost to implement these features.

There is a farmer who has three chickens and each chicken has a natural egg. Farmers have business dealings with a local grocery store. A grocery store buys two eggs from a farmer every day so that he can sell them in his store. Everything went on in an orderly manner until one day the grocery store appeared at the door of the farmer's house.

Grocery store: Hey, today I want some chicken.

Farmer: meat? This is not within the scope of our agreement.

Grocery store: I know, but I really need meat. This is to prepare for an enterprise poultry service platform I planned.

Farmer: What?

Grocery stores: important people. Can you give me some?

Farmer: Well... It's not that easy. I have to hatch the eggs and wait for the chicks to grow up. I think it takes about a month.

Grocery store: one month? Too long... I prefer to get it now.

Farmers: Nature has its own laws. You must wait for a while.

Grocery store: Well... Why are you not killing a chicken? In this way, I will get the meat I want and you can still produce two eggs every day. In fact, you don't need more eggs every day, do you?

Farmer: Well... I don't think this is a good idea. When other chickens have some unexpected conditions, this will put me in trouble and may not provide two eggs.

Grocery store: Come on, nothing will happen... Besides, I really need meat! Can you give me?

Farmer: Okay, I think I can...

 

Then the peasants picked up the knives and sent one of the chickens to the Creator. The grocery store took his meat back to his store.

 

Grocery store: Hey!

Farmer: Hey, what's wrong?

Grocery store: Listen, the meat last time was good. In fact, it is really delicious and sold very well. So now, before tomorrow, I have to get at least one chicken.

Farmer: This is impossible. If I give you another chicken, I will not be able to supply two eggs every day according to the terms in the contract.

Grocery store: Oh, hurry up. The customer wants meat, and I have promised that the meat will be provided tomorrow...

Farmer: No, I cannot do this. If I do this, I cannot fulfill the contract. Do you understand? If I do this, the eggs cannot be guaranteed.

Grocery store: But I really, really, really need meat! Tomorrow! Otherwise, the customer will get angry and the Earth will be destroyed. The whole world will end as we know! Give me a chicken. Now!

Farmer: Well... If you really want it, take it away! But I want to remind you again that from now on, I cannot guarantee that there are enough eggs every day. Do you understand?

Grocery store: Of course, I know that. But you are a smart guy, and I think you will come up with a solution to this problem in any case. Bye!

 

The grocery dealer left and returned to his shop again.

One day later:

 

Grocery store: Hello! What's wrong with the eggs?

Farmer: What do you mean?

Grocery store: eggs, that is, eggs. How can we only have one? What's wrong?

Farmer: What's wrong? I have three chickens. You took two. Now, there is only one chicken. One chicken and one egg. I think this is very clear.

Grocery store: But this is not in the contract! The terms in the contract are placed here. You owe me two eggs every day! How can I explain it to my customers?

Farmer: Well, I know this very well, and I can't do anything about it.

Grocery store: Okay, okay. Oh, come on, let's just say something else... It would be nice if I could take some more meat. Can I take some?

 

Therefore, do not be a farmer. When the demand comes, reject the demand that may cause irreparable damages to your code base. Once you are forced to do such a thing, never take responsibility for the damaged debris. Similarly, do not be a grocery store, do not require tasks that cannot be completed, and take responsibility for your decisions.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.