kanban_看板 - CSDN
精华内容
参与话题
  • 什么是 Kanban (看板)看板,可以理解为一个具备约束条件,使用拉动方式来改变工作任务状态的流程可视化系统。有点抽象是不是?请看下面的看板样例,然后我会逐个解释上面几个关键字是什么意...

    什么是 Kanban (看板)

    看板,可以理解为一个具备约束条件,使用拉动方式来改变工作任务状态流程可视化系统。

    有点抽象是不是?请看下面的看板样例,然后我会逐个解释上面几个关键字是什么意思。


    工作流和状态变更

    这个应该不难理解。当你要完成某个任务的时候,通常都会涉及状态变更。最简单,就只有两个状态,"正在进行"和"完成",对吧?

    在软件开发领域,一个产品或者新功能面世前,通常都要经历几个阶段: 需求提出,需求分析,设计,开发,测试部署实施。这些不同的阶段,其实就是工作项从开始到结束要经历的各个状态的变更。那我们其实可以把它们映射为上面的看板样例中的每一列里。

    可视化

    工作流程在软件开发领域是非常复杂的,通常要牵涉不同部门的协作。如果在流程中还设置了不少的监管程序,或者管理混乱的情况下,那更是一团糟。

    要通过言语来描述整个流程,可能会很罗嗦也未必能说清楚。但是通过像上面的一个那样的板子,其实就可以很清晰的帮助我们看到整个流程是怎么样的,不同的工作任务各自的状态,是否被阻碍,从而看出流程上是否存在瓶颈。

    约束

    约束在看板里面被称为在制品 (WIP)。这个特点,是看板区别于其它 "卡片墙" 形式的任务管理系统的最大不同点。约束在看板上面就是体现在每一个阶段下的那个数字,它代表了同一时间最多有几个任务可以处于当前阶段。从上面的例子来看,就同时最多只能开展6个开发任务。

    对于这个约束,一开始我们可以先简单理解为负责这个阶段的部门里的人数。虽然说很少会限制一个人只能做一件事情,但是先这样来类比的话,比较容易理解。

    拉动

    其实这是一个很有趣的动词。它是另一个动词推动的反面。我想大多数的开发人员能很清楚的感受到这两个词背后的含义。通常情况下,所有的开发任务都是从上层指派下来的。

    但是在看板里面,它强调工作项是必须从下游拉动的。一旦某个阶段的约束条件已经达到,也就是说人员已经满负载在工作了,就不能再接受任何新的任务了。直到手上的工作项已经做完,而且这个工作项被它的更下游接收了,那么当前这个阶段才可以承接上游来的任务。

    所以说,这是一个拉动式的系统。不难想象,通常处在最上游的人员更倾向喜欢推动的模式多一些。但是下游肯定是更喜欢拉动的方式。目前大多数的企业和团队应该都是推动式管理的,这主要由于沿袭了过时的管理模式和普遍的上下游的信任问题。这些问题,其实是看板希望能够解决和改善的地方。

    如何可视化流程

    应该没有人会质疑流程的重要性,但是同时也有很多人讨厌流程。因为那些被人厌恶的流程其实是官僚式的做事方式,它们只会带来低效和扼杀公司的敏捷和创新能力。

    通常,因为某些事故的发生,很容易就会在现有的流程上再添加一些所谓的监管性的措施。但是,如果想移除一些既定的流程,那就不是那么一件容易的事情了。 大部分的原因,是基本没有人可以很清楚说明当初添加某个流程的历史缘由,而且也不一定够胆量提这样的建议。一方面,很难证明某个流程在移除后能带来多少好处。再说,作为提议者,一般都会担忧移除后可能带来的后果。所以,请神容易,送神难。

    流程的可视化是看板里面首要且最重要的的事情。 通过充分的可视化,任何阻碍项目运行的流程,和可改进的领域更显而易见。同时,流程中耗费的沟通成本,是可以通过可视化去除掉的。你想想,如果看板上面已经把最重要的,各方沟通所需要的信息都反映出来,我们还需要发各种邮件去问一大圈的人吗?

    案例

    让我们来看看一间公司目前的开发流程:

    1. 业务分析人员收集需求,确定优先级和特定的发布日期后,他们再对开发和测试人员进行需求描述。

    2. 开发和测试人员根据需求,估算开发和测试要用的时间,并回馈给业务人员,确定哪些需求可以包含在当次发布里。

    3. 当开发任务完成,开发人员需要向发布组提出一个发布项目申请。这个申请其实只是一些类似证明文件的东西,来表示这个发布项目已经经过必要的开发测试,安排测试人员,并且让系统和数据库管理团队审批了开发人员要求做的一些系统级变更。

    4. 发布组确认发布项可以纳入当次的发布版本后,开发人员可以申请测试环境的部署。

    5. 当测试环境部署完毕,开发小组需要在上面先做集成测试,然后再通知测试人员入场测试。

    6. 当测试完成后,如果没有什么重大的问题的话,测试人员就可以通知发布组把项目部署到预生产环境。

    7. 测试人员在预生产环境做回归测试看有没有什么问题。

    8. 当回归测试也完成后,发布组就会做最后的生产环境的上线准备。

    注意:整个流程里面,每天或者每周,都会有不同的组发不同的报告出来,统计项目进度和遇到的问题。

    先不管这个流程好还是不好,我们可以看到中间牵涉到多少环节和多少部门在里面。每一个环节都通过某种信号来表示当前环节已经完成,然后通知下一个环节的部门和人继续处理下去。我们可以想象,如果中间的沟通是以来各种即时通讯软件或者邮件来达成的话,是多么低效,尤其是一些问题需要涉及多部门来解决的时候。

    但是,如果我们把整个流程通过下面的看板可视化出来,所有的部门都通过项目在板子上面的状态来了解它的进度和决定下一步应该是哪个部门要接手处理的话,多少额外的沟通成本可以节省下来啊?

    可视化



    让我们看看怎么把上面的流程和看板结合起来。看板上面的一张卡片,可以认为是一个需求项或者工作项。

    1. 在工作项的优先级确定前,它们全部放在Backlog阶段下。一但确认优先级,就可以把工作项挪到Prioritized阶段。最重要的工作项,应该列在最顶层。这样,不同业务单元之间的任务优先级问题就可以解决了。由于这个公司的流程里,学要求开发和测试做时间的估算,那么,可以在工作项时面加 一些任务,或者把它们包括在Prioritized阶段的拉动前提条件里面。

    2. 当工作项的开发完成后,就可以被标记为完成的状态 (卡片的绿色边框)。这其实是一个信号,让下一个阶段的负责人,在有空闲的情况下,拉进下一个阶段进一步处理。

    3. 一但发布组审核通过工作项,并部署到测试环境,他们同样可以在RC Request的阶段把工作项标记为完成的状态。

    4. 如果开发的集成测试做完了,开发就在Dev-Int Test队段把工作项标记为完成的状态。

    5. 同样的做法可以用在QA Test, PP DeployPP Regression阶段。

    6. 如果说任何一个工作项遇到阻碍,我们可以很容易从卡片的红色边框看出来,并且还可以标记上原因是什么。这样还方便日后流程效率和阻碍项时间占比的分析。

    所以说,通过看板的流程可视化,我们可以清楚的知道工作项的运行状态。后续处理,阻碍项,负责人都可以很清楚的体现出来。一张图胜过千言万语。

    最后,要注意的是,流程的可视化是看板实践里最核心的一步。我们必须反映团队目前的流程,而不是从书本上,或别人的团队那复制一个过来,更不应该是设计一个理想化的流程出来。


    结语

    到这里,大家应该已经有了看板的基本概念了,如果你还有兴趣更深入了解它,可以读读看板创始人 David J Anderson 的: Kanban: Successful Evolutionary Change for Your Technology Business。为什么上面用了樱花这幅图?看过这本书你就知道了。

    想了解更多内容,请持续关注我们的微信公众号:互联网plus管理新范式。点击原文链接,可阅读英文原文。

    版权所有,转载请在文章开头注明作者及"转载自公众号:互联网plus管理新范式",谢谢。

    展开全文
  • 巧用Scrum与Kanban

    2018-09-18 13:14:55
    本文来自网易云社区文\屈鹏飞在互联网行业的项目管理实践中,敏捷和精益一直是大家所提倡的思想,其中Scrum和Kanban方法作为即敏捷又精益的典型代表,许多PM都在研究,笔者近期也在学习和实施Scrum和Kanban方法,...

    本文来自网易云社区


    文\屈鹏飞

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

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

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

    000ef11e-e578-4279-b3f3-9a48ef2d0827 

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

    区别一:实施过程中关注核心的区别

    Scrum实施的核心可以概括为“化繁为简”,从几个维度解释下:

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

    2. 工作任务的拆分,将产品需求拆分成小的用户故事,并评估优先级

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

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

    1. 拉动式生产,下游工作完成后,主动拉动上游的任务移动

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

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

    区别二:限制WIP数量的方式不同

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

    区别三:对任务变更管理的不同

     

    dc4deeaa-ed3e-4a2c-a397-3c986e09e141

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

    6a0b5759-33d9-41da-8e20-8ab8b58be55c 

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

    区别四:改进依据的不同

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

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

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

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

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

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

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

    8a7d6c89-8337-4499-8aea-038fef074ee3 

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

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

     c4b6e6ac-4fac-4ba0-b8c4-d252b24ed479

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

    50d1fda3-b66a-4820-8559-ed95c3f4c21c 

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

    813f2c53-11a3-46ed-b601-c8a80484af91

    5ae6eafd-65e4-40ab-b36c-ec74650d847b  

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


    本文来自网易云社区,经作者屈鹏飞授权发布

    网易云免费体验馆,0成本体验20+款云产品!

    更多网易研发、产品、运营经验分享请访问网易云社区


    相关文章:
    【推荐】 一“脚”到位-淋漓尽致的自动化部署

    展开全文
  • 基于研发团队与组织特性(单个团队同时负责多个项目,团队成员负责不同项目,PO与测试资源共用): 迭代事件时间点:  

    基于研发团队与组织特性(单个团队同时负责多个项目,团队成员负责不同项目,PO与测试资源共用):

    迭代事件时间点:

     

    展开全文
  • odoo10创建KanbanView

    千次阅读 2017-12-03 15:32:07
    创建一个菜单打开kanban view <act_window id="action_qingjia_qingjiadan_kanban" name="请假单Kanban" res_model="qingjia.qingjiadan" view_mode="kanban"/> 定义kanbanVi
    
    
    创建一个菜单打开kanban view
    <!-- 二级菜单 -->
    <menuitem name="kanbanView" id="menu_qingjia_qingjiadan_kanban" parent="menu_qingjia" action="action_qingjia_qingjiadan_kanban"/>
    
    <!-- 视图动作 -->
    <act_window id="action_qingjia_qingjiadan_kanban"
                   name="请假单Kanban"
                   res_model="qingjia.qingjiadan"
                   view_mode="kanban"/>
    
    

    定义kanbanView,必须存在一个<t t-name="kanban-box"> </t>否则会报错
     <record id="kanban_all_qingjiadan" model="ir.ui.view">
          <field name="model">qingjia.qingjiadan</field>
           <field name="type">kanban</field>
          <field name="arch" type="xml">
            <kanban>
              <field name="name"></field>
              <templates>
                <t t-name="kanban-box">
                  <div class="oe_kanban_card">
                    <a type="open">
                      <t>申请人:</t>
                      <field name="name"/>
                      <t><br/></t>
                      <t>请假天数是:</t>
                      <field name="days"/>
                      <t><br/></t>
                      <t>开始日期</t>
                      <field name="startdate"/>
                      <t><br/></t>
                      <t> 请假原因是:</t>
                      <field name="reason"/>
                           <t><br/></t>
                      <t> 状态:</t>
                      <field name="state"/>
                           <t><br/></t>
                      <t> 校验码:</t>
                      <field name="checksum"/>
                    </a>
                  </div>
                </t>
              </templates>
            </kanban>
          </field>
        </record>


    KanbanView效果图:
    
    
    
    
    
    
    
    
    
    
    引用:

    Odoo Views (三) - Graphs Kanban: http://blog.csdn.net/j_z10/article/details/53033778

    
    
    展开全文
  • Agile实践之Kanban工具: Wekan

    万次阅读 2016-09-02 07:29:56
    普通用的kanban, Wekan已经足够. Wekan使用起来也非常方便, 其提供了很多方法, 还提供了docker的标准镜像, 你只需要pull下Wekan用来持久化的Mongodb, 和它自己的镜像mquandalle/wekan就可以直接两行docker run即可....
  • Kanban的五个属性

    千次阅读 2012-11-15 20:16:57
    1) Visualize the workflow 2) Limit the work-in-progress 3) Measure and manage flow 4) Make process policies explicit 5) Implement feedback loops 6) Improve collaboratively (using models & scienti
  • Odoo Views (三) - Graphs Kanban

    千次阅读 2016-11-10 11:17:02
    GraphsGraphs view 就是用来将一些 record 来数据可视化。root element is 。可以对它设置如下属性: type 值可以是, bar (default), pie, line statced 仅仅在 bar 的情况下生效,如果设置为 True, 将会按照组...
  • odoo8开发笔记---kanban视图属性

    千次阅读 2018-01-08 14:08:38
    default_group_by: 指明当某个action或者search没有明确制定按照哪个字段分组时,就按照这里设定的值来分组显示,值应该为某个字段的"name"....quick_create 用来指明,是否可以在kanban view中直接创建一个新的 rec
  • odoo的看板

    千次阅读 2019-06-12 08:52:44
    <record model="ir.ui.view" id="bicon_base_goods_kanban"> <field name="name">商品档案kanban视图</field> <field name="model">bicon.bs.goods</field> ...
  • many2many widget(默认) many2many_tags widget many2many_kanban widget many2many_binary widget
  • 前提条件: 除了要将Master Item中“Purchasing”属性组中的"List Price"中输入价格(*重要,否则无法生成requisition)和“General Planning”属性组中的“Make or Buy”属性设置为"Buy"之外,还必须将"Order Management...
  • 关于ODOO中高级视图的看板案例错误

    千次阅读 2018-03-01 17:04:20
    最近开始接触odoo的开发,于是在网上找了教程自己学习了下,但是发现有的案例中有错误。此篇为了记录发现的错误,也为像我一样在网上自学技术却老是发现给的案例不对,不知道自己学的东西到底是对是错的朋友一个提示...
  • //列标题文字居中 dataGridView_KanBan.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //列标题字体设置 dataGridView_KanBan.Column...
  • kanban工具

    千次阅读 2015-10-12 23:14:50
    在线的kanban tool,使用直观方便。
  • 看板工具和Scrum工具,如何选择?

    千次阅读 2015-06-11 17:25:34
    当面对Kanban和Scrum时,记住在最后他们的实践很相似很重要,在这些实践中,他们更可能变更了管理,而不是其它的什么事情,Gottesdiener说。他们的学习曲线也相似,要求最初的承诺和持续增长。
  • <template> <div class="board-column"> <div class="board-column-header"> {{ headerText }} </div> <draggable :list="list" v-bind="$attrs" ... :set-data="setData
  • Microsoft Dynamics AX 2012 Manufacturing – Lean Ninja IoT Scenario Part 4: Functionality/Make to Order Microsoft Dynamics AX 2012 Manufacturing – Lean Ninja IoT Scenario Part 4-2: Functionality...
  • Microsoft Dynamics AX 2012 Manufacturing – Lean Ninja IoT Scenario Part 4: Functionality/Make to Order Microsoft Dynamics AX 2012 Manufacturing – Lean Ninja IoT Scenario Part 4-3: Functionality
  • 看板的来源类型为组织间(Intra Org)的步骤比较简单,如下... Define a Pull Sequence, (N)Inventory->Kanban->Pull Sequences->(B)New, 选择Source为Intra Org, 右边的来源中选择可以补充物料子库存. 2. Generate Cards
1 2 3 4 5 ... 20
收藏数 3,652
精华内容 1,460
关键字:

kanban