摘要:对标市面主流产品,更新差异特性,让产品跟随市场变化。

本文分享自华为云社区《项目上线后,如何减少客户对交付成果的质疑》,原文作者:敏捷的小智。

背景

背景描述

早些年前,软件行业刚刚兴起,当时的软件产品功能简单,用途单一,软件研发方法也都遵循“计划-->需求分析-->设计-->编码-->测试-->运维”这样一个流程按部就班的开发,最后产品基本能满足客户的需求。这种研发方法被很多公司沿用至今,可与之前不同的是,客户对项目交付成果的质疑越来越多。

有家公司就问了类似的问题:“项目上线后客户提出质疑,导致交付出现问题,项目管理上如何操作可以避免或减少这种情况的发生?”在交流过程中,我们了解到该公司在使用传统的瀑布模型进行研发,同时也了解了客户主要有哪些方面的质疑。

质疑描述

客户质疑大致有三方面,一方面:交付成果和合同要求对不上:客户认为合同明明说的是A,可是产品做出来的功能却是B,比如地处西北的客户吃饺子,想蘸点老陈醋,签了份合同让公司提供“饺子蘸料”,接单的是东北人,根据“蘸料”开发了一瓶酱油,于是客户认为自己表述的足够清晰,是公司内部管理不善造成功能开发错误;另一方面,产品按需求研发,但是整个研发过程中,客户一直没有接收到研发团队关于产品或研发进度的信息,导致客户对项目的焦虑,从而对产品产生质疑;还有一方面,有的产品按需求正确开发,也定时向客户汇报进度,可交付时客户认为功能不够,在当下市场没有竞争力就像当下做电商不支持移动支付;这些质疑让公司很头疼。

你是否也经历着同样的问题?如何减少客户对交付成果的质疑?

问题分析

上文提到的质疑可以概括为:双方对需求理解不一致,产品功能规划没有随市场变化而刷新和沟通不足引发客户不了解情况而焦虑。接下来我们推测下产生这些质疑的原因。

双方对需求理解不一致

需求被制定后,可能没有做进一步澄清,导致开发人员理解有误,照着自己的想法开发出偏离预想的产品;或者客户想表达的意思是A,但是由于自己表述有问题,需求描述成了B,那自然无法开发出令人满意的交付成果。

还有一种情况更要命:客户在制定需求的时候自己只有一个模糊的想法,具体要做的自己也不清楚,这种情况按计划做出的产品想令客户满意就只能靠运气了。

沟通不足,客户因不了解情况而焦虑

我们试想一种场景:小张在网上买了个手机想要送给女朋友作为生日礼物,眼看生日快到了,商品显示已发货,却始终看不到详细的物流信息,客服也不告知小张商品目前是啥情况,换做你是小张,你急不急,就算商品按时到达,也会因为物流过程不可见而而很难获得好评。

实际生产中也是一样,客户下了订单之后,研发团队一直闷头干活,不与客户沟通项目进度,客户一样会因为不了解项目进展而焦虑,最终对交付成果产生质疑。

产品功能规划没有随市场变化而刷新

正所谓计划不如变化,传统研发模式是计划驱动,而市场是瞬息万变的,想要占领市场,需求变更在所难免。计划就像一张地图,一条路经历世事变迁会发生很多变化,按照一张两年前的地图找上面标注的店铺很可能走了半天也找不到地方;同样,照着两年前制定的计划做出的产品,按交付时的背景去审视它,会给人一种“乃不知有汉,无论魏晋”的感觉,客户难免会对产品提出质疑。

解决措施

传统研发模式的交付类似流水作业:做完计划和需求,就可以按照计划进行开发,然后交付验收。在这种研发模式中,客户参与度类似U型:客户在计划阶段和定义需求阶段参与较多;之后项目进入研发阶段,客户参与度骤降甚至不参与;最后交付阶段客户参与进来,进行验收工作。客户在研发阶段参与度降低,很容易造成双方对产品沟通不到位:比如需求被错误理解没人引导;市场上出现新功能,产品想不到变通等,这些“不到位”最后都会转化成对交付成果的质疑。为避免这种情况,可以尝试做敏捷转型,客户对交付成果的质疑在所难免,但敏捷可以大大减少客户的质疑。

