本文的定位
本文不是一篇介绍XP基本知识的文章,这方面的资料已经很多了,要想全面的了解XP,人民邮电的一套XP系列丛书是非常好的一个开始。而本书的定位是讨论在实际的软件开发中,如何灵活的应用XP,如何遵循XP的思想,但又根据实际情况进行折衷。虽然本文没有介绍任何的XP基础知识,但是仍然适合XP的初学者阅读,刚接触XP的人往往都有各种各样的困惑,而从国外翻译过来的注解却未必适合国内的环境,因此阅读本文能够从实践的角度更深的理解XP的思想。
和其它的方法论一样,XP不是万能的。一个软件组织能否从XP中获益,不是取决于XP,而是取决于这个软件组织自身。正如我们在一开始就强调的,学习XP,关键在于学习思想。软件组织应该根据自身的情况,活学、活用XP,而不是人云亦云。XP可不是制作一堆卡片。切记,切记。
文章没有全面的介绍XP的所有实践。因为作者并不是XP的绝对拥护者,我们以一种客观的态度审视XP,我们介绍的内容,是在采用了XP的实践或是吸收了XP实践中的思想之后的经验;我们没有介绍的部分,是因为环境原因无法实践或是不对其表示赞同(但并不是不赞同)。 其实本文介绍的很多知识并不是XP的专利,其它的敏捷方法也都提到了这些优点,例如自适应软件方法。所以,更准确的描述是本文如何从XP中学习先进的软件开发理念。
(二)考核和评估之别
螺旋、迭代、增量,不同的名词代表了同样的含义-分阶段开发软件。众多的方法学都采用了这种思路设计软件过程。但是在实践中,更多时候,分阶段开发软件带来的是痛苦。看来,我们常常被书中优美的叙述所迷惑,却没有真正想过实施中的难题。那么,如何管理分阶段的软件开发呢?如何应对现实中的难题呢?
考核和评估之别
在绩效管理中,有两个名词:考核和评估,分别表示了绩效考核和绩效评估两种绩效管理方式。这两者有什么区别呢?
我们说考核是一种制度,而评估是一个过程。怎么理解呢?很多的公司都有绩效考核的制度,这个制度一般是在年底的时候,对员工今年的工作做一个评定。考核是一个点。但是评估不一样,评估是针对某一段时间中员工工作中的不足之处,需要改进之处进行评价。不论是考核还是评估,它们两者虽然都是为了达到评价并改进员工行为的目的而设计的,但是做法是不同的。考核针对过去的事情进行评定,容易实现,但是效果不佳,因为时间一长,大家可能忘记了以前的事情,而要公平的对过去一年的表现做一个评定也不是一件容易的事,评估则不同,评估是不断进行的,针对刚刚发生的事情做出评价,并找到改进方法。就好像我们在第一章中举的外卖店的例子,不断地对过程进行分析和改进,这就是一种评估。评估的效果不错,但难以实现。
软件开发中的考核和评估