The company's goal is to make profits, indeed. No profit, no good product. Programmers focus on technology and treat their work in detail, as if they were their children or art treasures. They often ignore the main purpose of writing software: sell them for money, the result takes too long. I used to make such mistakes more or less from the perspective of consideration.
However, it is necessary to ensure the quality of the software. The software is too poorly written, and it takes a lot of time to maintain the software, even causing the customer to lose confidence and refuse to use it. In this way, the software is a failed product, even if the money has been received.
In addition, when designing the software, you should think about the software as much as possible, make the design more generic, and do everything possible to consider its reusability. In the future, it will take less time to make changes, if you encounter similar requirements, you can make slight modifications to the existing products. Obviously, it may take a long time to do the first thing, but this sacrifice is necessary. For example, if you want to build a website, you don't need to think about it immediately after you receive the request, no matter 3721. You can do it one by one and you will soon be able to show it to the customer. However, if the customer wants to modify something or add some dynamic content, such as maintaining some products and information, the problem arises, and many changes are needed. If you can build a General website publishing system, you can maintain and modify it easily. However, this system should be implemented, because it is time-consuming to implement the system as common as possible, with many considerations.
On the basis of ensuring the necessary quality, batch upgrades can be adopted. A piece of software cannot be perfect at once. In many cases, we may suddenly come up with many good ideas and inspirations, but if it is not necessary, we don't have to add the current version. Only when the software is submitted to the customer for use can the customer discover problems and be the real software. It is used by the customer. If it is modified later, it will be called an upgrade. Otherwise, it will not be well developed. It is easy to crack down on the morale of programmers when I stay in the development stage.