In my more than 10 years of software development, has experienced more than 200 people's software development team, also has two or three people to develop the small team, but regardless of the size of the team, is a very simple software development method: The project is divided into modules, and then each person to develop a piece, the final assembly, debugging completed, and then tested, To the customer, even if the project is completed.
During this time, there was no intersection between the team members, nor did the code look or look at each other. As a result, when a member leaves or sickness, it can cause a lot of problems. Because other people do not understand his work, can not take over his work, resulting in the next project to develop, will bring high costs, the project greatly increased the time to extend development.
In addition, because the members do not understand the code between each other, each person's writing code style is also relatively large, resulting in code is more difficult to reuse. This kind of team development, at present, still exists in many companies. So how can we change this situation? So how do you call a real software team to develop it?
Since software development has changed from personal development to team development, in China, it has been a recent more than 10 years. In the 90 's is a personal development can be successful, such as Jinshan software for Baijun, can be one man, you can complete the DOS under the development of WPS.
In today's environment, the size of the software is already very large, a person to complete the software, only in the field of mobile phones and markets, in other areas is not likely.
Therefore, team development must be established as a goal.
In order to develop the team, we need to set up a variety of standards. such as coding specifications, with this standard, you can have all team members to write the same specification code, can reduce the cost of mutual communication, but also improve the quality of the code. It also allows members to see who writes the code, reducing psychological resistance. But after the standard has been set, can everything be done? In fact, because each developer is human, is a person has a mistake, has his own personality performance, as well as personal habits. So with the standard, you need to think about how to practice, and let the standards become the code of conduct.
In the past team, or the general team, is to set standards, sent to everyone, it is considered to be finished. But in my opinion, setting standards is only the first step in the development of software teams, and the implementation of standards requires a lot of work to do.
So how do you put these standards on the ground in the software development team and connect to the atmosphere? The key link is the code review. From the team I went through, no matter how big or small to practice this link, but from the foreign software development team to see, there is no such link, basically does not exist. Why is this code review so important?
After the code is written, it needs to be reviewed by the team before it can be decided whether the code conforms to the standard, not to the developer's opinion, or to fit.
Second, code review is the embodiment of team development. If everyone develops the finished code, it is considered complete, in fact, this code, or personal work, not the team jointly developed, so the quality of the code may be low, error is difficult to avoid, the design method is general. If a team reviews and modifies the code that is developed by the individual, it can be said that the code is a team-developed software.
Again, code review is the key to experience summarization and mutual learning to improve team members. If this code is developed by an older employee, meaning that the code is good, then the new members can learn from this example and learn the best form of code. If this code is new to the employee development, then error, or do not conform to the situation, it will happen, then through the team members of the outstanding developers, so that the new employees can recognize the error, can be quickly corrected, so quickly to the high-level developers on par.
Finally, code review is a way to improve software quality and reduce development costs. Because with a team of many eyes and multiple brains to look at the code, the code quality will significantly improve, while the development of their own not found errors, will be seen in the eyes of others. This is a bit like the exam, how to check their own will not find errors, in another person to see it. Reducing development costs is key, as the code review continues to mean that it no longer belongs to the developer, but to the entire team, and everyone knows the code so that it can be developed to avoid the developer leaving, or the time and money lost due to sick leave. In addition, in today's fast iterative development environment, to keep the software stable release, only through constant review code to verify that the software is not a big bug.
In short, the development needs of a real software team are as follows: Team review requirements, team-building standards, writing code, team review code, respectively. If the final review code is missing, this development is not called team development, or is the same as personal development.
What do you call a software team to develop