看了一下XP编程和敏捷开发,越来越见识到了原来开发中面临的各种问题, 在这里把看到的一些原则、方法小结一下,我会不断补充有关的内容:
交流是敏捷开发必须的
用户是敏捷开发团队的一员,而不像传统那样跟开发没什么关系
敏捷开发需要把软件设计分成三个部分: 特性->用例->任务
特性:用户想看到的功能
用例:从特性分解而来,针对某个功能的使用案例,对应测试用例
任务:对用例进一步分解,每次要完成的一些功能
开发过程:发布->迭代->每日
发布:一个月到六个月发布一次可具有价值的软件
迭代:一周到4周产生一个可运行的,有新功能的软件
每日:完成若干的任务
建模是必须的,但又不能过度,也就是尽量简单,刚好完成现在的功能。
不能假定建模能一开始就能把细节完全做好
建模不等于写文档
测试先行,代码随后。我们写代码的短期目的就是为了通过原来不能运行的测试。
写测试用例可以暴露一些能解耦合的地方
重构:在不改变代码外在行为的情况下进行小改造
文档不一定要多,但一定要精
文档不是交流的主要载体。交流应该建立在人身上。而代码要共同拥有,作为交流的一种有效载体。
不要假定团队每个人都有很强的能力。开发本身就是一个学习的过程。