首页 东赢体育 成功案例 网站建设 电商设计 新闻中心 联系方式
QQ联系
电话联系
手机联系

东赢体育互联网公司都流行用什么样的开发模式比如敏捷开发(Scrum)?

  东赢体育,按循序展开,交付件单通道线性流动,一般分为需求-设计-编码-测试-验收几个阶段,适合项目制或是较传统的IT企业。

  敏捷开发,没有明确的定义,2001年初因观察到许多的软件团队深陷不断扩大的流程之中的困境, 一群17人的业界专家聚集在一起,勾勒出一些能让软件团队迅速工作, 以及响应变化的价值观和原则。他们自称为Agile Alliance敏捷联盟DevOps,旨在通过建立软件和IT服务的供应链,来支持业务并管理整个流程的成熟度。DevOps不仅仅是增强敏捷开发和持续交付,同时也实现和促进业务增长并保障业务连续性。

  敏捷开发只是一种价值观而非具体的指导思想,团队实际落地需要具体的方法论,如Scrum、KanBan、极限编程(XP)等等,下图来自2019年stackoverflow的开发人员调查,显示54%的团队使用的是Scrum敏捷开发方法。

  也有把多种方法融合在一起的,比方说XP实践偏工程,Scrum实践偏流程,可以和DevOps很好的结合起来。

  PingCode是一站式敏捷研发与DevOps平台,覆盖项目管理、任务管理、需求管理、缺陷管理、迭代规划、测试管理、持续交付等场景,欢迎大家来试用产品→PingCode 智能化研发管理工具。

  在互联网行业的项目管理实践中,敏捷和精益一直是大家所提倡的思想,其中Scrum和Kanban方法作为即敏捷又精益的典型代表,许多PM都在研究,笔者近期也在学习和实施Scrum和Kanban方法,有些感触拿出来与大家一同分享。

  Kanban方法最初起源于丰田的JIT(Just In Time),之后作为一种高效管理软件开发流程的技术和思想应用于互联网行业。Kanban方法以价值流动为核心,不断发现团队中的瓶颈工序,进行改进,使价值流动更加顺畅和快速。

  Scrum源自于橄榄球的一种争球方式。现在作为一种迭代式增量软件开发过程,通常应用于敏捷软件开发。Scrum将工作分解成较小的功能单元,并在周期性固定的时间段内持续的交付。

  在团队的项目管理实践中,我们往往将二者的优势结合起来综合的使用,以便帮助团队更好的完成目标,而不是为了使用方法而使用方法。本文简单的比较一下二者的不同,希望能帮助大家在实施过程中找到最合适的方法。

  团队角色的定义,将团队人员定义为三个角色,Scrum Master(主要负责消除障碍,带领团队运作)、Product Owner(主要负责描绘产品远景,定义优先级)、Scrum Team(主要负责实现产品)

  时间的拆分,将项目周期拆分成固定时长的迭代周期,每个迭代交付一部分可验收的功能,通常迭代长度为1到4周

  Kanban方法在实施的过程中更多关注的是可视化的价值流动,从几个维度解释下:

  限制WIP(work in progress),明确设定限制每个状态下,同一时间内有多少工作量,减少同一状态同一时间内,任务和价值的堆积

  可视化的价值流动通常是端到端的流动,直观的反映用户的价值(通常是可交付的用户需求),并且反映出在价值流动过程中的瓶颈和问题,不断为团队改善提供依据

  Scrum与Kanban方法都会限制在制品数量,不过限制方式有所不同,Kanban方法限制的更加直接,同一状态同一时间内的工作任务有最大限制;Scrum是间接性的通过迭代(sprint)来限制。限制WIP的核心目的是加速交付用户需求的价值流动。

  在Kanban方法的中,下游任务完成后,即可拉动上游任务下移,同时,只要生产力允许,即可新增需求。

  在Scrum方法下,当每个迭代的sprint Backlog确认后,当前迭代是不允许新增需求的,新增加的需求可以体现在下个迭代的sprint backlog中。

  Scrum是以生产率作为计划和改进的依据,以迭代(sprint)数据作为依据,分析迭代的相关数据(包括生产率、完成率等);Kanban方法是使用生产周期作为计划和过程改进的依据。

  Scrum和Kanban方法作为即敏捷又精益的典型代表,除了上述不同外,还存在很多相同点:

  二者都和敏捷与精益相对应。敏捷中的持续改进思想在Scrum和Kanban都有所体现东赢体育,而且是很核心的一个内容;精益中的拉动式生产在Scrum和Kanban中也都分别覆盖,Kanban方法体现的更加直接,下游直接拉动上游的工作任务。

  二者都关注尽早的交付价值,尽可能频繁的发布可使用的软件。Scrum将整个项目周期拆分成多个迭代,每个迭代发布可验收的软件;Kanban方法在每个功能开发测试完成后就可以进行部署和发布。

  团队状态都直观的反应在Scrum board和Kanban Board上,方便找到问题和瓶颈,并进行改善。

  比较了Scrum与Kanban方法之后,如何结合二者在团队中进行项目管理实践呢?笔者结合自己的经验从迭代、版本、变更、改进四个方面给大家进行一个简单的介绍。

  迭代:在Kanban方法中,并未规定明确的迭代,而在Scrum中是规定了固定的迭代周期。在我们的团队中,迭代周期从一月一迭代,逐步变为一月两迭代,到现在的两个自然周一个迭代,完全固化了迭代周期的概念。

  将复杂开发周期很长的开发任务,分解成多个迭代周期,每个迭代周期交付一些可验收的软件或者功能。有利于减少风险,并更好的适应变化,及时的根据反馈调整工作目标。

  版本:在迭代中,我们以排入版本计划的功能点(story)作为工作重点,排入版本的story为交互已经完成的功能点(story),这些功能点可以直接进入开发和测试环节。这些story便是我们当前迭代可以交付的功能或者软件。与此同时,产品、交互和视觉同学会继续拉取需求池中的功能点,开始进行设计,准备下个迭代版本中的内容。使整个价值流动更加顺畅。

  变更:对待变更,我们同样有自己的一套流程规范,既没有像Kanban方法一样,只要生产力允许,便可以新增需求;也没有像Scrum一样,版本内容确定,当前迭代基本不允许变更。在实际过程中,当存在紧急需求,由产品经理发起,和各个角色进行评估风险和对现有版本的影响,并采取相应措施降低由于需求变更对整个系统产生的影响,最后由项目经理发出变更通知的邮件。

  改进:我们改进的依据之一是团队数据,由于我们所有的任务都是通过JIRA进行管理,可以方便的拿个团队各种数据,包括:总工作量、总完成工作量、完成率、有效工作量、有效工作率、bug数、bug率等东赢体育,对这些数据进行分析,发现团队的问题,帮助团队进行改进。

  对于Scrum与Kanban方法的应用,笔者还在实践中不断的探索和思考,还有许多需要迭代改进的内容,期待与大家一起沟通交流。

  以上答案来自我厂屈鹏飞老师的博文巧用Scrum与Kanban-社区博客-网易云

  结合2020年度敏捷状态报告的一份数据,可以看出在所有敏捷实践中,Scrum和极限编程占绝对优势。

  然而国内除了上培训课程、专门书籍解读等占据大块时间的相关知识,网络上对这两项敏捷实践的系统性解读寥寥无几。

  于是我们把培训、书籍、实践中学习、总结的Scrum和极限编程的知识和实践,通过短视频的形式传达给更多人,让大家看得开心的同时还看得明白。视频时长大多在三分钟左右,适宜等车、通勤、等电梯等碎片化时间观看。(当然,一次性系统性看完更有收获!)

  Scrum 小视频共计9期,主要为大家讲解一些 Scrum 中的术语,和一些 Scrum 中的故事。用包袱段子解说Scrum框架,在干货中增加了一些趣味性。

  除了这两个完整系列,这一年我们还制作了《程序员修炼之道》、《程序员英文发音》等系列视频,虽然未完待续,但都是干货满满,帮助多多。这些内容都放在“禅道学院”里啦,还有更多其他内容,等着你来解锁!

  敏捷开发,其实是伴随着互联网在我们生活中的普及而流行的,互联技术促进了互联网创业的繁荣,使得以迭代的形式发布产品并在与用户的互动过程中不断打磨完善升级产品成为了大多数企业能够存在下去的前提和基本生存状态。

  过去,企业开发的需求是完整的、清晰的、固定的,产品定义也是稳定的,因此企业在项目开发当中经常采用自上而下、相互衔接且固定次序的瀑布开发模式。而在当今,中国互联网快速发展时代,几周内都可能发生翻天覆地的变化。

  无论是初创型企业还是大型企业,都会面临需求变化越来越频繁的问题,更需要有一支高效能的团队来推动产品快速迭代。相比起瀑布开发的线性开发模式,敏捷开发

  ,更适用于当今互联网的快速发展节奏,因此也越来越受到企业研发的重视和应用。>

  在 ONES 中,企业可以系统和高效地落地敏捷开发框架,提高组织的响应和交付能力,从而更顺畅、高质量地交付产品,实现业务敏捷,助力业务成功。

  以敏捷开发(Scrum)的经典业务场景为例,ONES 可以帮助企业实现人、产品、协作和迭代的高效管理。

  团队可使用 ONES 工单收集和整理来自各方的反馈,处理工单并快速转化为需求,整理出产品 Backlog,根据实际场景,自定义需求工作流,打通从需求提出到流转到各职能进行处理的流程。功能复杂的需求,可以利用「子工作项」进行细化和拆解,并关联研发和测试任务,将需求到研发和测试过程串联起来。

  产品负责人根据需求优先级,将产品待办列表中的需求规划至对应迭代,在迭代计划会议上与团队一起进行迭代评审,确定好当前迭代要完成哪些需求之后东赢体育,即可对其分解,拆分成各类子任务和关联任务指派给设计、研发人员。

  开发阶段,团队通过流水线管理工具 ONES Pipeline,将构建、部署与项目、迭代整合到一起,实现可视化交付管理。

  >

  橄榄球中的“争球”(Scrum)动作实际上,Scrum这个英文字母来源于橄榄球运动的一个专业术语,表示“争球”的动作。在橄榄球比赛的每次冲刺前,都将有一个计划安排的过程,但冲刺开始后则由队员在原计划的基础上随机应变。可以想象,当开发团队在用Scrum这种开发方法开发项目时,大家像打橄榄球一样迅速、富有战斗激情、且灵活而高效地完成工作,因此受到非常多开发部门的推崇。

  ③ 有了Product Backlog,我们需要通过Sprint Planning Meeting(迭代计划会议)来从中挑选一些Product Backlog加入Sprint(迭代),形成Sprint Backlog(迭代需求池)。这个目标的时间周期是1~4个星期;④ Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);⑤ 在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟内。Daily Scrum Meeting根据看板的内容,每个人进行发言,并且向所有成员当面汇报昨天完成了什么、今天要完成什么,如果遇到不能解决的问题也可以提出。每个人回答完成后,都要更新Burn Down Chart(燃尽图);⑥ 当Sprint Backlog已完成,也就表示一次Sprint完成。这时,我们要进行Srpint Review Meeting(迭代评审会议),PO和客户都要参加。每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消);⑦ 最后就是Sprint Retrospective Meeting(迭代回顾会议),该会议以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。在Scrum开发流程当中,应当严格遵循“343”原则,即Scrum框架中的3个产出物、4个仪式、3种角色。3个产出物Product Backlog(产品需求池):是产品待办事项的集合。其中,事务有优先级判断,先处理优先级高的事项。

  Sprint Planning Meeting(迭代计划会议):迭代计划会议在每个迭代周期开始之前召开,目的是为了制定当前迭代周期的开发目标以及需要完成的工作。

  日常站立会议是每天早上举行的短期会议,用时一般严格控制在十五分钟内,会议的目的是更新团队的状态。站立会欢迎所有人参加,但只有团队成员(开发、测试、产品经理等核心角色)可以发言。

  Sprint评审会议在Sprint结束时举行,用以检视所交付的产品增量并按需调整产品待办事项列表。评审会议的会议时长限时为 4 小时。

  Sprint Retrospective Meeting(迭代回顾会议):

  在每个Sprint结束后,Scrum团队会聚在一起开Sprint回顾会议,目的是回顾一下团队在流程、人际关系以及工具使用方面哪些做得好,哪些做得不好,并找出潜在的改进事项,为将来的改进制定计划。

  PO(产品负责人):PO 在敏捷Scrum开发的过程中起着至关重要的作用。PO 代表客户的意愿,从业务角度上保证Scrum团队做正确的事;同时代表项目的全体利益干系人,负责Product Backlog,排出优先级,编写条目化的需求(也叫“Story”,指用户故事),从而使项目价值最大化的人。

  Sprint(迭代):原义是短距离赛跑的意思,这里指的是一次迭代。一次迭代的周期一般是1-4周,也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为Sprint。

  是指敏捷看板。“看板”一词出自日语“看板”(读音かんばん,kanban),源于日本丰田生产的精益生产实践,敏捷开发将其背后的可视化管理理念借鉴过来。看板可以把研发的过程进行管理,记录下用户故事研发过程中的细节和历程。

  敏捷大师和Scrum发明人 Jeff Sutherland:Scrum是一门让研发管理事半功倍的艺术东赢体育。

  ① Scrum能够快速响应变化,以轻量级的Story(用户故事)作为需求进行迭代式开发,保证最重要的事情优先做,更高效产出交付物。② 可以持续向用户交付有价值的软件产品,以及短的软件交付周期:这是现在的互联网开发的基本要求,就是不停的通过每次迭代和升级,进行产品的优化和提升。

  ④ Scrum开发可以让产品快速试错,试错成本低;以较低的成本,和高效的模式进行产品的迭代,回报率也高。如何利用工具帮助Scrum落地?我们公司主要是通过研发管理工具来落地 Scrum 流程的。那么Scrum流程如何落地?研发管理工具能提供什么帮助?

  1. 团队管理ONES通过「项目角色」对参与项目的成员进行分组和权限管理

  >

  团队管理在敏捷项目中,系统管理员可建立PO、Scrum Master、Scrum Team三种角色,应用到实际项目团队中,配置不同角色不同的管理和查看项目、工作项类型等权限。项目成员亦可拥有多个角色,便于跨职能协同与管理。

  在ONES中,可使用「需求」这一任务类型及其组件来管理Product Backlog。>

  需求池管理

  产品负责人先将需求按确定的优先级顺序,从Product Backlog规划至对应迭代。产品负责人可创建新的迭代,并设置迭代周期和迭代阶段,可

  在Sprint Planning Meeting上,产品负责人按优先级一一讲解用户故事、补充故事描述或调整优先级,和团队一起估算故事规模。如果需求评审不通过,可以规划至后续的迭代或移回需求池。

  对其分解、登记预估工时,拆分成各类子任务和关联任务,指派给相关团队成员。

  ONES系统提供燃尽图、敏捷看板、仪表盘、甘特图等工具技术,直观反映各成员工作状况、当前迭代进度的健康程度。

  燃尽图是敏捷项目追踪的有效工具,是迭代完成之前,对剩余工作量的可视化表示。每个成员回答完成后,都要更新燃尽图,预测预计结束时间、判断迭代能否如期完成。

  迭代基础统计与燃尽图可被添加至仪表盘中快速浏览。也能通过甘特图快速获取多个迭代的进度、通过工时消耗情况了解整体项目情况。

  每个迭代结束后,Scrum 团队会一起开迭代回顾会议,把整个开发阶段流程拎出来进行分析,回顾一下团队在流程、人际关系以及在工具方面上使用得如何,总结哪些事情做得好东赢体育、找出潜在的改进事项,为将来改进制定计划。

  >

  ONES系统中可根据研发场景需要,生成相应的质量报告。使用报表统计迭代范围内的缺陷分布,任务滞留时间等。

他们成就了我们,我们为他们创造价值
最终我们成为了朋友,为朋友做事,我们两肋插刀

他们成就了我们

我们为他们创造价值

朋友,请填写您的需求提交给我们

*请认真填写需求信息,我们会在24小时内与您取得联系。