项目中的一些轶事

本文通过四个开发故事揭示了项目落地过程中常见的困境,包括紧急任务的应对、客户需求理解、需求沟通不清及特殊订单处理。文章指出,项目需求分为云层、天空层和地面层,强调明确基本概念和落地细节的重要性。同时,提出了西方思维中的四个关键问题:WHAT、WHY、WHEN和HOW,并阐述了它们在项目执行中的作用。
摘要由CSDN通过智能技术生成

开发杂谈

《故事一》

一个运营系统,因为某种外在原因,急需作出更改,不然,某个流程会跑不下去。开发团队只有一天时间完成这个紧急任务。

由于改动挺大,团队并没有足够时间分析问题,便凭直觉开始弄了。

一天后,功能勉强可用,流程在半自动半手动的方式撑了下去。后续关于这个功能的变更,因为已经是运营中的代码,不是所有人都有魄力和胆量去冒风险作任何大改动,这段代码成为永远的历史,仍然保持着半自动半手动的操作方式。之后维护这段代码的人,遗传了恶名,真的躺着也中箭。

《故事二》

业务员知道竞争对手的系统都拥有这个那个功能,而我们系统是没有的。要让业务员可以有更充足的理由让客户转用我们的系统,我们必须尽快开发出类似这个那个功能。

经过几番努力,开发团队终于开发出类似的功能,但由于新功能刚刚出台,未免有所欠缺。而且功能是参考竞争对手来做的,总觉得有些精髓的东西没有做出来。业务员当然也拉不到一个客户,原因是[功能不好用]。

《故事三》

在一个关于产品的会议中,参与者纷纷表达了产品必须让用户觉得好用易用,输入必须最少化,系统必须智能,信息必须准确,也需要灵活面对不同的情况。

被问到具体操作细节的时候,此等[云层次]的需求又再次被重复了,而且大家都显得不耐烦,认为这么简单的需求,怎么可能要一说再说。

经过一番努力解释后,大伙儿有点明白从细节上开发团队需要知道什么了。但是这些对细节的要求被认为是技术性的内容,直接以:[这些技术性的内容我们不知道的呀,这个需要你们来想]回应来结束。同时会议就被高效地结束了,需求好像也就沟通清楚了。

随后产品交付了第一个迭代,结果当然不符合大家曾经提过的云层次需求了。开会时,火花四射,中枪的也是技术团队,当中关键字是:不应该这样操作的,不明白为什么不早说,这个功能肯定不能是这样子干的。

《故事四》

有一个项目,内容是针对一种特殊类型的订单,引申出不同的新作业功能。由于该项目一直没有达到预期效果,功能做了出来,就是觉得不怎么对劲。当然也没人用,尽管管理层指示要强迫使用。

团队针对此项目准备下一个迭代计划的时候,在会议中,有人问了一个看来是无聊的问题:什么是订单?我们得出一个结论:在系统中,一个订单是针对一个商品的。

此人再问:我们此项目里的所谓[特殊类型的订单],跟以上所说的[订单]有什么不同?

不同点可大了。在这种特殊订单中,商品还没确定,我们客服会针对客户的要求和成本考虑,再选择适当的商品。

既然不同点那么大,就和之前的所谓[订单],有着明显的处理上的差异。勉强用订单功能来扩展支持这种特殊类型的订单,似乎行不通。也难怪项目之前一直不理想。

《思考》

以上故事,如有雷同,实属巧合。

四个故事都有着一个共通点:项目如何落地。犹如在三万八千尺上空跳降落伞下来,能在某个特定地点着落是非常困难的。

需求

需求大致可以分三几个层次:

  • 云层
  • 天空层鸟瞰层
  • 地面层

云层需求是最高层的需求,具备战略意义。

天空层需求可以大概看到地面布局,山川河谷,道路网络。

地面层需求巨细无遗,你可以看到虫子在地上如何爬动。

用户体验,永远都是在地面层,好用与否,都在细节,用户体验决定项目的成败。

但是操作细节是否合理,操作是否具备价值,整体如何协调等问题,必须有一个完整布局,而布局需要鸟瞰层来规划。

永远停留在云层,只强调策略,对项目实施完全没有帮助。

落地

西方思维强调4个问题:WHAT,WHY,WHEN,HOW

WHAT(是什么):问这个问题需要勇气,因为貌似很简单很基本的问题没搞懂,在团队中似乎很没有面子,但往往搞清楚基本问题后,会有拨开云雾见晴天的感觉。

什么需要搞清楚?在一个业务领域中,经常出现的名词和动词需要弄清楚。这样做会组成了一套领域专用术语(Domain Specific Language, DSL)。Eric Evans在《领域模型设计》1上提到,领域专用术语应该无处不在,它必须出现在日常工作的对话中,也需要同样出现在代码中。

WHY(为什么)涉及到为什么会有这个项目,项目目标和目的。在经验中,定义这个不是太大问题,每个人都可以说一大堆理由去启动一个项目,尤其是对自身利益相关,故事二是一个经典的例子。

WHEN(什么时候)涉及到执行的先后顺序,在资源有限的前提下,不能什么都要,也不能马上就要。

HOW(怎样做)比较花时间精力,需要经过设计,好与不好的关键就在这里。同样一个购物网站,核心都可能是处理商品、价格、订单。你如何展示你的商品,如何定价,如何处理订单,每一个[如何]都可以是一个专业,都需要累积经验来设计好。

大多数项目中遇到的困难,都出在 WHATHOW 两个问题上没有搞清楚。项目要顺利执行,起码需要在鸟瞰层中搞清楚这两个问题。而且这两个问题也同样需要和项目一起迭代更新,不断审视,不断优化,来驱动整个项目的变更。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值