敏捷开发的价值观是:“个体和互动重于流程和工具;可工作的软件重于面面俱到的文档;客户合作重于合同谈判;响应变化重于遵循计划,尽管右侧重要,但左侧更重要”。敏捷按迭代进行交付,每个迭代持续时间不会很长;同时敏捷更注重给客户带来的价值,客户(或客户代表)可以全生命周期的参与并影响整个项目。下图是传统开发和敏捷开发客户在不同生命周期参与度对比。

敏捷具体可以从哪几个方面减少客户对交付成果的质疑呢?

使用标准的用户故事方法分析和记录需求,确保双方理解一致

传统研发模式以计划为导向,使用详细的文档比如:概要设计、详细设计记录需求,这种方法有他的优点,但是缺点也比较明显:首先制作计划需要花费很长的时间,其次需求描述过于产品化,不易解读。

敏捷开发以价值为导向,区别于传统研发模式的文档,敏捷开发使用用户故事记录需求:用户故事是站在用户的角度去描述需求,并且给出用户期待实现的价值,这样开发人员更容易开发出客户真正想要的功能(用户故事细节详见 《 “用户故事等于需求说明”——你一定没有写好用户故事》 )。

举个例子,使用用户故事描述需求:客户吃饺子想要一瓶蘸料,用户故事可以写成:“作为生长在山西的小王,我想要一瓶饺子蘸料,以便于让饺子吃起来更美味”。通过用户故事可以看出,客户是“生长在山西的”,所以饺子蘸料可能是老陈醋而不是酱油,交付起来会比“客户想要一瓶蘸料”准确很多。

另外用户故事并不是写好之后就一成不变的。用户故事的“INVEST”原则中的“N(可商议的)”原则要求用户故事是可以商议的。当开发人员不理解用户故事中的需求,可以将问题抛出来,由产品负责人进行澄清,直到双方对需求的理解达成共识。下图是使用DevCloud编写的用户故事,以及需求分析讨论。

综上所述,使用标准的用户故事记录需求,可以解决双方对需求理解不一致的问题,从而减少客户对交付成果的质疑。

通过评审会等方式与客户保持定期或不定期的沟通交流

敏捷开发方法众多,Scrum是最主流的敏捷方法之一。Scrum中有四个活动:计划会议,每日站会,评审会议,回顾会议,每个活动都帮助着团队更好的践行敏捷,更高质量的交付,各活动详细信息如下:

从表中可以看出,计划会议,每日站会,评审会议都是围绕产品开展的。评审会议在每个迭代即将结束时开展,定期邀请客户参加评审会议是最直接有效的与客户沟通的方法:会上团队向客户演示迭代交付成果,客户通过演示了解产品已经具备哪些功能,哪些功能没有完成,哪些功能和理想中有偏差,对于偏差部分可以和开发团队沟通,后续迭代进行改进。

如果客户很忙或者时间不稳定,不能参与每次评审会议,那么可不定期邀请客户参加每日站会,站会每天早晨都进行,客户可以在有空或有兴趣的时候参与。每日站会不是必须和客户一起开展,但是通过站会客户能了解到小部分交付成果以及团队工作状态,减少焦虑。客户不参加会议的话,可由产品负责人在评审会议结束后整理评审会议纪要,通过拜访,电话,邮件等形式告知客户,让客户了解当前项目进度,减少焦虑,从而减少对交付成果的质疑。

对标市面主流产品,更新差异特性,让产品跟随市场变化

