zoukankan      html  css  js  c++  java
  • 敏捷开发方法综述

    这周老师介绍了关于敏捷开发的详细,在软件编程日益巨大的今天,敏捷开发必定会给开发者们带来很大的机遇,但是与此同时,也会是严峻的考研。

    敏捷开发是什么呢!简单意义上说:一个团队的问题讨论后编程的迭代,将一个问题从简单出发渐入佳境。

    敏捷开发SCRUM开发方法:

    让团队坐在一起:

    1.  互相听到:所有人都可以彼此交谈,不必大声喊,不必离开座位。

    2.  互相看到:所有人都可以看到彼此,都能看到任务版

    3.  隔离:如果你们整个团队突然站起来,自发形成一个激烈的设计讨论,团队外的任何人都不会打扰到。

    产品负责人应该离团队很近,既方便团队成员走过来讨论问题,他也能随时踱到任务版前面去。但是他不应该跟团队坐在一起。为什么?因为这样他就无法控制自己不去关注具体细节,团队也无法凝结成整体(即达到关系紧密、自组织、具有超高生产力的状态) 

    怎样更新任务版

    无论sprint backlog是什么形式,都要尽力让整个团队参与到保持sprint backlog及时更新的工作中来,我们曾经试过让Scrum master自己维护sprint backlog,他就不得不每天都去询问大家各自剩余的工作估算时间。这种做法的缺点是:

    1.  Scrum master把太多时间用在了管理之类的工作上,而不是为团队提供支持,消除他们的障碍

    2.  因为团队成员不再关心sprint backlog ,所以他们就意识不不到sprint的状态,缺少了反馈,团队整体的敏捷度和精力的集中程度都会下降。

    如果sprint backlog设计得很好,那每个人都应该很容易修改它。 

    怎样进行sprint演示

    Sprint演示是Scrum中很重要的一环。一次做的不错的演示,即使看上去很一般,也会带来深远影响。

    1.  团队的成果得到认可,他们会感觉很好。

    2.  其他人可以了解你的团队在做些什么。

    3.  演示可以吸引相关干系人的注意,并得到重要反馈。

    4.  演示是一种社会活动,不同的团队可以在这里相互交流,讨论各自的工作。这很有意义。

    5.  做演示会迫使团队真正完成一些工作,进行发布(即使是只在测试环境中)。如果没有演示,我们就会总是得到99%完成的工作。有了演示以后,也许我们完成的事情会变少,但它们是真正完成的。这比得到一堆貌似完成的工作要好得多,而且后者还会污染下一个sprint

    Sprint演示检查列表

    1.  确保清晰阐述了Sprint目标。如果在演示上有些人对产品一无所知,那就花上几分钟来进行描述。

    2.  不要花太多时间准备演示,尤其是不要做花里胡哨的演讲,把那些玩意扔一边去,集中精力演示可以实际工作的代码。

    3.  节奏要快,也就是说要把准备的经历放在保持演示的快节奏上,而不是让它看上去好看

    4.  让演示关注于业务层次,不要管技术细节。注意力放在我们做了什么,而不是我们怎么做的

    5.  可能的话,让观众自己试一下产品。

    6.  不要演示一大堆细碎的bug修复和微不足道的特性,你可以提到一些,但是不要演示,因为他们通常会花很长时间。而且会分散大家的注意力,让他们不能关注更加重要的需求。 

    Scrum回顾

     回顾是Scrum中第二重要的事件(最重要的是sprint计划会议),因为这是你做改进的最佳时机。如果没有回顾,团队就会不断重犯同样的错误。

     回顾组织:

    1.  根据要讨论的内容范围,设定为13小时

    2.  参与者:产品负责人,整个团队。

    3.  在不受干扰的情况下讨论。

    4.  一般不要在团队房间中进行回顾,因为这往往会分散大家的注意力。

    5.  制定某人当秘书。

    6.  Scrum master 向大家展示sprint backlog ,在团队的帮助下对sprint做总结。包括重要事件和决策等。

    7.  轮流发言,每个人都有机会在不被人打断的情况下讲出自己的想法,他认为什么是好的,哪些可以做的更好,哪些需要在下个sprint中改变。

    8.  我们队预估生产率和时机生产率进行比较。如果差异比较大的话,我们会分析原因。

    9.  快结束的时候,Scrum master对具体建议进行总结,得出下个sprint需要改进的地方。

    我们的回顾会议一般没有太规整的结构,不过潜在的主题都是一样的:我们怎样才能在下个sprint中做的更好

    结对编程

    1.  结对编程可以提高代码质量。

    2.  结对编程可以让团队的精力更加集中

    3.  结对编程令人精疲力竭,不能全天都这样做。

    4.  常常更换结对是有好处的。

    5.  结对编程可以增进团队间的知识传播。速度快到令人难以想象。

    6.  有些人就是不习惯结对编程。不要因为一个优秀的开发人员不习惯结对编程就把他置之不理。

    7.  可以把代码审查座位结对编程的替代方案。

    8.  领航员”(不用键盘的家伙)应该自己也有一台机器。不是用来开发,而是在需要的时候稍稍做一些探索尝试、当司机”(使用键盘的家伙)、遇到难题的时候查看文档,等等。

    9.  不要强制大家使用结对编程。鼓励他们,提供合适的工具,让他们按照自己的节奏去尝试。

    下面的对团体工作有所鼓励:

             个体与交互                胜过                 过程与工具

             可以工作的软件            胜过               面面俱到的文档

                 客户协作                     胜过                  合同谈判

                 响应变化                     胜过                  遵循计划

  • 相关阅读:
    使用ROS开源代码和激光雷达进行小车的定位导航——里程计信息的计算
    ROS常用快捷键、基本命令
    机器人关节空间轨迹规划--S型速度规划
    机器人单关节力矩控制(前馈+反馈)
    基于 Mathematica 的机器人仿真环境(机械臂篇)
    ROS2入门教程-windows安装ROS2
    复现一篇深度强化学习论文之前请先看了这篇文章!
    Q学习使用ROS和Gazebo的turtlebot的迷宫导航
    turtlebot2+ROS kinetic+笔记本安装配置(测试成功版)
    视觉机器人+人体姿态识别项目总结
  • 原文地址:https://www.cnblogs.com/zjj123456/p/5327145.html
Copyright © 2011-2022 走看看