极限编程的原则二:改进(我选择了部分给我印象最深的原则)
在软件开发中,“完美”是个动词,而非形容词。完美的过程是不存在的,完美的设计是不存在的,完美的故事也是不存在的。但是,你能使你的过程、设计和故事更加完善。
“‘最好’”是‘足够好’的敌人”表明了庸才更喜欢等待。这句话未理解XP的要点:软件开发的卓越是通过改进达到的。这个循环就是:做到你今天所能做的最好,为了明天能做得更好所必需的认知和理解而努力。这不意味着需要等到完美才开始做。
把价值观转化为实践时,改进原则表示为实践就是:马上开始行动,随着时间的推移逐步精华结果。根据经验改进长期计划,这个可能通过季度周期这一实践得到表现。增量式设计通过精华系统设计来贯彻改进原则。实际的设计永远不可能是理想设计的完美映像,但你可以通过每天的努力来使这两者接近。
软件开发技术的历史就是逐步减少耗费人力的历史。例如,汇编符号消除了将机器指令翻译成物理位编码这种烦闷工作的耗费:然后“自动编程”消除了将程序的抽象描述翻译成汇编语言这种烦闷工作的耗费;等等此类,直到存储单元的自动分配。
虽然改良的科技减少了浪费,但开发组织的社会结构增长的僵化和专业分工却在增加浪费。改进的关键之处在于使这两者协调:使用新的技术让更有效的新的社会关系成为可能。要在工作中改进,而不是等待完美。找一个起点,开始,然后改进。
我觉得这一原则与我们现在正在进行的项目完美契合,我们现阶段开发的项目存在着诸多的不足之出,但是要在不断地改进过程中,慢慢达到最终的目标。在以后的项目开发中仍要坚持这一点,不满足于现状,也不急于求成,一步步地达到更好的目标