浅谈敏捷式开发

用户头像
无锡/UX设计师/5年前/1864浏览
浅谈敏捷式开发
用户头像
FlyDE

从UI/UX角色的视角去理解敏捷


      刚接触敏捷时我对这种模式是不能理解的,没有调研没有文档,从需求到设计用的方法和学校里所学的完全不一样,但经过近两年的工作后,我的认知开始发生变化,下面我将作为一个UI/UX分享一些我对敏捷式开发的理解。


      在互联网行业中,一个项目的完整生命周期都是由一个团队完成的,团队成员也许会变化,但任何一个角色都不可或缺。为了更好地完成共同目标,团队成员除了在自己负责的领域是专家,还需要了解其他人的工作内容及整个团队的工作模式。工作模式是连接团队成员的一种运作方式,要求每个人都清晰了解,并认同。


一、敏捷式开发宣言(Agile Program Development)

      起源于20世纪90年代,由开发程序员提出,是相对于传统软件开发方法(如瀑布流模型)而言的一种新软件开发模式。这里认为该模式不仅仅适用于开发,也适用于团队除开发外的其他角色,因此将它视作为团队工作模式下图为敏捷开发的价值观。

个体和互动高于流程和工具:人是最重要的因素,敏捷提倡打破部门的概念,人与人之间面对面沟通,交流。敏捷的办公室常常是很热闹的。


工作的软件高于详尽的文档:看文档是一件让人头疼的事,无论是需求或技术文档,撰写和维护都需要耗费大量的人力,文档的不灵活性让其地位在敏捷开发中地位降低,因此这里的文档要尽可能精简,能用软件替代文档的任务首选软件。


客户合作高于合同谈判:客户对产品的需求会随着他自己的认知和心情变化,能从一开始就确定细节的项目实在太少,经常与客户沟通,给予反馈才能促成项目的成功。


响应变化高于遵循计划:和瀑布流中将产品的功能完全规划好后集中开发不同不断变化的需求让敏捷从业者制定计划时尽可能的简化,这里可以结合MVP(Minimum  Viable Product 最小可行性产品)的概念去理解,每次迭代交付一个可用的最小功能,这个功能时是不完美的,简陋的,只能满足用户最基本的需求,然后通过后期客户的正反馈慢慢完善功能。这种方式试错成本低,能快速应对需求变化。


二、工作流程      

      这里简单描述自己工作中两周为一个迭代的工作流程。

      一个开发阶段称为一个Sprint(冲刺),每个Sprint开始前,都会举行一个Planning Meeting(计划会)来共同规划这个迭代的开发任务,会议主持人一般为PM(产品经理)或PO(Product Owner,产品负责人)。会上,PO会向团队成员展示列入这个迭代开发的需求。

      每一个需求都是一个或多个任务(Task),PO根据优先级安排要开发的任务,描述每个任务要达到的目标,和设计,开发,测试确认,在Scrum Master(敏捷教练,一般为技术大牛)的协作下找到任务处理人并以工时为单位预估任务完成需要的时间。最后,团队成员之间聊个五毛话题增进感情,Planning Meeting就算结束了。

      在接下来的两周内,每天上午团队成员要开一个简短的Standing Meeting(站会),每人说明昨天做了什么,完成度如何,如有拖延是因为什么原因,是否需要其他成员帮助,以及今天计划要完成的任务。一周下来,要开一个半程回顾会,了解开发进度,若有延迟,及时做出对应调整。两周下来是一个全程Review Meeting(回顾会),回顾这个迭代的完成度,并展示实现的功能,现场Demo。

三、部分概念理解

注:这部分示例图来自腾讯敏捷类办公产品Tapd

需求及任务(Story and Task )

需求由PO建立,是将用户故事(User Story)简化后的产物,描述在什么场景下需要完成什么样的功能,对开发而言就是一个开发任务(Task)。功能比较复杂的需求往往会被拆解成多个需求,拆分到以用户角度可接受的最小颗粒度功能作为子需求,以父子需求的方式进行关联。开发的角度上看可以由一个开发(Story Owner)接下这个任务,再分配给其他开发人员。


需求池(Backlog)

需求池里记录着待开发的需求及优先级,优先级按照对用户的价值进行排序,高的会先开发。PO在表述需求时往往不会有详细的需求文档,一般会用简短的文字描述在需求详情里,再加上面对面沟通将需求传递给设计或是开发。

故事板(Story Board)

以卡片的形式展示当前迭代的进度,包括任务内容,优先级,处理人,状态等信息。PO可从这里清楚地看到团队的进度,开发也可以通过筛选来了解自己各种状态的开发任务。


工时

工时是影响一个迭代完成度的重要因素,涉及到任务处理人对工时的预估,如果实际工时高于预估,势必会造成任务延期或开发加班,影响整个迭代的完成度,如果实际工时低于预估,便会造成人力资源的浪费,影响效率。准确的预估工时需要开发人员有丰富的经验,掌握业务逻辑,了解自己的开发能力,此外工时还包括安全时间,以处理特殊情况。一般每个开发一周有略低于40(5x8)个工时的任务量。处理Bug所用时间不算在工时内,Bug秉承优先解决,谁开发谁解决的原则。


四、成也灵活,败也灵活

敏捷的特点,优点,缺点都是灵活

优点:

1.应对需求的灵活性让功能的开发时间缩短,可尽早得到市场的反馈,提高规避风险的能力

2.人与人之间的直接沟通能充分利用时间,工作效率提高


缺点:

1.面对面沟通让信息传递的质量随传递人数的增加而降低,从产品到设计到开发再到测试的信息传递会出现偏差,这让敏捷在大项目大团队中的实施变得困难

2.较少的文档在团队人员过多,人员变动或项目持续时间较长时无法全面了解到产品的全貌,沟通成本增加


五、总结

1.敏捷是一种理念,原则,价值观,不同的团队在实行这个模式都是不同的。


2.实行敏捷的目的是为了帮助团队高效地合作沟通,过程中的去文档,去流程,面对面沟通都只是手段,最后还是以结果为导向。切记敏捷流于形式,纠结于步骤!


3.敏捷要求团队成员有很强的主观能动性,并能主动推进整个项目前进,当他人停滞不前时,PUSH他们。


4.敏捷团队的建立需要时间和经验积累,当任务出现问题时主动承担责任优于互相推诿,成员间切忌心存芥蒂,这样才能保持团队的凝聚力。



18
阅读原文
|
举报
|
38
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
加载中
推荐素材
科技医疗透明柜UI界面设计
【新年UI图标】珠宝icon
UI通用设计素材1
拟物风质感写实UI卡片合集源文件
我的钱包-UI界面设计-app
UI 登录界面设计模板包
钱包ui模板
新拟态风格 UI设计组件库
高级感金属拟物 UI设计组件库
3D渐变流体抽象矢量UI背景图
3D卡通UI界面图标可爱插画免扣素
【新年UI图标】影音icon
【新年UI图标】钱包icon
手表表盘UI系列
新能源APP应用UIKit
UI应用平面图标
【新年UI图标】银行卡icon
盲盒APP UI设计
【新年UI图标】30个图标
原创UIUX交互橙红渐变炫酷视觉平面设计作品集模板PSD
Security Camera UI kit
高级表盘系列UI源文件
【新年UI图标】汽车icon
你可能喜欢
相关收藏夹
设计
设计
设计
设计
大家都在看
登录注册