需求如何进行敏捷设计

本文作者@朱军华Ronzhu 敏捷开发其实不光光要求开发层面和测试层面的敏捷,其实对需求设计层面也是要敏捷的,这样才能配合后续的开发和测试,使之真正的敏捷起来。

我们可以通过在实际操作过程当中在需求层面进行敏捷设计的分析来了解需求的敏捷设计。

大多数情况下需求的处理过程都可以分为需求分析和需求设计两部分,前者要将业务需求转化成产品需求,后者要将产品需求转化为产品设计,也即成品的PRD。

在做需求分析的时候,我们也是接到一部分需求之后,按钮业务优先级来做分析,每次分析肯定是将相互关联的需求放在一起分析,或者是先分析优先级较高的,后分析优先级较低,这个过程将分析的任务进行了划分。

因此其也较为接近于敏捷的模式,这里撇开不谈,主要讲需求设计部分如何与后面的开发、测试结合起来。

在真正开始谈敏捷设计之前,我觉得有必要思考一下是否所有的需求都适合用敏捷设计? 为什么有这样的疑问,在于敏捷开发其实是较为灵活的,并不是一味的为了敏捷而敏捷,其也可以分成产品敏捷和项目敏捷两种方式。

在我的理解里面,产品敏捷是真正的将敏捷设计、敏捷开发、敏捷测试结合在一起的,从产品的层面讲所有的任务都用敏捷的方式进行管理;而项目敏捷则采用的是需求设计走的是瀑布的模式,开发和测试才是敏捷的,因此两者之间还是有点差异。

有的需求不适合用敏捷的方式的来设计

敏捷的模式总的来讲就是将整体拆为多个个体,然后再单独的完成各个个体以达到这些个体合成之后就是整体的效果,所以这里就有一个问题存在,产品的整体需求是否适合拆分?个人在操作经验中总结如下:

各功能之间较为独立的适合敏捷。一个产品有十个功能点,各个功能点之间相互依赖关系不强的,松耦合,就可以每个功能点单独抽取出来做设计。功能本身的逻辑
遵循某种操作流程的适合敏捷。功能的实现是按照一个较为固定的流程一步一步往下走的,这样可以将每一个步骤单独拆分开。产品上线之后的版本维护适合敏捷。上线之后,对一些BUG、问题、小需求的缝缝补补,都适合用敏捷的方式来设计。上线后的新增需求适合敏捷。上线的的新增需求一般都针对某个功能模块来进行设计,相对来说较为独立,因此也适合敏捷设计。

反之,如果不能满足以上几个条件的,特别是耦合度较高的需求,个人建议还是走瀑布的模式,把整体的需求都梳理清楚之后做整体的需求设计,这样可以避免后面的设计过程要改动前面的设计结果的问题,减少一部分的需求变更.

敏捷虽然说很大的一个优势就在于可以较好的适应需求变化,但这个需求变化是指来自于业务层面的,而不是来自于产品设计人员或者产品经理自身的工作方式所导致产生的。

当然肯定也有人是全部都走敏捷的,这样的话对其产品规划能力要求较高,整体思维逻辑要很清晰,才能避免出错,这里只是个人建议,仅供参考。

敏捷设计的产出如何维护

平常我们称一个功能点为一个CASE或者是一个Story,而在敏捷里面称之为backlog产品条目,其实只是换了个名称而已,实质没有变。

之前我也说过在学习他人长处的时候,重要的是理解和变通,而不是照抄。 产品backlog是敏捷的核心,也是整个产品敏捷过程的起源。从根本上说,它就是一个需求、或故事、或特性等组成的列表,按照重要性的级别进行了排序。

它里面包含的是用户或者业务方想要的东西,并用用户或者业务方可以理解的术语加以描述。通常有如下几个部分:

序号ID

统一标识符,就是个自增长的数字而已,用以唯一标示每个backlog,主要用来做标示用,以及在PRD当中标注每个backlog所对应的需求设计描述;

名称Name

简短的、描述性的backlog标题,比如“查看你自己的交易明细”。它必须要含义明确,这样开发人员、测试人员才能大致明白我们说的是什么东西,其实也方便产品经理自身做checklist检查,可以跟其他backlog区分开。 它一般由2到10个字组成;拆分backlog是有要求的,一般要求每条backlog都能在规定的单个迭代周期里面完成;