除了澄清需求、增强与客户的沟通等手段之外,我们还可以带着客户,用产品对标市面上其他主流产品,找到差异并更新,减少客户的质疑。比如一款电商产品的结算功能在计划时未考虑移动支付,只支持网银支付,按传统模式运作项目的话,最终交付时产品不会支持移动支付,使用起来会很麻烦;如果使用Scrum运作项目,可以在项目进行过程中,或者评审产品的支付功能时,对标主流电商产品,这时候会发现移动支付是目前最主流的在线支付方式,产品需要支持移动支付,所以可将“结算功能支持移动支付”作为一个优先级高的新需求加入项目,并与产品负责人协商下个迭代或尽可能快的完成这个需求,让产品的支付功能跟随市场变化,增加产品的竞争力。

参考附录

Kenneth S.Rubin:Scrum精髓. 北京:清华大学出版社

Scrum Guide

点击关注,第一时间了解华为云新鲜技术~

面试官问我:如何减少客户对交付成果的质疑相关推荐

  1. 面试官问你期待工资多少时,该怎么回答?

    面试时,面试官问我期望工资是多少,我想都没想就要了6000元月薪,然后顺利入职了,可直到2年后,老板给我加薪时,我才知道当初面试的工资要少了,老板教会了我,如果面试官问期望工资是多少,该如何回答,但是 ...

  2. 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...

  3. 面试官问:Kafka 会不会丢消息?怎么处理的?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Kafka存在丢消息的问题,消息丢失会发生在Broker, ...

  4. 面试官问:Integer 如何实现节约内存和提升性能的?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Byte_Liu 来源:https://urlify.cn/ ...

  5. 当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

    前言 今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的. 对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的 ...

  6. java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  7. 蚂蚁金服二面:面试官问我零拷贝的实现原理,当场跪。。。

    本文来源:占小狼的博客 "狼哥,面试又跪了,碰到了知识盲区" "哪个?" "一面还可以,二面面试官问我零拷贝的原理,懵逼了...这块内容没去研究过&q ...

  8. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...

    文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...

  9. sql参数化还是被注入了_面试官问你 SQL 注入攻击了吗?

    目录 为什么要聊 SQL 注入攻击? 什么是 SQL 注入攻击? 如何进行 SQL 注入攻击? 如何防范? 常见面试题 瞎比比 为什么要聊 SQL 注入攻击? 我这人有个想法,就是不管自己跳不跳槽,每 ...

最新文章

  1. 教你辨别36k纯数据科学家
  2. window.location.reload() 刷新页面时,如何不弹出提示框
  3. Leaflet实现地图分屏联动
  4. getpeername函数与getsockname函数的介绍
  5. 发送邮件 的类 C# .net
  6. R语言:ggplot2精细化绘图——以实用商业化图表绘图为例(转)
  7. java根据周数获取日期_java获取日期的周数和所属年份
  8. CSDN 七夕包分配,最后一天啦!
  9. 2022MathorCup-D题思路
  10. c语言入门ppt演示,c语言学习ppt-C语言入门教程ppt(共434页)免费版【精品课件】-东坡下载...
  11. 操作系统实验Lab 2:system calls(MIT 6.S081 FALL 2020)
  12. 计算广告学(Computational Advertising)学习资料
  13. X1000 SPI 时钟获取失败
  14. 哪些交易2010年可能出问题
  15. 中科院计算机所博士何飞,2017年中科院计算所博士生招生考试说明
  16. stm32项目实战ST7735环境质量检测仪
  17. 四款功能强大的优质app合集,总有一个能给你带来帮助!
  18. wordpress文章自动同步天涯博客插件wp2Tianya发布
  19. speedoffice(Excel)表格怎么设置文字自动换行呢?
  20. 虚拟服务器 vmotion,vSphere vMotion能够同时迁移多少台虚拟机?

热门文章

  1. (1)HTML5概述
  2. 实践 + 理论 | API 接口安全性设计
  3. Bootstrap按钮的状态
  4. param参数服务器
  5. mysql交给spring管理_Mysql事务结合spring管理
  6. linux中wait()系统调用的例子,linux进程管理之wait系统调用
  7. win10睡眠按啥键唤醒_防止Windows10自动唤醒,就用这4招,维修电脑必知
  8. delete请求怎么传参数_postman第2讲-核心功能一:Request(请求)
  9. 常用docker管理UI
  10. 软件工程(2019)第二次作业