产品经理视角下敏捷需求分析在互联网项目中应用研究

2018-10-25 09:48劳诗尧胡必波卢国祥
无线互联科技 2018年19期
关键词:原型社团摄影

劳诗尧,胡必波,卢国祥

(广州工商学院,广东 广州 510850)

近几年,敏捷软件开发在软件工业界有了良好的发展势头,并逐渐被推广开来。各种类型、各种规模的公司都逐渐开始关注敏捷开发。国外一些著名的公司如Google,Microsoft,Yahoo和国内众多的中小公司都已经开始采用敏捷开发。敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。相对于以文档作为驱动核心的瀑布模型,它更强调以人作为驱动核心。敏捷开发与互联网应用对“拥抱变化”“快速迭代”价值观的追求相同,比较适合互联网及相关的产品或应用。

1 敏捷流程

敏捷开发管理实践包括SCRUM,极限编程(XP),Crystal Methods,特性驱动开发(FDD)等,其中SCRUM与XP最为流行。同样是敏捷开发,XP更侧重于实践,并力求把实践做到极致。这一实践可以测试先行,也可以是结对编程等,关键要看具体的应用场景。SCRUM则是一种开发流程框架,包含3类角色、4个最佳实践、4个活动、4个主要输入输出,其目的是为了有效地完成每一次迭代周期的工作。产品负责人(Product Owner,PO)作为SCRUM 3类角色之一,主要职责包括提供愿景、提供边界、提供用户故事(用户需求)优先级[1],如图1所示。

2 传统互联网项目需求分析存在问题

互联网+大学生社团兴趣共享平台项目致力于开发一个利用大学生碎片化时间,提供技能服务的共享平台,解决大学生周末的无聊感。该共享平台是一个以“达人”个性化服务为主体的电商平台,让有一技之长或任何兴趣爱好的大学生社团达人,可以将他的技能、兴趣明码标价按照时间来收费。平台类似于淘宝网站,利用碎片化时间贩卖技能,也有线下社团,并计划逐步扩张。

图1 SCRUM方法中的主要活动和交付件

该项目采用传统方法分析需求时,存在需求文档常常忽略客户商业模式,手段比较原始、直接,简单粗暴使用原型等问题,导致出现没有做项目的商业模式分析;没有做详细的干系人分析;仅对某一两个所谓的用户代表进行原型大法;这个用户代表不知道自己想要什么,也更加无法代表其他用户;用户糊涂,项目组更加糊涂,然后就开始后续工作等情况。

3 敏捷需求分析核心原理

需求定义了软件功能,同时也定义了软件带给客户的价值。完成项目的目的是为客户带来价值,为客户实现增值。命中需求、实现多赢、能规避重大风险是所有赚钱项目的特点。需求分析是商业模式中重要的一环,能帮助客户实现商业模式,这才是需求分析的核心价值。在开始转向敏捷开发的时候,很多企业都会偏向敏捷开发(“开发人员”的开发)和敏捷测试。其实这些都不是敏捷的主角。相反,敏捷需求才是敏捷开发的主角。毕竟敏捷开发的最终目的是交付客户价值,而开发与测试都只是手段而已。

敏捷需求分析则认为需求是涌现的,不要试图初期就明细化全部需求,通过用户故事来组织及细化需求;将写需求转变为讨论需求,使用用户故事来讨论需求,所有人都参与需求讨论,持续明确需求细节。

4 敏捷需求分析工具

用户故事是敏捷需求分析核心的载体,它以用户的视角来表述希望产品/项目提供哪些功能或特性。使用标准的格式:作为<某个角色>,我希望<实现何种功能>,以便<带来何种价值>。用户故事使用贴近用户的语言来描述需求,简洁易懂。而每个用户故事的商业价值则为确定用户故事的优先级提供了量化的参考。应尽量在系统的开始阶段,尝试找出所有的用户故事。为每一个用户故事评估故事点和优先级。

原型法是一种在实际工作中获取需求的重要方法[2]。原型化模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样。充分了解后,再在原型基础上开发出用户满意的产品。

统一建模语言(Unified Modeling Language,UML)是指支持模型化和软件系统开发的图形化语言[3],目的是为了用简洁的方式说明系统的需求、功能、结构,便于开发人员之间交流,用户与开发人员交流,维护人员后期维护测试。UML的核心是抽象、分解。把问题分解,抽象成一个一个的小块,再对症下药,对每个模块分析、解决。

5 敏捷需求分析实用流程

针对上述问题,本文引入互联网项目敏捷需求分析过程,以保证软件产品的需求分析质量和效率,如图2所示。互联网项目需求由用户需求和业务逻辑驱动产生,根据CMMI需求管理中提出需求驱动工作要求。需求分析人员需要导出产品需求,进行设计工作。内容包括用户体验设计、架构设计、数据库设计、详细设计等。其中用户体验设计是需求与设计的重叠工作,非常重要,对客户几乎起决定作用,实际中我们可以采用基于用户体验的Scrum流程[4]。

6 敏捷需求分析用户故事升级版案例

以互联网+大学生社团兴趣共享平台为例,首先通过头脑风暴法找干系人,例如平台建设者、达人、粉丝、大学生实体社团、学生会等。以达人为例,细分为摄影、模特、运动、音乐、舞蹈等;以摄影达人为例,又可精细化分为跟拍、旅拍、写真、个人形象、摄影辅导等。当然并不是所有干系人都会成为系统用户,由需求分析人员根据平台的商业模式来进行逐步规划,迭代完成,对于所有干系人我们都需要尝试去写用户故事。

以摄影用户故事为例。作为大学生摄影社团会员,笔者希望开一家自己的摄影店,以便能利用课余时间提供专业便捷的摄影服务。作为摄影粉丝,可能希望随时随地,动动手指就能找到摄影师,以便能享受到安全可靠、性价比比较高的私家专属个性化摄影服务。用户故事还可以由大到小,细分3~5个层次;整个推导过程持续优化、细化,最终细化到一定程度时,还可能需要配上相应的原型来展示用户故事的细节。

由于原型是展示在客户终端,不同的客户端要实现的用户故事可能不一样。因此,需求分析时还应了解系统的初步架构,针对特定的客户端描述相应的用户故事,有针对性地画出原型。如果需要进一步精准分析出用户故事中所包含的业务逻辑,还可以使用UML进行结构建模和行为建模。结构建模生成的类图,用于解剖业务内容;行为建模生成活动图、状态机图、顺序图,用于描述业务流程。

图2 互联网项目敏捷需求分析流程

7 结语

通过引入以人为中心的敏捷需求分析核心原理,文章从产品经理的角度指出互联网项目所采用传统的需求开发流程所存在的问题。文章还提出了一种敏捷需求分析实用流程,并给出用户故事升级版的敏捷需求分析实例,解决了传统需求开发方法存在的忽略客户商业模式,直接简单粗暴使用原型等问题,有效地提高了互联网项目需求开发的效率和质量。在今后的项目开发过程中,如何对所提出流程进一步完善,是下一步研究的重点。

猜你喜欢
原型社团摄影
缤纷社团
《哈姆雷特》的《圣经》叙事原型考证
最棒的健美操社团
K-BOT拼插社团
论《西藏隐秘岁月》的原型复现
原型理论分析“门”
摄影42℃展版
文学社团简介