Agility is the art of slowness

Source: Internet
Author: User

Yes, you didn't hear it wrong. I said it was actually "slow", but if agile focuses on slowness, why should I use agility? To answer this question, you must first answer why you need to "fast ".

The customer needs software because it wants to obtain some value or benefits. Of course, the sooner the customer gets the better, especially when there is a competitor, the "slow" means the loss of value, it cannot even get value. For this reason, we usually pursue "fast" to meet the customer's requirements. Agility is indeed catering to this demand in some ways. It provides work-ready software faster than traditional methods, so as to provide customers with more value, it also improves development efficiency through rapid feedback and effective communication.

However, after several development projects and the opinions of many people on the Internet, I found that many people think that this "fast" is achieved through fast project progress or writing.CodeFast generation. This leads the customer or developer to think That agility should be able to produce code more quickly and complete the project more quickly. Therefore, in agile projects, if you cannot produce code and implement requirements faster than the traditional method, the customer will be dissatisfied and the Project Manager will be restless. In this environment, developers are also easily affected. It is assumed that Agility means no document writing, fast code writing, and fast delivery. In fact, this is totally wrong.

From the perspective of agile practices, TDD, restructuring, and continuous integration ...... It consumes more time, and even iteration itself has a higher cost than the waterfall model. Pair programming is a good example. Many people may have the idea of "wasting one person and reducing production efficiency by half" at first. In fact, no matter how we say this is not a waste, but if we only look at the speed of code writing, pair's productivity is indeed less than writing, although it will not be half, but it will never be faster. There are indications that agile development is slower, but it is worthwhile.

From the perspective of a customer, the customer's investment in software can be divided into development cost, maintenance cost and operation cost. Development costs refer to the costs required during the project development process, and maintenance costs refer to the cost of adding and modifying features after the software is launched; the operating costs include the hardware and software, environment, and labor costs required to run the software. For a software system that runs for a long time, development costs only account for a very small proportion. For example, if you plan to use a system for ten years, the development time may be only one year, and maintenance takes nine years. This is the reason. It can be seen that, by increasing development costs to reduce maintenance costs, the overall cost will be reduced. Therefore, for long-running systems, the development quality is more important than the development speed.

As mentioned above, agile can provide valuable and workable software faster than traditional methods. How can this be achieved through "slowness?

For customers, the value or return of each requirement is different. Some demand returns more, while others return less. If we can identify these high-value things and implement them first, the customer will be able to return faster or higher. However, in reality, customers often do not know exactly which values are high or even what they want. Therefore, we need to obtain customer feedback through iteration, work with the customer to find out what should be done correctly. If you ignore the value, blindly pursue the development "fast", and finally develop the demand with a low bid value, but ignore the core value of the system, the loss is worth the candle.

Therefore, agile focuses on quality rather than speed, and reduces costs by improving software quality and identifying core values. All agile practices aim to improve quality and eliminate waste in a more efficient way as quickly as possible. The "fast" of the final result is achieved through the "slow" process.

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.