第8章 承诺的管理
个体软件过程
本章我们把精力集中在承诺上,讨论承诺是什么,承诺为什么重要以及如何管理承诺。在练习中,评阅并且列出自己目前的承诺。
8.1 什么是承诺
个体软件过程
做出承诺是一种思想状态。无论是出于什么原因,你承担了一项工作,就会觉得应该做这件事情。但是,承诺不仅仅是你要做的那些事情;它还说明有人希望你来做这些事情。实际上,这是承诺的关键问题:你向谁作出了承诺?从法律或者合同的角度来说,你对别人负有义务:你的教授,你的经理,你的雇主。但是,更重要的是你给自己制订了更深层次的承诺。
许多软件开发的进度和计划中存在的主要问题就是:管理人员把这些进度和计划看成是类似于合同的承诺,而软件工程师则并不把它看成是个人的承诺。我们将会看到这种差异主要在于如何制订承诺。在这一章里,将学习如何制订合同式的承诺并使它们成为个人的承诺。
对于带有合同性质的承诺,在它生效之前,两个或是更多的人必须在预期的行动上达成一致。例如,A先生和B小姐都同意A先生为B小姐提供一些产品或者完成一些任务。你向你的老师承诺完成这门课程的家庭作业就是承诺的一个示例。你同意为客户编写程序是另外一个示例。
当A先生制订一个承诺时,他同意在规定的时间内为B小姐完成指定的任务并且收取一定的报酬。这个示例又指出了承诺的另外两个要素:除了规定的任务之外,双方还在完成任务的时间、A先生作为回报而得到的收入或其他的报酬上达成了一致。你同意在一个星期之内完成并提交家庭作业、指导教师同意给你的作业一个成绩就是一个示例。另外一个示例就是客户有义务向你支付为开发和安装某个软件的费用。
个人承诺的一个关键特征就是双方都是自愿的。例如,假设你的客户发现他需要早一些得到程序,并且让你比原计划提前两周完成任务。他从未问过你是否能够做到这一点,并且你也没有同意。你只是被告知了新的最后期限。即使你经过努力能够按照新的期限完成任务,但你很可能觉得自己并没有义务这样做。
为了达成真正的承诺,必须透彻地考虑另外一种可供选择的方案,并决定是否能够完成这项任务以及是否愿意去做。仅仅被别人告知必须做某件事情并未使你做出个人的承诺。实际上,当被命令去做某些事情时,人们常常会觉得受到了威胁并会感到气愤。他们会对做出这项指示的人感到不满,甚至会想进行报复。当然一种报复的方式就是拒绝去做被命令去做的事情。虽然对正常的商业要求做出这种反应可能会显得很幼稚,但是很多人无意中都会做出这种反应。
真正达成一致是个人承诺的最重要的特征。双方必须在要做什么、何时完成任务以及提供什么回报这几方面达成一致。
一个真正的承诺既是个人的承诺也有合同的效应,并且它需要双方或多方在如下问题上达成明确和自愿的一致。
要做什么(事情)。
判断工作是否完成的准则。
由谁来完成任务。
何时完成任务。
作为回报所支付的报酬或其他考虑。
由谁来提供这些报酬或其他考虑。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。