原则9 促使开发者与客户的目标一致

ALIGN INCENTIVES FOR DEVELOPER AND CUSTOMER

项目经常会因为客户和开发人员的目标不同(或不兼容)而失败。一个简单的案例是,客户希望在特定日期前获得特性1、2、3,而开发人员希望最大化营收或利润。为了最大化营收,开发人员可能会尝试完整地开发这三个特性,即使会导致项目延期。与此同时,客户可能宁愿放弃其中一个特性的一部分功能,只要能按时交付其他特性。

为使双方的目标达成一致,有如下方法:

(1) 按优先级对需求排序(见原则50),以便开发人员了解它们的相对重要性。

(2) 根据需求的优先级奖励开发人员(例如,所有高优先级的需求必须完成;每完成一个中优先级的需求,开发人员可获得一些额外的小奖励;每完成一个低优先级的需求,可获得的奖励非常小)。

(3) 对逾期交付实行严厉的处罚。