如何避免诧异的反应

问:每次里程碑结束后,我们向客户汇报的时候,客户总是会惊讶地说,某某功能不是我们当初商量的那样啊,而PM却也同样一脸诧异地说,不对啊,当时咱们就是这么说好的啊,有文档为证。客户不干了,威胁不加/不改xx功能就如何如何,这时PM该怎么办?

阿超:我们在合同里要写明到底我们要交付的是什么,这就要看PM的分析和说明能力了。有时要对客户说"不"。同时,我们在需求说明中也要从用户的角度去描述问题和解决方案,这样用户才能了解他们最终会得到什么,另一个方面是,当你给用户演示一些界面的时候,要说明哪些界面只是示例而已,哪些界面是大家同意的最终设计。敏捷的开发流程鼓励用户经常参与设计和计划,如果有条件这么做,那当然很好。

问:项目开发中后期,开发人员用工具一统计,乖乖,足足xx万行代码,xx千个存储过程,可是每到给客户演示时,却不时出现程序的各个功能相互不配合,不能自圆其说的尴尬场景,Devleader很郁闷,想想自己可是没少加班啊,代码量也够多,可是问题究竟出在什么方面呢?

阿超:一个原因是每个人都沉浸在"我要写出最强大的某某类或某某模块"中,不停地优化一些没有人用的功能,但是真正能够为其他模块使用的功能却未能实现。他们忘了他们写的代码是给别人用的,而且是为了解决用户问题的。所以这个时候我们要想想"用场景驱动"的方法,保证典型的用户场景能够实现。如果从"场景"出发,各个模块的互相集成就能得到充分的测试,按照场景演示起来就更有保障了。

问:在项目开始之前,有很多队员还没有接触过编程语言(例如C#),导致PM在分配任务时很难用时间来衡量,就拿写一个WebService这一模块来说,一个熟练的程序员可能只需要两个小时,而对于初学者来说,就得先花两天来理解Web Service的实现机制和原理。在有限时间的催促下,导致一些紧急的任务不断向高手集中,而初学者的任务越来越少。这时应该怎么办?

阿超:对于这些队员,可以考虑在他们自己的任务估计值之上再乘以4。另外,如果你是写一个商业项目,请不要让连开发语言都没有接触过的队员进行开发工作。并不是非得"写"程序才是对项目有贡献,有时不写也有很好的贡献。如果他们有热情,就从测试开始学习吧。请参看前面提到的"大马哈鱼洄游模型"。

相关推荐
DemonAvenger3 小时前
Redis缓存穿透、击穿与雪崩:从问题剖析到实战解决方案
数据库·redis·性能优化
workflower1 天前
小强地狱(Bug Hell)
大数据·bug·团队开发·需求分析·个人开发·结对编程
SakuraOnTheWay1 天前
解构 JavaScript 迭代器:一行代码引发的性能思考
javascript·性能优化
散一世繁华,颠半世琉璃1 天前
从 0 到 1 优化 Java 系统:方法论 + 工具 + 案例全解析
java·性能优化·操作系统
拾忆,想起1 天前
单例模式深度解析:如何确保一个类只有一个实例
前端·javascript·python·微服务·单例模式·性能优化·dubbo
catchadmin1 天前
PHP 之高级面向对象编程 深入理解设计模式、原则与性能优化
设计模式·性能优化·php
IT枫斗者1 天前
Java 开发实战:从分层架构到性能优化(Spring Boot + MyBatis-Plus + Redis + JWT)
java·spring boot·sql·mysql·性能优化·架构
山峰哥1 天前
数据库性能优化实战:从工程架构到SQL调优的深度解析
大数据·数据库·oracle·性能优化·架构·深度优先
夜月yeyue2 天前
Linux 调度类(sched_class)
linux·运维·c语言·单片机·性能优化