1. With well-defined processes, each step in the process can be repeatable and measurable.
2. All members of the team have a unified understanding of the team's goals, roles, and products.
3. Use proven technologies and practices as far as possible.
4. Collect as much data as possible (including data that is unfavourable to the team) and use it to help the team make rational decisions.
5. Develop realistic plans and commitments, and teams plan to be developed (not from superiors) by the roles responsible for specific implementation.
6. Increase the team's self-management ability
7. Focus on improving quality and strive to identify problems early in the software life cycle. The most effective way to improve quality is to do comprehensive and meticulous design work, rather than in the late rush to fix the problem
How the team software engineering goes smoothly to avoid quarrels