如何面向用户价值编写敏捷开发用户故事

敏捷开发中的用户故事采用的语法模式看似简单,却蕴含着深刻的思想。

“作为一个……,可以……,以(以便)……”不同于一般专注于功能的需求条目描述方法,三个……把角色、功能、价值跃然纸上。然而使用不当,却有可能形似而神不似。

下面就三个部分分别举出一个例子。

 

网络游戏的排行榜功能:“作为一个玩家,可以通过显示排名,以便让自己在服务器中的地位获得认可。”

这个功能可以激发玩家的“斗志”,鼓励购买道具,是个不错的想法,但实现起来却有技术问题:服务器中的玩家太多了,实时查看排名非常不现实。另一个问题是小虾米们其实对自己的排名不太关心,即使关心,也不会为了提升排名去购买道具,只有一批(也有上百个)顶级大佬才会真正受此蛊惑。

这个故事后来被改为:每周重新排名一次,而且只显示TopXXX(很像csdn的“排名两万以外”)。所以如果写成故事,就变成:

“作为一个排名靠前的付费玩家,可以通过显示排名,以便让自己在服务器中的地位获得认可(以刺激消费)。”

当然,对小虾米们也有刺激消费的方法,比如打怪掉落了一个很棒的道具,却要花钱买打孔材料和镶嵌宝石,即使用保健因素而非激励因素让他们消费,那是另外一个故事了。笔者曾经体验过的一个游戏中有帮派战争,大号会争当“连斩狂客”,小号则有“寻宝冠军”可得,且人人均有积分,因此各层人物都争相参加。

这个故事让我们理解到:“用户”这个词太笼统了,如果他们的“价值观”差别很大,就要分别为他们写故事,才能吸引他们使用功能,达成价值观。

 

权限查询功能:“作为管理员,可以查询所有用户的权限,以了解所有用户的权限”。

一种很常见的写之无味不写不行的故事,因为好像功能=价值。其实管理员不会平白无故地查看所有用户权限的,多半有其目的:有人反映自己访问不了某个文件,有个项目死活加不上新用户,有人刚刚离职,有三个外包团队的人需要在最近三个月在项目中作为成员一起工作……

知道这些就好多了,当点击“权限”这个tab后,多半不会出现“所有用户的权限”(倘若想想有10000人的企业),而是继续出现几个子链接:查询个人权限,项目成员,人员离职,限时权限(外包人员管理)……

当然,这需要一大堆故事了,但如果一个给客户带来明确价值操作友好的产品正是我们所追求的,我们极有可能选择开发其中最高价值的几个,然后再留下之前那个“万能”但又什么都干不太好的。

这个故事让我们理解到:功能不等于价值,要理解用户操作功能的业务目的,不要随意抛出万能的功能。

 

杀毒软件的防打扰功能:“作为一个用户,可以选择‘认可所有相似操作’,以便同意或禁止连续的相似操作。”

这看起来也是个很不错的功能,但笔者曾经在安装软件的时候用到这个功能,尽管选择了“认可所有相似操作”,窗口仍然跳个不停,直到后来仔细查看弹出的信息,原来在软件安装过程中要进行很多“不相似”的操作:修改注册表,创建C盘目录,向system32中拷贝dll……而这个杀毒软件在处理的时候,连注册表不同位置的修改都认为是“不同的操作”。

要改好这个故事,就要从最后的客户价值入手。比如如果安装软件是最常见的需要“认可所有相似操作”的过程,就可以写一个这样的故事:

“作为一个用户,可以在安装软件时选择‘认可本次安装操作’,以便一键完成正常的安装操作。”当然何为“正常”的操作需要额外说明,但整体客户价值却更精准地表达出来了。

这个故事让我们理解到:“客户价值”是要从客户的角度来理解的,否则极可能跑偏。

插播一段技术变革带来的软件体验变革。在传统exe软件的时代,构造一个“界面”是很累的事情,所以仔细想想Word/Excel,无论你是编辑它、观看它、评审它、审批它、使用(Excel)它,看到的都是一个界面。而且由于这些产品都是被设计为单个用户使用的

 

       最后留下几个思考题让大家费费脑筋:

在手机上输入“我”的时候,经常(接近80%)被识别为“舟义”等罕见文字,怎么办?(假设我们是汉王)

       Visio中画图的时候经常发现图形之间有细微的未对齐,需要放大到400%之后才能调整好,怎么办?(假设我们是微软,其实这个问题不久前我才知道被一个叫做“SmartDraw”的软件解决了,但估计微软是放弃了。)

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
敏捷开发(Agile Development)是一种软件开发方法论,旨在通过快速迭代和灵活性来满足客户需求的变化。敏捷开发知识体系是指在敏捷开发过程中需要掌握的相关知识和技能。 敏捷开发知识体系包括以下几个方面的内容: 1. 敏捷原则和价值观:敏捷开发的核心原则包括个体和互动、工作的软件、客户合作、响应变化。了解并贯彻这些原则,能够帮助团队在敏捷开发过程中保持敏捷思维和价值观。 2. 敏捷方法和框架:常见的敏捷方法和框架包括Scrum、Kanban、极限编程(XP)等。了解这些方法和框架的原理和应用,能够帮助团队更好地组织工作、迭代和管理需求。 3. 敏捷开发工具和技术:敏捷开发过程中常用的工具和技术包括迭代管理工具(例如JIRA)、源代码管理工具(例如Git)、持续集成工具(例如Jenkins)等。熟悉并掌握这些工具和技术,有助于团队高效地进行敏捷开发。 4. 用户故事和需求分析:在敏捷开发中,用户故事是以用户的角度来描述软件功能和需求的技术工具。掌握用户故事和需求分析的技巧,能够帮助团队更好地理解客户需求、规划迭代和编写高质量的用户故事。 5. 团队协作和沟通:敏捷开发注重团队协作和沟通,包括Daily Stand-up Meeting、迭代Review、迭代回顾等。学会有效的团队协作和沟通技巧,能够帮助团队更好地合作、解决问题和改进开发过程。 总之,敏捷开发知识体系是一个综合性的内容,需要掌握敏捷原则和价值观、敏捷方法和框架、敏捷工具和技术、用户故事和需求分析、团队协作和沟通等方面的知识和技能。通过学习和实践,可以更好地应对变化和挑战,实现高效的软件开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值