Speed is not up, do we need to take a "slow" step?

Source: Internet
Author: User

During software development, quality often declines. From the perspective of projects I have done, the main reason is that development is too fast. The speed here is not really fast, but problematic.

Some people may have said that what we want is fast feedback, and what we want is "agile ". Here I want to explain to the customer what the final product is (this can only be a demo), so this speed may be acceptable, but most of the time we do not do a demo product.

I mentioned this, but someone retorted: "We don't need to be overly-designed ". However, my experience is that our design is more common than over-design. Why is there a lack of design? There are several possible reasons:

    • ProgramThe employee said that it was not enough time.
    • Lack of design knowledge for programmers.
    • Programmers are required to quickly complete functions.
    • Programmers suffer too much interference.

The two cases above are both too fast (here we will not mention how to solve the above problem). For example, web development (the following three layers of Development refer to a single function, rather than entering the next layer after the entire layer is complete, because it is often incremental development ):

    • CodeWrite all to code behind, then quickly write the interface, and then run the page without stopping, discover problems, modify, and finally complete the function.
    • Typical three-tier structure, writing interface, writing background code, writing logic layer, writing data layer. From top to bottom. Run interface debugging and modify.
    • Three-layer structure: Define the model layer, define the data operation layer, define the business logic layer, and write the interface. Run interface debugging and modify.
    • Layer-3 structure, from the bottom layer to the upper layer, each layer is fully tested before entering the next layer, and finally writes the interface.

In the above four methods, the first method is to first see the interface (but often the last step is complete, because there is a problem with the code, debugging and modification is very troublesome, and it is difficult to locate errors when there are many codes), followed by the second method, end 4. The first iteration (or the early stage of the project) is the first method to complete, and the fourth method to complete. As a result, many people get used to the first three methods and are deceived by the illusion of "high efficiency". This will often lead to management personnel or even customers.But in the end, the whole process is "fast, slow, slower, and project stopped ".I am not an alarmist. This is often the case:

(The following four iterations only describe the sequential relationship)

    • The first iteration submission function is provided, but the quality is poor.
    • The second iteration was submitted, but the code that was previously poor slowed us down.
    • When the third iteration was intended to be submitted, it was found that there were more and more code with poor performance, and the development efficiency was greatly reduced, so the customer began to be unable to handle it. Through overtime or delayed submission, the customer can finally see the function.
    • At the beginning of the fourth iteration, we found that the customer had a lot of feedback. When we wanted to modify the code, we found that the code was already messy. At this time, we would say what would happen at that time? It is too difficult to modify for any reason. We need to overwrite it. Oh my God, the customer will say at this time, see God, and sometimes the customer will politely say "cooperation next time ".

Through the above analysis,Sometimes it is not a good thing that we are too fast. Do we need to slow down, add tests to each layer of methods, one step at a time, instead of eager to show our "Results? Are we confident in every step?

At last, I would like to add:

There are several slow ones, which are different from the slow ones described in this topic.I generally think it is a matter of character.

    • It should be done in one day, but not in three days.
    • The three-day service was completed in one day, and the report said it was three days.
    • Experiment with various new technologies in customer projects.
    • I don't know what to do in the evening, and my eyes are working during the day.
    • Surfing the Internet during the day, chatting, and ..., While writing code.

For reprinting, please specify the following content:

Blog

Wang Deshui

Http://www.cnblogs.com/cnblogsfans

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.