(朋友翻译的我的一篇博文:http://blog.csdn.net/acloudhuang/article/details/5793503)
1. only small projects;
2. re in big projects, the first cut into small projects;
3. for each task to see results within one month;
4. If you cannot see the results within a month, the task requires
subdivision;
5. do first functional needs;
6. functional requirements too much, pick the most important;
7. only important thing, not to urgent matters;
8. adhere to the daily build;
9. only through the software interface between the programmer to
communicate, to give up communication through the document because the
document ambiguous too;
10. items to be simple, the project will not fail because of simple, often
fail because of the complexity;
11. to maintain a flexible software design, do not expect the demand is
complete and will not be modified;
12. Do not move forward with a bug;
13. product positioning, adhere to the "small number of people 100%
satisfaction" principle, does not seek to please everyone;
14. Develop the habit of regularly refactoring code;
15. a picture is worth a thousand words, there must be an overall class
diagram for each project (only class name)