Take the first bullet! (I)

Source: Internet
Author: User

Take the first bullet

 

Software requirements are constantly changing. The customer may want to do this yesterday, but tomorrow will do that, so we have almost no way to start coding. In the past, a very popular practice was to predict potential demand changes in the design, leaving the nextHookIn this way, you can easily cope with such changes without overthrowing the original design.

 

Unfortunately,ProgramSuch predictions are often incorrect, and such changes may never happen. However, this hook is left to prevent changes.CodeYou have to be responsible for maintenance. Maintaining a useless thing is not a good experience, and you cannot simply put thatHookRemove it because it may cause the code that previously worked normally to crash. In fact, your code has issuedNeedless complexity (Useless complexity)Bad smell.

 

So how can we avoid this situation and cope with changes freely? An agile method is embracing change. So let's see how to do it.

 

Agile Methods advocate implementing a customer's demand in the simplest way, rather than predicting future extensions. Why? The answer is obvious: At this time, the change may occur in thousands of directions, and you cannot accurately predict where to expand. So what should we do when a change occurs? At this time, we must change the original design, and ensure that the new design can be easily expanded when there are changes of the same nature next time. This isRobert MartinAs mentioned in Agile Software Development"We take the first bullet, and the we make sure we are protected from any more bullets coming from that gun ."

 

However, some people may ask a question, which does not solve the problem. Why should we put it in advance?Hook?That's because it will be very expensive to change the design in the future.

 

Yes, this is a fact. However, in Agile development, we use other methods to ensure that this change will happen as soon as possible. That is, iterative development is used to continuously release small versions, so that users can see the software as soon as possible and provide feedback. In this way, users will not find that a feature is not what they think.

Write it here today. Next time I will give an example to illustrate how to solve multiple demand changes of the same type at a time.

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.