本节书摘来自异步社区《个体软件过程》一书中的第8章8.5节处理没有完成的承诺,作者【美】Watts S. Humphrey,更多章节内容可以访问云栖社区“异步社区”公众号查看。
8.5 处理没有完成的承诺
个体软件过程
当你能熟练地制订计划之后,通常不会延误最后的期限。但是没有人能保证从不超过规定的限期。因为软件工程师所做的许多事情都是以前未做过的并且是具有创造性的,所以也就存在很大的风险。如果考虑所有可能的风险,你的估算就会高得不切合实际,因此在进度或费用上出现偶尔的失误是不可避免的。
如果已经确定无法完成某个承诺,要尽快通知对方,并共同解决已经发生的问题。例如,双方商量可以延长工期或是缩小工作的范围。对于软件开发来说,通常的策略是在原进度或接近原进度的基础上交付一个具有较少功能的版本,然后再对产品进行一次或多次添加功能。通过适当地定义追加功能的顺序和时间,往往能够将客户所受的干扰减少到最小的程度。
处理偶尔出现的延误或是无法完成的承诺的方法是很重要的。承诺的问题总是令人不悦。你可能由于制订了糟糕的计划而变得心情不好,而那些你对其做出承诺的人会觉得受到了误导或欺骗。此时也可能会导致财务上的问题,有时还需要找出承担责任的人。这种不悦会更耽误时间。希望情况会有所改变而推迟通知对方通常会使事情更糟。最好在发现问题后,尽快面对不愉快的现实。
但是有一点很重要:如果还没有非常努力地去满足承诺,就不能轻易放弃。问自己这样一些问题:你是否和有关专家讨论来寻找更好的方法?增加资源能否加快工作的进度?是否还有更巧妙的设计方案?彻底地考察各种可能的情况,然后,如果确实没有其他的方法,不要耽误时间,马上处理这些问题。
没有完成承诺通常会带来不便和不快。这就是为什么人们在面对这种问题时经常要推迟到最后一刻。就像鸵鸟一样,他们在推迟这种不快,并希望问题会自己解决。不幸的是,把头埋在沙堆里只会增加破坏性,耽误客户选择可能有的其他方案,加大了不满意的程度。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。