重要性Importance

产品经理评出一个数值,指示这个backlog有多重要,一般为1到10之间的整数值,分数越高越重要。 其实就是优先级,只不过有的人所理解的优先级是1最优先,所以这里用重要性来表述。优先级的评定主要参考两个维度,一是业务价值,二是紧迫性,其他的都可以暂不考虑;

工作量估算Initial estimate

团队的初步工作量估算,表示完成该backlog所需的工作量,最小的单位是0.5人/天。为尽量提高估算的准确性,目前个人采用的是整个团队每人都写一个估算工作量,去掉一个最高的,去掉一个最低的,剩下做平均,呵呵。 然后再安排各自讲解一下为什么,最终要在团队内部达成一致;

演示How to demo

大略描述了这个backlog应该如何进行示范,本质就是一个简单的测试规范。一般为“先这样做,然后那样做,就应该得到……的结果”,敏捷对每个backlog的要求就是可演示可单独上线的;

备注Notes

相关信息、解释说明和对其它资料的引用等等,一般都非常简短; 通常都把backlog存放在共享的Excel文档里面,以便团队成员都可以随时查看编辑。一般来说这个文档归产品经理维护,但也并不把其他团队成员排斥在外。开发人员和测试人员常常要打开这个文档,弄清一些事情,或者修改估算值。

这里又会产生一个问题,那就是如何让产品backlog停留在业务层面上?

举例来说,如果产品经理有技术相关的背景,那他就可能添加这样一个backlog:“给Events表添加索引”。真正目的也许是“要提高在后台系统中搜索事件表单的响应速度”。到后面可能会发现索引并不是带来表单速度变慢的瓶颈,也许原因与索引完全不相干。

所以指出如何解决问题的应该是开发团队,产品经理只需要关注业务目标即可。这种面向技术的backlog,可以一直问下去“为什么”,直到发现内在的目的为止.

然后再用真正的目的来改写这个backlog(“提高在后台系统中搜索并生成表单的响应速度”)。最开始的技术描述只会作为一个注解存在(“为事件表添加索引可能会解决这个问题”)。

维护backlog表就是一个对产品需求进行拆分的过程,拆分完成后再根据迭代计划来设计具体的实现,前面所讲的项目敏捷则是将所有需求都设计完成之后才进行拆分,这时主要就是为了把开发任务和测试任务拆分出来了。

相对来说,敏捷还是一种较为新颖的模式,目前在互联网行业用的较多,每个公司在用的时候实际情况可能都不大一样,其实没有关系的,适合自己的就是最好的,只要能提高产品迭代发布的效率,就可以了,先用起来,然后在用的过程当中慢慢优化,发挥敏捷的最大的效用。

作者博客:IT民工

时间: 2024-09-24 02:06:04

需求如何进行敏捷设计的相关文章

阿里感悟(十三)降低成本的敏捷设计

作者:方腾飞 最近在参与一个比较大的项目,需要耗费上千人日,而细分设计和设计评审就花掉了几百人日,基本上10几个人写了几周的设计文档,并开了几周的设计评审会.整个过程模式比较重,所以耗费的人力比较大. 为什么模式比较重? 参与者众多.设计评审会时,要求与本会相关的人都参与设计评审,一个屋子里可能坐着几十人,哪怕一个小时的会议和你相关的就5分钟,你也要参加.而且这样的公司会议太多,如果每个相关的会议都去参加,那就基本上是白天开会,晚上写代码的节奏,所以现在当有人找我开会时,我会问是否必须要我参加,

iPad应用的敏捷设计流程

Sarah Parmenter在访谈中介绍了她在设计列车时刻表app时的流程和设计原则. 对设计师来说,iPhone和iPad是全新的平台.相比图形和网站设计的经验积累,在iPhone和iPad上的设计进化还都处于萌芽期. 在这里,Sarah跟大家分享了简单明了的火车时刻表软件设计流程和基本原则,可能对你自己的设计项目有所启发.为了简化过程,我们假设获取火车运行数据的API是现成的. 关于Sarah Parmenter 英国艾塞克斯(英国英格兰东南部的郡)Youknowwho设计工作室的创始人,

iOS“.NET研究”平台应用开发的敏捷设计流程

