参考了一下Hibernate开发者所宣传的理念整理:
- 飞快的版本发布。
- 活跃的版本发布。
- 发现用户真正的需要。
- 回归测试。
- 综合性的test suite提高软件的可维护性和稳定性。
- 把一个功能做到最好。(这条特别支持!)
- 要做就一定做到最好。
- 做不到的,扔给其他软件去做吧。
- 避免过度设计。
- 不要浪费大量的时间和精力进行功能抽象和扩充灵活性。
- 花更多的时间解决用户面临的实际问题。
- 集权。(理解性支持!)
- 软件开发需要由一两个开明的人来领导,以保证连贯性和较少的分歧。
- 集中火力做最好的实现,归避方向、意见不统一的风险。
- 文档。
- 如果用户不知道某功能,就等于没有此功能,还不如去掉。
- 此处个人理解所说的文档,是面对用户的说明,而不是给领导或公司汇报的文档,千万不要”为了文档而文档“。
- 避免标准化。
- 好的标准带来互用性和可移植性,坏的标准能够压制软件创新。
- 事实上的标准往往更加贴近用户需求。
- 最佳的易用性。
- 十分钟内让用户用起来。
- 开发人员的责任感。
- 开发团队有责任有义务给用户提供帮助,以解决用户面临的问题。
- 用户帮我们知道了文档的漏洞,也帮我们测试了实例的Bug。