今日洞见
文章作者/图片来自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一定能做好。