敏捷开发中的承诺_项目经理在敏捷开发中的作用敏捷开发 - CSDN
精华内容
参与话题
  • 敏捷开发中个一些概念及要点

    千次阅读 2016-04-19 00:30:52
    1、迭代Backlog是团队在一轮迭代需要完成的 任务清单,是迭代计划会议确定的内容; 2、迭代Backlog是团队在召开迭代计划会议的时 候从产品Backlog挑选出高优先级的需求清单; 3、每项任务信息包含当前剩余...

    名词一:backlog

    一、什么是迭代backlog

    1、迭代Backlog是团队在一轮迭代中需要完成的 任务清单,是迭代计划会议确定的内容;

    2、迭代Backlog是团队在召开迭代计划会议的时 候从产品Backlog挑选出高优先级的需求清单;

    3、每项任务信息包含当前剩余工作量和负责人


    二、迭代Backlog关键要点

    1、任务清单是由完整团队成员 自己定义和分解的,而不是上级指派;

    2、与需求相关的所有工作都可以作 为一个任务,每个任务要落实到具体的责任人;

    3、任务的颗粒度要足够小, 工作量大于2天的任务要进一步分解;

    4、用小时作为任务剩余工作量 的估计单位,并且每日估计和刷新


    名词二:完成标准(DoD  )

    1、基于"随时可向用户发布"的目标 制定衡量团队工作是否已完成的标准



    名词三:迭代计划会议

    一、什么是迭代计划会议

    1、每轮迭代启动前,团队共同讨论本轮迭代详细开发计划的过程, 输入时产品backlog,输出是团队迭代Backlog

    二、迭代计划会议内容

    1、澄清需求、对“完成标准”达成一致

    2、工作量估计、根据团队能力确定本轮迭代交付内容

    3、细化、分配迭代任务和初始工作计划


    三、迭代会议好处

    1、通过充分讨论,使团队成员对任务和完成标准理解一致

    2、团队共同参与,促进团队成员更认真对待自己的承诺


    四、迭代会议关键要点

    1、充分参与:Scrum Master确保PO和Team 充分参与讨论,达成理解一致

    2、互相承诺:Team承诺完成迭代 Backlog中的需求并达到‘’完成标准“, PO承诺在短迭代周期不增加需求(2-4周)

    3、确定内部任务:Team和PO协商把一些 内部任务放入迭代中(例如重构、持续集成、 集成环境搭建),由PO考虑并与其它外部需求一期排序


    名词四、每日站立会议

    一、什么是每日站立会议

    1、由Scrum Master组织,Team成员全体站立参与

    2、聚焦在下面四个主题

     2.1、我昨天为本项目做了什么?

     2.2、我今天计划为本项目做了什么

     2.3、我需要什么帮助以更高效的工作

     2.4、SM关系运到哪些难的问题或阻碍

    二、每日站立会议的关键要点

    1、准时开始:按计划会议制定的时间地点开会  形成团队成员带 自然习惯

    2、搞笑会议:会议限时15分钟, 每个人都保持站立,依次发言, 不讨论与会议四个主题无关的 事情(如技术解决方案)

    3、问题跟踪:SM应该记录下问题并跟踪解决


    名词五:迭代回顾会议

    一、目的

    1、分享好的经验和发现改进点, 促进团队不断进步

    二、围绕三个问题

    1、本次迭代有哪些做得好

    2、本次迭代我们在哪些方面还能做得更好

    3、我们在下个迭代准备在哪些方面改进

    三、迭代回顾会议的关键要点

    1、会议气氛:Team全员参加,气氛宽松自由, 畅所欲言,头脑风暴发现问题,共同分析原因

    2、关注重点:Team共同讨论优先级, 将精力放在最需要的地方(关注几个改进就够了,如TOP3)

    3、会议结论要跟踪闭环:可以放入迭代backlog中


    名词六:持续集成

    一、概念

    1、持续集成(CI)是一项软件开发实践, 其中团队的成员经常集成他们的工作, 通常每日每人至少集成一次,每次集成通过自动化构建完成
    二、好处
    1、大幅度缩短反馈周期,实时反映产品真实质量状态

    2、缺陷在引入当天就被发现并解决,降低缺陷修改成本

    3、将集成工作分散在平时, 通过每天生成可部署的软件, 避免产品最终集成时爆发大量问题

    展开全文
  • 敏捷中的 promise 和 从commitment其实是不同的,具体参考下面两篇文章的说法: http://www.pmquanzi.com/articlDetails/434.html https://zhuanlan.zhihu.com/p/31989579 摘抄其中说的不错的一段: 当自己得到...
    敏捷中的 promise 和 从commitment其实是不同的,具体参考下面两篇文章的说法: 

    http://www.pmquanzi.com/articlDetails/434.html 

    https://zhuanlan.zhihu.com/p/31989579 


    摘抄其中说的不错的一段: 
    当自己得到这个问题的答案之后,我思考的第二个问题是,在具体的项目实践中,怎么去落地这5个价值观?对于勇气,尊重,专注,开放这4点,我并没有花费很多时间就想到了方案,我相信如果能认同这些价值观,并真正的去思考了,找到落地方案并不难(比如说上一式里的团队契约,就可以一部分落地尊重,公开的价值观)。 



    但是对于承诺这一点,困扰了我不少时间,因为我发现自己并没有真正理解承诺(commitment)到底是指什么,是在计划会上或者站会上做一个promise,然后必须要是实现它么?那如果没有实现怎么办呢?如果是这样的话为什么不叫promise,而是叫commitment呢? 



    出于以上困惑,我想到,promise和commitment都是英文,或许我应该去看一看这两个词在英文里到底是怎么用的。然后我就去查了下字典,考虑到commitment的词根是commit,所以我查的是commit(然后我惊喜的发现commit居然还有自杀,犯罪的意思),很不幸我并没有找到答案。 



    就在这个时候,敏捷小伙伴的微信群里正好有几个老司机在讨论commit的具体含义,超级老司机徐毅提供了一个解释,叫“致力于......”,这个解释让我豁然开朗,至少在自己内心中,我认为我找到了答案(在此为老司机徐毅孜孜不倦的求真精神点一亿个赞)。我用下面这个例子来阐述我对commit的理解。 



    如果说这个小男生能每天都很早起来为他心爱的小女生做早饭,如果说他能一直陪伴着小女生做两个人都喜欢做的事情,如果说他能经常送小女生喜欢的包包,衣服,化妆品,如果说他能每天晚上给小女生打洗脚水...... 这个时候,我们可以说这个小男生commit了。这也印证了“致力于......”这个解释。 



    但是,这个小男生这时候兑现了他的promise了么?并没有!因为他的promise是 “I will love you forever”,他得一辈子都爱这个女孩儿才算是兑现承诺。霸王别姬里程蝶衣说 “说的是一辈子,差一年,一个月,一天,一个时辰,都不算是一辈子!”。(怀念一下哥哥)。 



    理解了commit之后,就知道我们在项目过程中,落地commitment这个价值观的努力方向了:引导团队真正的付出努力去兑现他们的承诺。然而,要真正的付出努力,那就必须是发自内心的承诺,不应该是强迫,不应该是命令,不应该是控制,否则就不是发自内心。要发自内心的承诺,那就需要基于于对目标的真正认同,并意识到自己能为这个目标所能贡献的价值。那怎么样才能让团队真正的认同目标呢?请看 第一式 WHY到怀疑人生 。以上几点,就是一个敏捷教练,或者Scrum Master在引导过程中,对于落地commitment这个价值观的行事原则。 



    到了这里,同学们或许会问,那如果团队成员确实commit了,是不是没有兑现promise也没关系呢? 当然不是的,我们关注团队成员是否真正的付出努力去兑现承诺,并不意味着我们不需要关注最终的结果。我用下面这个表格来描述我对promise,commitment,和最终结果的关系梳理和落地commitment价值观的策略。
    展开全文
  • 软件开发模式之敏捷开发(scrum)

    万次阅读 多人点赞 2018-08-08 19:25:59
    这几年关于敏捷开发在互联网企业越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢? 目录 什么是敏捷开发? 传统的开发模式和敏捷开发模式的...

    简介

    这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢?

    目录

    1. 什么是敏捷开发?
    2. 传统的开发模式和敏捷开发模式的对比?
    3. 敏捷开发scrum的实施。

    什么是敏捷开发

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

    在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    传统的开发模式和敏捷开发模式的对比

    瀑布模型:
    这里写图片描述
    优点:
    1. 为项目提供了按阶段划分的检查点。
    2. 当前一阶段完成后,您只需要去关注后续阶段.
    3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

    缺点:
    1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
    2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
    3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
    4. 瀑布模型的突出缺点是不适应用户需求的变化。

    敏捷模型:
    这里写图片描述
    优点:

    1. 敏捷开发的高适应性,以人为本的特性。
    2. 更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。

    缺点:

    1. 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。

    敏捷开发scrum的实施

    Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,相当于大家像打橄榄球一样迅速、富有战斗激情。而Scrum就是这样的一个开发流程。

    Scrum开发流程中的三大角色
    – 产品负责人(Product Owner)

    主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

    – 流程管理员(Scrum Master)

    主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

    –开发团队(Scrum Team)

    主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

    scrum开发流程图

    这里写图片描述

    1、我们首先需要确定一个Product Backlog(产品需求列表),这个是由PO负责的(如图(一));

    2、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;

    3、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);

    4、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图)(如图(二)和如图(三));

    5、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本。

    6、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品。

    7、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;

    如图(一):
    这里写图片描述

    如图(二):
    这里写图片描述

    如图(三):
    这里写图片描述

    如图(四):
    这里写图片描述

    敏捷开发管理工具:teambition
    teambition

    参考

    敏捷开发之Scrum扫盲篇
    百度百科
    敏捷开发 模型讲解

    展开全文
  • 敏捷开发中如何提高开发质量 问题:敏捷开发中如何提高开发质量? 敏捷开发中采用Scrum过程框架是常见的开发方式。最近上校经历的几个开发项目均采用了Scrum过程框架开发,团队规模从5个人到12个人不等;开发周期...

    敏捷开发中如何提高开发质量

    问题:敏捷开发中如何提高开发质量?

    敏捷开发中采用Scrum过程框架是常见的开发方式。最近上校经历的几个开发项目均采用了Scrum过程框架开发,团队规模从5个人到12个人不等;开发周期从2个月到8个月也不同。项目进行中和项目结项时,都不同程度的存在质量问题:

    • Sprint “带病迭代”
    • 开发周期 Delayed,系统不能如期交付和发布
    • Sprint Test 不能满足度量指标要求
    • 系统阶段性发布后,存在缺陷
    • UTA测试阶段,缺陷率过高
    • Product Owner 频繁变更系统需求,导致Sprint迭代过程中开发范围蔓延
    • 使用SonarQube检测,系统 Defect 和 vulnerability 过多,不能满足 Code Quality要求
    • 系统存在安全漏洞,使用 Security Testing 工具检测后,需要修复漏洞
    • ……

    以上质量问题同样也困扰着各种开发团队。

    那么如何在敏捷开发中提高开发质量?这个话题成为了讨论的焦点。

    上校任务,质量的改善需要从三个方面入手:

    Scrum团队自身的开发质量改善活动

    需要从Scrum团队管理、技术、沟通、个人能力等4个方面做出改善。

    [以下内容未归类,更新后归类]

    • 首要任务是根据项目的重要程度和优先级,组建Scrum团队,合理优化人员能力 —— 从团队下手
    • 树立良好的开发规范并且Scrum团队共同遵守
    • Scrum Master需要真正的起到Scrum规则确保和维护的作用,必要时需要和Product Owner “谈判”
    • Scrum Master要逐步在 Product Owner和其它干系人(Stakeholders)中提高威信力
    • Scrum Planning Meeting 时,根据团队能力和经验数据,做好合理的估算(偏差不要超过20%)
    • 敏捷不代表不需要文档,必要的文档一定要按照规范按时完成
    • JIRA管理一定要每日检查并更新,保证信息的最新状态
    • 双向反馈要及时,除了邮件共享信息之外;项目相关的信息都需要采用JIRA管理
    • Scrum团队需要正确理解Product Backlog,正确理解 User Story,不清晰的需求要及时澄清;
    • Scrum团队提高Coding能力,尤其是一定要基于 Security Checklist 的要求Coding
    • Scrum团队做好Unit Test,提高 Unit Test 的覆盖率
    • Scrum团队内部确保沟通畅通,信息共享
    • Scrum团队中的成员要遵守承诺,具有“契约精神”,遵守DoD规则
    • Scrum Master真正的在Product owner和Scrum团队之间做好沟通“桥梁”
    • Scrum Master收集每个Sprint的度量数据,及时做出分析,实施改善活动
    • Scrum Master带领Scrum团队做好Retrospective活动,改善团队气氛

     

    独立的测试团队加强测试和缺陷分析

     

    QA采取有效的行动做好质量保证

    • 过程控制(Process Control)
    • 定量管理(Quantitative Management)
    • 持续改善(Continuous Improvement)
    • 缺陷预防(Defect prevention)

    (持续更新中……)

    展开全文
  • 敏捷开发小组会进行大量的规划活动
  • 敏捷开发中如何进行团队绩效管理

    千次阅读 2018-01-31 13:10:49
    敏捷开发中,绩效管理是管理层非常关心的问题,而敏捷(或Scrum)没有关于绩效的定义或做法。本文是Ken Rubin基于自己20多年的敏捷开发经验总结出来的、敏捷团队如何进行绩效管理。 几乎我教过的每堂课或辅导...
  • 什么是敏捷开发

    2019-10-31 15:50:18
    本篇分享的是:【什么是敏捷开发 】 目录: 1.几种开发方法 1.1瀑布式开发 1.2迭代式开发 1.3螺旋式开发 2.敏捷开发 2.1 敏捷开发的诞生 2.2敏捷开发宣言 2.3 敏捷开发 3.敏捷开发方法 ...
  • 敏捷开发-快速迭代

    万次阅读 多人点赞 2013-05-08 19:57:45
    今天跟大家分享的是“敏捷开发、快速迭代”。我们大都采用的是“瀑布开发模式”,有了问题,就得返工,虽然最终的产品会比较齐全完善,但是开发周期太长,开发人员会产生排斥,甚至厌恶的心理。经过YH系统的开发,也...
  • 敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP… 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum...
  • 如何理解敏捷开发

    2019-06-09 22:41:01
    什么是敏捷开发 2.0 常用的 4 种开发模式 瀑布式开发 迭代式开发 螺旋式开发 敏捷软件开发 4 种开发模式总结 什么是 DevOps 精益管理的7个原则 DevOps的开发流程 提交 编译 单元测试 部署到测试环境 ...
  • 敏捷开发 模型讲解

    千次阅读 2017-03-01 16:56:54
    CSDN:在你的工作生涯,前期是在创业公司,后来是大公司,有着一套自己的敏捷开发模式,能够谈谈在你现在使用的敏捷开发工具或方法? 黄勇:敏捷这个话题大家一直都在谈论,也有很多关于敏捷的工具或方法,我...
  • 觉得这篇文章写的非常好,非常有助于大家了解敏捷开发,原文...在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。(把一个大项目分为多个相...
  • 敏捷开发的理解

    2019-06-22 06:52:07
    敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 敏捷开发,没有其他开发那么复杂繁琐,敏捷开发是当代信息社会孕育出来的适应社会的需求的一种开发模式...
  • 个体和互动高于流程和工具:意思是敏捷开发中每个人都可以提出自己的见解,而不必按照”流程“逐个向上级反应。目的是为了降低”沟通的成本“ 工作的软件高于详尽的文档:指你正在开发的软件,即使没有文档,你也...
  • 敏捷开发模式的四种会议

    万次阅读 2017-04-01 14:31:03
    敏捷开发流程模型图当中可以看出,在敏捷实施过程当中,有四种会议,分别是计划会,每日站会,回顾会,评审会,其中数计划会最为重要。...在敏捷开发模式,每种会议都有其特殊的职责和使命,不同
  • Scrum敏捷开发简介

    万次阅读 热门讨论 2014-02-16 23:50:22
    Scrum是一种灵活的敏捷软件开发管理过程。这个名词来源于英式橄榄球。Scrum方法由Ken Schwaber和 Jeff Sutherland 提出,它将软件开发团队比作橄榄球队,全队有明确的最高目标:发布产品的重要性高于一切。团队高度...
  • 敏捷开发 以人为核心、迭代、循序渐进的开发方式 简化文档,提取文档重点,主要在于人与人之间的沟通, 对开发产品进行迭代,最终完成开发。 迭代:迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小...
  • 敏捷开发与Scrum

    2019-01-06 21:41:31
    敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此...
  • 敏捷开发实践总结

    千次阅读 2017-12-03 20:21:15
    敏捷开发实践总结 前言 敏捷开发它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而Scrum和XP就是敏捷开发的具体方式了,你可以采用Scrum方式也可以采用XP方式;Scrum和...
1 2 3 4 5 ... 20
收藏数 8,435
精华内容 3,374
关键字:

敏捷开发中的承诺