Agile Software Development 的一点思索

读了一部分<<敏捷软件开发:模式,原则,实践>>Rorbert C.著
大致理解:
以最快,最直接的方式构建出客户所需要的应用,应用是很多需求组成, 针对每条需求,相应的有Test Case 来保证开发出的软件是符合用户需求的。而在开发中的每个模块单元都要相应的先有Test Case,这样保证模块的功能不会在开发过程中退化。
而开发人员对于每天的所写的代码都要在下班前将其“重整“的规范些,直接说就是整理的易懂,使其更规范,这包括“refactoring“一书所介绍的一部分。
而针对用户需求的变化,针对程序中的“变化点“应用模式使“这段代码“对于以后相同情形的变化不会需要重新修改“这段代码“。
我觉得最后这段是"Agile"的要点,她不要求开工前多么优雅的设计,而是最直接的方式满足用户提出的需求(当然设计者要对整体工程要有一定的估测)。针对变化做到以“不变(代码不用修改)“应“万变(相同类型的变化)“。不做当前不会涉及到预先估计的“扩展性。。”作设计。
而这样开发的话,针对变化要有充分认识,继而对于解决的方法模式也要有充分的认识。
大家可以讨论一下。

个人认为这对于勤快有责任心的程序员比较适合,如果是懒散的,程序功能通过,很少去重整的。