一、敏捷实践
人与人中间的交互是复杂的、并且其效果从来都是难以预期,确是工作中最为重要的方面。过程和方法对项目的结果只有次要的影响。首要的影响是人。
1、个体和交互胜过过程和工具
团队的构建比环境的构建重要的多。
2、可以工作的软件胜过面面俱到的文档
知道迫切需要并且意义重大时,才来编写文档
3、客户合作胜过合同谈判
减少合作之前的信息差,频繁的沟通,在合同规定内接受持续的变化。不要妄想一个开发团队消失一段时间可以交付一个满足需要的系统。
4、响应变化胜过遵循计划
就近时间可以制定详细计划,较远时间模糊粗糙即可,保持灵活性
二、极限编程概述
作为开发人员,我们应该记住, XP 并非惟一选择。 ——Pete MarBreen
极限编程是敏捷方法中最著名的一个。它由一系列简单确相互依赖的实践组成,这些实践的结合在一起形成了一个胜于部分的整体。
XP : eXtreme Programming
极限编程的一系列实践,每一个小的实践都不复杂,都很简单,但是需要融入到日常的工作中,包括自己如何工作,如何合作,如何高效,十四个原则很受用,完全实践需要不断的添加到自己的技能包中,既不是短期就能养成的,也不是单个人就能建立的,需要团队,需要氛围。
三、计划
当你能够度量你所说的,并能够用数字去表达它时,就表示你来了解它,如果不能,那么说明你的知识是匮乏的,不能令人满意的。
四、测试
编写单元测试是一种验证行为,更是一种设计行为。同样,它更是一种编写文档的行为。编写单元测试避免了相当数量的反馈循环,尤其是功能验证方面的反馈循环。
测试驱动开发。可以在开发还没开始的时候进行一些功能上的测试,一方面可以完善开发逻辑,另一方面可以让开发以客观的角度进行代码编写,有可能还会有意外的收获。
五、重构
大千世界中,惟一缺乏的就是人的注意力。—— 凯文-凯利
每个软件模块都有三项职责。第一个职责是它运行起来所完成的功能。第二个职责是它要应对变化。第三个职责是要对阅读它的人进行沟通。
重构的目的,是为了每天清洁你的代码。我们不想让脏乱差累积,我们不想费大力气去清楚时间累积的大问题。我们想通过最小的努力就能够对我们的系统进行扩展和修改。要想具有这种能力。在学习原则和模式前,首先学习清洁代码。
网友评论