? An efficient software development team is built on reasonable development processes and close cooperation among team members, the efficient development team has the following features:
? 1. Have a clear and challenging common goal
? A team with clear and challenging goals is much more efficient than a team with unclear or challenging goals, generally, technicians are proud to complete a specific task and make it challenging, in turn, team members work more actively to get this feeling of pride, which leads to efficient team development. For example, as a system designer, they know exactly when to do it, when to start, when to complete, what challenges to complete the work, how to solve these difficulties, etc. provide an important guarantee for the design of a high-quality software project, it is very dangerous to design a system or compile code in a vague manner, and it will be costly. Therefore, an efficient software development team has a challenging common goal.
? 2. Strong team cohesion
? In an efficient software development team, members work together as a whole. They support, communicate with each other, and respect each other, instead of shirking responsibility, being conservative, and blaming each other, this problem often exists in some scattered development teams. Some programmers are conservative, knowing that another module needs to use a piece of program code that has been compiled but has some difficulty, he does not want to share it with other programmers, and does not want to communicate with system designers, this causes some unmeasurable factors to the project progress.
? 3. A harmonious communication environment
? In a development team, each person assumes his/her responsibilities, for example, the requirement analyst should specify the requirement specifications, the system designer should make system outline design and detailed design, and the project manager should configure the project development environment and formulate the project plan, however, the work of everyone cannot be perfect. For example, documents in the System Overview design may have bad words in some places, which may cause misunderstandings when designing in detail, when planning, the Project Manager may ignore the existence of a certain risk and lead to too much pressure on executors. In other cases, the project manager must communicate with each other and report to the project manager, therefore, an efficient software development team has a harmonious communication environment, rather than a simple command execution type.
? 4. Have a common working standard and framework
? Efficient software development teams have normative and common frameworks, have standardized project development plans for project management, and have standardized and unified framework documents and review standards for analysis and design, code has program specification regulations, testing has standardized and rational testing plans and test reports, etc. And all members understand their responsibilities and what plans must be completed? Who will do it? When will it start? When will it end? In what order? In short, an efficient development team has different levels of normative and standard frameworks, both in terms of work content and work processes.
? 5. Adopt a reasonable development process
? The development of software is different from the development and production of general commodities. The development process faces various unpredictable risks, such as demand changes, personnel changes, technical bottlenecks, and competitors, efficient software development teams often adopt a reasonable development process to control risks in the development process, improve the quality of software, and reduce development costs, which of the following tasks will be performed by such a team based on their own necessity? For example, configuration management, resource management, version control, and code control, the team also rationally allocates and defines milestones in the development process, and determines the bottom line and review standards of each activity, determine the priority or iteration relationship of each activity. In short, the principle of the development process of an efficient software development team is high efficiency, high quality, and low cost.
? The first four points are easy to achieve, and 5th points are difficult. It is often impossible to complete the task. The boss or business staff will say no problem, and we will be able to complete the task in three months, every time I hear this kind of thing, my eyes are dark, my day off is gone, and working overtime becomes normal, and it gives me a chance to scold me. I admire the management of Indians. It is not easy to make such good things with low personnel quality. What does it rely on? Process Management
From http://sd.csdn.net/n/20060702/92221.html