When talking about software processes, you will first think of the traditional waterfall model. Of course, this is usually a negative example to illustrate how various processes are practical and advanced. Then there are heavyweight software processes such as cmme and RUP, followed by agile processes such as XP and scrum. Well, no matter which software process, the company has implemented it,ProgramPeople often think of two words: pain.
Yes, it's painful. Long training sessions and documents that are not required to be read at the end. Of course, even XP's catch-on programming may make some people feel that private spaces are being compromised, while unit testing is a part of people looking for a happy approach, it also often makes other people feel complicated.
People who call for building good software processes are technical or quasi-authoritative in the company. The result of such complaints is usually the helplessness of everyone, and the final decline of the target.
So regardless of big companies, small and medium-sized enterprises that I have seen, even if they pass the CMM several-level certification, often sell dog meat. For authentication, the real software process is still so bad that it can no longer be. This should be the case when you think about it today. It should be the case when you think about it tomorrow. Emphasize to emphasize that, with the frequent entry and exit of personnel, we often work hard every day, and then we are very bad every day.
This may be related to the characteristics of Chinese people. How can work be pleasant? How can a good process be maintained for a long time?
Western experiences may not have much reference significance.
In the West, programmers are high-paying and retired industries. In China, most programmers live in the status of migrant workers, and they also have a bowl of youth meals. The West is still able to learn, the Chinese is still the official, in the South for the orange, in the north for the orange, this is generally the truth. Oh, those guys who get a high salary of tens of thousands of yuan every month don't say you. Let's go. The things here are not suitable for you.
I have been struggling with a group of programmers for a long time, maintaining a small company with 10 people for many years. As a result of my slow practice, I feel that there must be a software process targeting Chinese people. This is not nationalism, and I am not angry with it. It is not unique, and I have adopted a general practice in various software processes. For Chinese programmers who are different from the mainstream of the earth, there must be a different approach from the mainstream.
The primary principle is simplicity and secondary, and persistence. Of course, if you want to stick to something that is not simple, it is often a fantasy.
I think most programmers have problems for some years, it is often about how to collect requirements, how to divide requirements into development tasks, how to design databases, how to design classes, how to ensure quality, and how to manage them.Source codeWhat should I do when it comes to project information, how to monitor the progress, how to weigh the relationship between progress and workload, how to determine which programmers contribute the most, how to accumulate development knowledge, and the overall team level is poor?
My final methods, or development habits, are basically one-to-one solutions to these problems.
In terms of methodology, we must first know why we did this. Therefore, there are several basic arguments:
1. Everyone is lazy and diligent because of some pictures: for example, you need to make money to support yourself, worry about losing your work, worry about losing your face in your team, and hope to earn more money in the future, these are common reasons for diligence.
2. There are no experts in China: Well, look at the operating system, database, development environment, major excellent products, and the most powerful companies. If these are in China, you will know the results.
3. Human abilities are different: although Chinese software is at the low end of the food chain on the Earth, there are still strong and weak individuals.
4. Everyone likes to hear praise and does not like to be criticized.
5. Imitation is the best way to learn. We know that English has plagued many college students. after ten years of study, we will not talk about English, but seldom hear of children who cannot speak Chinese due to IQ problems, although Chinese seems more difficult.
6. The most important thing is that if a person's work cannot bring about a dignified life, don't expect any way to make the person work hard for you. This is the premise that the software process can be implemented. Suppose you are going to open a black-hearted factory, or you are going to make money by using cheap or even hard-to-cope labor, any so-called drugs such as management and architecture do not need to be taken and are doomed to be ineffective.
The so-called most simplified software process generally starts from such six points. At the company level, the company's technical directors and project managers may need practical, operable, and sustainable team project management methods. at the individual level of programmers, they form good work habits, this knowledge is necessary to make yourself more efficient and gradually competent for team management in the future.
Therefore, here is a thin book. From now on, I will combine a real project to "Completely complete" The data import function and explain it step by step, the easiest way to develop your own programming habits and team collaboration, including collection and recording requirements, planning user experience, listing development tasks, estimated time required, class design, database design, management bugs, version control, and knowledge base.
We also hope to keep in mind the principle that as long as you press one key for your software products, the customer will never use them. This simplicity is required for the users of software products, this is also true for programmers: Do not expect everyone to abide by the rules if it is more complex.