I would like to summarize my experience and provide a program for subsequent logs.
Understanding of external environment
1. necessity principle: Users (customers) need application software to help them process information.
2. "offline" Principle 1: Users (customers) are usually not always sitting in front of their computers. They all have their own jobs to do, And those jobs are what they really want to do. If you are a secretary, the computer will not help you with meeting minutes, nor will you arrange your boss's favorite resort hotel.
To be extreme, if you are a cleaner and a multi-touch surface, even if you see a small piece of rubbish on the street corner, you still need to use a broom to clear it.
3. "offline" Principle 2: Do not think of users (customers) as computer experts. After work, they will go home for dinner, watch TV, go shopping, and watch movies. Many people who are engaged in mobile apps are doomed to fail because they imagine that users will keep staring at their mobile phones from getting up to going to bed. The actual situation is: no one will do this.
4. Requirement Principle 1: "requirement" is not equal to "requirement ". If someone asks you to give him or her a radio that can watch a movie, you should tell him or her: "What you need is an MP4 Player with a radio ." Instead of developing a "movie radio" immediately ".
5. Demand Principle 2: the demand will change. So what you need to do is to discover this change as soon as possible and improve your ability to respond to it as much as possible.
6. Many people are not aware of the importance of "information" and software for processing information to improve their work. But this is not their "error ".
Development Principles
1. Key Technologies! "There is no technical problem. The problem is ..." This can only prove that this person is technically faulty.
2. However, technology needs to be guided by users' (customer) needs.
Always select (or even learn) the technology as needed, instead of the opposite.
3. restrictive principle: technology cannot be achieved at all! For more information, see "'offline' Principle 1"
4. Applicability principle: as long as the analysis is in place and the user (customer) needs are met, the technology will surely be realized. See "necessity principle"
5. "Speed" principle: Unless coding (coding) accounts for 50% or higher in the entire production process of the software, any effort to increase the encoding speed in exchange for faster progress will end up failing.
But is there any code that accounts for even more than 50% of projects in the entire software production process? No. Therefore, any effort to increase the encoding speed in exchange for faster progress will end up failing.
Why? Refer to "demand principle 1" and "demand principle 2" and the following "Management Principles ".
Management Principles
1. principles related to technology: Technology determines the process and type of work, and thus determines the composition of the team and the basis of all management (basic technical assumptions ).
Web ApplicationsProgramYou can obtain data from the server and combine the data into webpages to display the data to users. Therefore, your team must make webpages and write data.CodeThe member who retrieves data from the database. In addition, on the progress, the webpage must be completed earlier than the code for integration.
2. As demand changes (and may change quickly), the most adaptable technology should be selected from the very beginning to reduce the impact on management.
3. "least" principle: Any management and technical efforts and skills are more specific than at the very beginning.
If this is not possible, try:
4. "design first" principle: give design more time as much as possible. This is our process of thinking.
If you cannot do this, try:
5. "Death sprint": Let's make it out first and change it later.
However, please make sufficient mental preparations. What you need to deal with is not only the increase in the overall cost and maintenance workload, what's more serious is the question of team members, endless overtime, and a gradual drop in morale.
6. "minimum management" principle: if you still want to control the production process of the software, do a good job of configuration management.
Every time you get the latest code from the configuration library on any server, you can complete the deployment within 10 minutes. The software deployed in the production environment is also in this version, it should be similar.
7. "national conditions" principle: the management method that suits you must be explored from your own practice and needs. Other theories, methods, and practices can only be used as a reference.
Remember so much, and then gradually improve it :)