原文链接:enter link description here 作者:Stream2010

      非常喜欢反复的研读《高效程序员的45个习惯》这本书,简洁却直中要点。在读“让客户做决定”这一章节时,结合之前的经验教训深有感触。“开发者(及项目经理)能做的一个最重要的决定就是:判断哪些是自己决定不了的。应该让企业主做决定,毕竟,那不是你的事情。”,这在现实的开发和项目管理中,容易出现开发者或者项目经理在遇到业务上或技术上,特别是业务上无法找到完美的解决方式时,容易导致两种选择:要么规避,对客户隐藏,要么自作主张选择一个自认为较优的方案。这两种选择,都是不合理的,规避就意味着更大的风险和影响客户满意度,自我认为较优的方案在团队整体或客户看来可能并不是最优的。因为客户往往是对自己业务需求最了解的。

      在需求人员整理好客户需求前提下,独立负责系统的设计和开发。在实际项目中,前期需求整理并不一定是完全没有问题的,但由于我在开发过程中,对很多本因需要跟客户反映和沟通的地方,要么选择规避,要么选择自认为不错的替代方案即马不停蹄的做。规避的心里就是侥幸的心态,擅自决定其实就是担心在向客户反映问题时影响客户对我们的认可和怀疑,最终就是该项目目前仍然有不少潜在问题。但在最近的一次项目实施中,有幸和在处理类似事情上非常有经验的前辈合作。他处理的方式就是在较难解决或找不到完美的方案情况下,真诚的向客户反映,并且给客户出一些可选的方案,并分析每种方案的优点和缺点,最终由客户来做决定。这样一来,不仅问题得以解决,同时客户对我们的技术和态度也都非常满意。而且这位前辈还能想客户所没想的问题,跟客户沟通,在客户看来我们的确是在努力帮助他们将系统做得更好,对我们也就非常的放心和认可。

      总结起来就是:开发者、项目经理或业务分析人员不应该做业务方面的决定。应该用业务负责人能够理解的语言,向他们详细解释遇到的问题,饼让他们做决定。