专栏首页ThoughtWorks敏捷实践Showcase的七宗罪|TW洞见

敏捷实践Showcase的七宗罪|TW洞见

今日洞见

文章作者/图片来自ThoughtWorks:林冰玉,部分图片来源于网络。

本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。

Showcase介绍

Showcase就是开发团队把开发好的功能给客户的Product Owner(以下简称PO)等业务相关人员演示,以获取他们对所开发系统的反馈,是敏捷开发流程中的一个实践,一般的频率是一个迭代一次,也可以根据项目具体情况做调整。

Showcase的目的是做功能演示,这同时也是展示开发团队面貌的时刻,其重要性不言而喻,但在我经历的项目中,总能看到一些不是很理想的地方。

Showcase之七宗罪

1.准备工作没做好

所有人就位,准备开始showcase的时候,突然发现环境没有ready,连不上了!

好不容易把环境弄好了,开始showcase,可是数据又没有ready,还要临时创建,花了大半天时间(创建、准备数据)才终于show到了真正要演示的功能……

主讲人手忙脚乱,而其他人都要在这种忙乱中等待,浪费了很多宝贵的时间,尤其是对于PO那些重要人物来说。

正确做法:充分做好准备工作

确定要做showcase的功能后,需要提前把以下事情提前做好:

  • 从业务的角度把整个要演示的功能尽可能的串起来,准备好showcase演示的步骤;
  • 演示数据也需要准备好,showcase的时候可以直接使用,只需要操作所演示功能部分,不需要临场创建准备数据;
  • 演示环境要提前准备好,包括部署好需要演示的应用程序版本,而且要告诉团队不要破坏准备好的环境。

2.没有上下文铺垫

着急忙慌的准备好一切之后,就开始页面操作了,既不先介绍一下要演示功能的来龙去脉,也不说明这个功能是干嘛的。那些日理万机的PO等业务人员很有可能没见过这个系统功能,很容易被搞得云里雾里、不知所云……

正确做法:开始演示前要先介绍上下文

根据自己对所演示功能的理解,先介绍该功能的业务价值,满足了用户的什么需求,让在座的各位业务人员能够更容易理解后续showcase的内容。

3.逐条过AC

Showcase的过程就是按照用户故事(story)的验收标准(AC, Acceptance Criteria)一条一条的过一遍,没有连贯性。这样的演示很难让观众把每条AC跟整体的系统特性、真正的业务场景联系起来,容易迷失。因此,常常会有“演示完了一个story,而客户却问这是实现了什么业务需求”的情况发生。

正确做法:以功能为单位演示

不要一个一个用户故事的演示,而是将整个功能串起来,最好定义出单独的业务场景演示给客户看,并且尽量使用业务语言描述。这样能让客户的业务人员感觉更有亲切感,看到开发团队的人员能够用业务语言进行描述和演示,他们一定会留下好的印象。

4.企图覆盖所有路径

在系统功能中,通常会有“用不同路径实现相同或类似功能”的情况,比如一个上传文件的功能有多个入口,但到达的上传文件页面是相似的。有人在演示这个文件上传功能的时候,企图把所有入口的文件都完整演示一遍,到后来根本没有观众愿意关注,都在私下讨论了,有时也会有客户业务人员直接出来制止。

正确做法:只演示最关键路径

在遇到多个路径实现相同或相似功能的时候,对其中一条最复杂/重要的路径进行详细演示,其他路径提到即可,并指出其他路径不同的地方,不需要一一演示,以节省时间。

5.过多提及跟演示功能无关内容

有人天生能聊,showcase的时候也喜欢啰啰嗦嗦的说一大堆,经常会提及一些跟正在演示的功能无关的东西,或者提及团队采用的技术方案等业务人员不感兴趣的内容,导致showcase过程不能按时结束,甚至忽略掉某些重要的反馈。

正确做法:只提及要演示的功能

有时候在一个showcase周期内可能开发了一个主要的功能,以及对一些小的feedback进行了改动等,这时候showcase可以考虑只演示最主要的功能,那些小的feedback就不需要show了,也不要提及任何还未完成的功能模块,特别是对于团队正在开发的技术卡或者还不成熟的技术方案等,一定不要提及。因为对方是业务人员,不会对技术相关内容感兴趣。

6.认为showcase仅仅是BA或QA的事情

业务分析师(BA, Business Analyst)和质量分析师(QA, Quality Analyst)通常是团队中跟业务打交道最多的,也是最了解业务的,而showcase就是给客户的业务团队做系统演示,于是团队其他角色就会有人觉得showcase仅仅是BA或者QA的事情,跟自己无关,也不关注。