本文翻译自<Computer Arts>中对专注于iPhone和iPad应用开发的设计师Sarah Parmenter的访谈录,希望对iPhone应用开发的朋友能有所帮助. 以下为全部译文: 对设计师来说,iPhone和iPad是全新的平台.相比图形和网站设计的经验积累,在iPhone和iPad上的设计进化还都处于萌芽期. 在这里,Sarah跟大家分享了简单明了的火车时刻表软件设计流程和基本原则,可能对你自己的设计项目有所启发.为了简化过程,我们假设获取火车运行数据的API是现成的. 1.首先

实战从需求文档到设计文档的书写规范(一)

1.前言 本文有两个目的:实现每晚构建平台和探讨一个软件从需求文档到设计文档的书写规范. 每晚构建是软件研发管理中极具价值的手段,对于加快发现和改正缺陷,降低集成风险,提高产品质量,加强成员沟通与协作,缩短产品上市时间,增加项目开发透明度,提高项目组成员信心和斗志有着非常重要的作用和意义.本文从软件工程过程:需求定义,分析,设计出发描述了实战每晚构建平台的大部分过程. 软件工程中文档有着极其重要的地位,良好的文档风格和习惯是一个团队成熟的重要标志.目前有些软件研发人员特别是刚刚走上岗位的研发人员

敏捷设计之超级淘宝店设计简易排版参照模板

我发现我上次想的文案形状设计法还是很有效的,至少在我的工作中有起到很好的作用. 这种排版方法的关键在于让文案依照形状的走势来排版,整体效果是可以的,但是文案的排版精细度就不会太够. 为此我决定把这个方法再拓展一下. 在不考虑模特照片的情况下,我们可以把文案排版的元素分为以下七种: 字形.方向.颜色.数字.英文.纹理.框架. 然后我按照设计的难易顺序来排个参照序列. 一.斜向排版&竖向排版&横竖混排 有倾斜的排版视觉效果是非常直接的 开发 story模板"> 斜向排版范例 特

敏捷设计or按部就班

最近在整理项目开发和运营需求的工作流程.作为视觉设计师,越来越觉得现在的设计趋向于对个人综合能力的考量,其实这也是不争的事实. 视觉设计师在初进入项目的时候,很容易从视觉的角度去进入角色并开展设计.比如一个产品的升级改造需求,视觉设计师很容易一开始就从视觉入手出视觉稿,而忽略了很多诸如对产品原始商业需求,交互原型设计,竞品分析等等环节.最终导致需求方(PD)在后期修改的时候成本很大,耗时耗力.附属的后期开发阶段,视觉设计师也会忽略一些设计说明,视觉规范,交互流程说明的产出. 这种情况简单说起来就

架构之美—需求审核直接影响设计成败(2)

.......审核需求提出了二维需求观: 我们一般注重功能需求,也是最容易理解和效果的,但这未必太业余,真正影响架构的成败并非功能需求,而是功能需求+质量需求+约束需求. ....评审需求时,也设计一个评审图表供大家参考:

实战从需求文档到设计文档的书写规范(六)

本文是实战每晚构建系列的第三篇,利用第二篇文章中叙述的开源技术对第一篇中的分析模型进行设计和实现. 1.构建信息显示系统的设计 这是一个典型的web应用系统,不过非常简单.根据<面向对象的系统分析和设计>所描述的,设计主要对四个部分进行描述: 问题域的细化:考虑将来实现语言的特性和利用某些设计模式,对分析模型进行细化,并作某些权衡.实现对未来系统"如何做事情"的描述. 人机界面设计:考虑和使用者的交互,对信息显示的布局和接收用户指令或数据的行为进行设计. 存储设计:考虑如何

日益增长的需求催生数据中心设计新思维

预计截止至2020年,互联设备的数量将达到500亿.而如此众多的设备预计将在2017年产生高达7.7 ZB的互联网数据.随着运营商放弃了客户端-服务器以及局域网(LAN)架构,并转而青睐侧重在服务器.存储与网络中采用虚拟化的设计,如此大量的数据处理需求将给数据中心生态系统带来巨大挑战.为此,有越来越多的公司开始选择基于移动计算.云服务.大数据和社交网络等领先技术的更加灵活且开放的平台.   亚马逊.谷歌与Facebook等创新领袖正在积极构建超大规模的数据中心,以处理海量的带宽需求与工作负载.最