正确做法:人人都可以showcase

Showcase不是某个角色独占的。团队中的所有人只要对业务、对要演示的系统功能足够了解就可以负责showcase。通常可以采用让团队中的不同人员轮换负责showcase的方式,以增加团队成员在客户面前的曝光率,同时也能增强团队中不同角色人员熟悉系统、熟悉业务的意识。另外,就算不主导showcase,团队人员也可以尽量多参加showcase会议,这是一个了解系统、听取客户反馈的绝佳机会。

7.不熟悉的新人负责showcase

既然showcase不仅是BA或QA的事情,常常也会有其他角色来参与负责这件事情。从团队能力建设的角度考虑,PM有时候会让一些比较junior的同事或者新来不久还没有好好了解系统的同事来做showcase,结果就是演示过程非常生硬,甚至会有很多说不清楚的部分,而在一旁听着的BA/QA只好着急的上来帮忙解释。

正确做法:showcase前先充分了解系统和业务

虽然人人都可以showcase,但不建议采用给青涩新人提供showcase机会的方式来帮助他们提高能力,如果要给新人锻炼机会,可以让新人在结对编程、Story Kickoff、Desk Check的时候多多主导,等到对系统和业务有了一定了解时再给客户展示比较好;或者新人非常有意愿直接主导showcase,那么一定要在演示前做好对系统和业务的充分了解,以能应付和解答客户的挑战和疑问。

总结

前面关于showcase的正确做法都是围绕“专业(Professional)”和“高效(Efficient)”展开的,showcase的目标观众是客户的PO等业务人员,他们是决定是否认可开发团队所开发功能的重要人物,所以在showcase过程中表现出专业性和高效率非常重要。因此,只要记住这两个词,并严格遵循,showcase一定能做好。

本文分享自微信公众号 - 思特沃克(ThoughtWorks),作者:林冰玉

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精益的新产品启动与技术创业(上)| TW洞见

    今日洞见 文章作者、部分图片来自ThoughtWorks:张思楚。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体...

    ThoughtWorks
  • 我们应该怎样使用开源软件 | 洞见

    开源是近年来大火的词汇。自2017年7月Facebook的React开源软件被Apache基金会宣布禁止使用、百度也宣布全面停止使用以来,开源软件的合规性使用引...

    ThoughtWorks
  • ThoughtWorks金融科技雷达——金融科技趋势前瞻|商业洞见

    【摘要】 2015年是互联网金融监管元年,自此政策猛然收紧,风口关闭。正当互联网金融这股洪荒之力无处宣泄之时,FinTech这个泊来的词汇,似乎来的恰逢其时,给...

    ThoughtWorks
  • 单细胞转录组数据处理之降维聚类分群

    理论上我们已经足够认识表达矩阵了,现在可以开始单细胞转录组数据的主角:降维聚类分群。如果你的背景知识不足,也可以先读一下综述,我们单细胞天地有中文指引:

    生信技能树jimmy
  • 聊天机器人開發好消息!!DIALOGFLOW與微訊的天作之合!!

    虽然DIALOGFLOW暂未能够与微讯(WECHAT)或企业微讯(ENTERPRISE WECHAT)进行任何技制上的连接INTERGRATION),确实限制了...

    Spanz
  • BZOJ2476: 战场的数目(矩阵快速幂)

    第一种情况:左侧或右侧有一个1,那么把这个1删去,对应的方案数为\(f[i - 1]\)

    attack
  • RocketMq之Producer原理浅析

    首先在理解生产者发消息之前,必须要明白一个概念:MessageQueue是什么? 其实MessageQueue是RocketMq的一种数据分片+物理存储机制。

    大王叫下
  • The difference between @Autowired and @ResourceAutowired (由Spring提供)Resource(由J2EE提供)结论参考地址

    我更偏向于使用 @Resource 注解在 Field上,这样可以省略 setter方法。 其次,这个注解由 J2EE 提供,可以在 J2EE 环境下通用,而...

    幺鹿
  • flutter dart日期类型操作

    dart的日期类型和js有相通的地方,但也有很大的不同,个人感觉比js的api要好用一些。dart的日期对象是DateTime,下面来逐步介绍一下其api的使用...

    无邪Z
  • flutter dart日期类型操作

    dart的日期类型和js有相通的地方,但也有很大的不同,个人感觉比js的api要好用一些。dart的日期对象是DateTime,下面来逐步介绍一下其api的使用...

    无邪Z

扫码关注云+社区

领取腾讯云代金券