敏捷开发 看板_什么是看板? 定义的敏捷方法论,以及如何将其用于您的软件开发团队

敏捷开发 看板

Kanban was invented in the Japanese automotive industry in the first half of the 20th century. Inspired by how supermarkets stock their shelves based on demand, Toyota's goal was to reduce inventory and to improve the flow throughout their whole production system.

看板是20世纪上半叶在日本汽车工业中发明的。 受到超市如何根据需求库存货架的启发,丰田汽车的目标是减少库存,并改善整个生产系统的流程。

In his book Kanban: Successful Evolutionary Change for Your Technology Business, David Anderson described how to apply the Kanban principles to software development. These principles are:

David Anderson在他的《 看板:成功的技术业务变革》一书中,描述了如何将看板原理应用于软件开发。 这些原则是:

  • Start with what you do now

    从您现在的工作开始
  • Agree to pursue incremental, evolutionary change

    同意追求渐进式的变革
  • Respect the current process, roles, responsibilities, and titles

    尊重当前流程,角色,职责和头衔

这对敏捷软件开发意味着什么? (What does that mean for agile software development?)

In my training courses, I ask the attendees what they already know about agile software development. Common answers are: "Work in Sprints", "There's a product owner", "Manage user stories in a backlog." People are influenced by the arguably most popular agile framework today, Scrum.

在我的培训课程中,我问与会者关于敏捷软件开发的知识 。 常见的答案是:“在Sprint中工作”,“有产品负责人”,“管理积压的用户案例”。 人们受到当今最流行的敏捷框架Scrum的影响。

Scrum comes with its own predefined roles, events and artifacts. Scrum requires you to follow the rules defined in the Scrum Guide, if you want to call what you're doing Scrum. Kanban is different.

Scrum带有其自己的预定义角色,事件和工件。 如果要调用正在执行的Scrum,Scrum要求您遵循《 Scrum指南》中定义的规则。 看板是不同的。

Kanban starts with the process that you follow in your company now. Visualize the steps on a Kanban board. They can include everything you do, from idea to delivery.

看板从您现在在公司中遵循的流程开始。 可视化看板板上的步骤。 它们可以涵盖您所做的一切,从构思到交付。

Each step becomes the title of a column on the board.

每个步骤都成为板上的一列标题。

To track your day to day work, it's best to break it down into small items. Maybe user stories that can be implemented in, at most, 2 days. Write each item on a stickie note, and hang it on the board. You can use the vertical order on the board for prioritization.

要跟踪您的日常工作,最好将其分解为小件。 也许最多可以在2天内实施的用户案例。 将每个项目写在便笺上,并将其挂在板上。 您可以使用板上的垂直顺序进行优先级排序。

The cards move from left to right. The people doing the work pull items that have been finished by the previous process step. When they have capacity to do so. So the developers in the example pull the Upload Image card into Dev when they have the capacity to implement it.

卡从左向右移动。 从事工作的人员将上一步中已完成的项目拉出。 当他们有能力这样做时。 因此,示例中的开发人员在有能力执行时将上载图像卡拉入Dev

追求渐进的,渐进的变化 (Pursuing incremental, evolutionary change )

So you have created a Kanban board that shows your process? You are making your work visible, which is a great start!

因此,您创建了一个看板来显示您的过程吗? 您使工作可见,这是一个很好的开始!

To get the benefits of Kanban, you need to do some more things. You need to:

为了获得看板的好处,您需要做更多的事情。 你需要:

  • Limit work in process and queues

    限制流程和队列中的工作
  • Observe and improve flow

    观察并改善流量
  • Collaborate effectively

    有效合作

限制流程和队列中的工作 (Limit work in process and queues)

Limiting work in process means: you set a maximum for the number of items you work on. That's called the Work-in-Process limit, or in short WiP limit. Here's the Kanban board with a WiP limit for some process steps.

限制在制品的意思是:您设置要处理的项目数的最大值。 这就是所谓的在制品限制,或简称为WiP限制。 这是看板,其中某些过程步骤具有WiP限制。

The developers can work on 5 items at a time. At most. If their column contains 5 items, they are not allowed to pull items any more. This has two consequences.

开发人员可以一次处理5个项目。 最多。 如果他们的栏中包含5个项目,则不允许他们再拉项目。 这有两个后果。

First of all: it encourages people to finish their work, instead of starting more work. Started work that isn't finished bears risks. How happy will your customers be when you can't release your software as planned? Because you started to work on all these great ideas, but you didn't go through with them?

首先:它鼓励人们完成工作,而不是开始更多的工作。 尚未完成的已开始工作将承担风险。 当您无法按计划发布软件时,您的客户会有多高兴? 因为您开始研究所有这些很棒的主意,但是您没有接受这些主意?

The second consequence of limiting work in process: bottlenecks become visible. When a process step starts work that it can't finish, people will feel it immediately. Because the next process step won't be able to pull items.

限制在制品工作的第二个结果是:瓶颈变得显而易见。 当某个流程步骤开始无法完成的工作时,人们会立即感觉到它。 因为下一个处理步骤将无法提取项目。

Apart from limiting the work in process, you should limit queue sizes, too. In the board above, they are shown as the dotted lines between the columns. It works the same way as limiting the work in process.

除了限制正在进行的工作之外,您还应该限制队列大小。 在上面的面板中,它们显示为列之间的虚线。 它的工作方式与限制进行中的工作相同。

In summary: Stop starting, start finishing is the motto. From concept to delivery in as little time as possible.

总结: 停止启动,开始完成是座右铭。 从概念到交付的时间尽可能短。

观察并改善流量 (Observe and improve flow)

Observing a bottleneck can be painful at first. But at least you know where the major problems are in your process. And Kanban encourages you to improve the flow by removing the bottleneck.  A consistent flow enables you to deliver more reliably, and that's good for all stakeholders, including developers.

首先,观察瓶颈会很痛苦。 但是至少您知道过程中的主要问题在哪里。 看板鼓励您通过消除瓶颈来改善流程。 一致的流程使您能够更可靠地进行交付,这对包括开发人员在内的所有利益相关者都有好处。

To observe the flow, you record the time at which a card enters a process step. And the time at which you complete the process step. So you know how much time the card spends in each step, and in each queue between the steps.

要观察流程,您记录卡进入流程步骤的时间。 以及完成流程步骤的时间。 因此,您知道卡在每个步骤以及步骤之间的每个队列中花费的时间。

Based on the data, you can set up metrics that help you to improve the flow. Common metrics include:

根据数据,您可以设置指标以帮助您改善流程。 常见指标包括:

  • Cycle time: the time a card takes from the moment a team starts working on it (i.e. Dev) to delivery (i.e. Release). Improving this metric can help you improve your time to market.

    周期时间:从团队开始处理卡片(即Dev )到交付(即Release )的时间。 改进此指标可以帮助您缩短上市时间。

  • Throughput: the number of cards that move through the system in a given time. Improving this metric can help you improve the performance of your delivery organization.

    吞吐量:在给定时间内在系统中移动的卡的数量。 改进此指标可以帮助您提高交付组织的绩效。

A common way to get an overview of how many cards are in which process step over time is a cumulative flow chart. Ideally, the number of cards in each step but the last stays roughly the same over time. The number of released cards should mount. When the chart deviates from that, you might have a bottleneck.

概述随着时间的推移在哪个处理步骤中有多少张卡的概述的一种常见方法是。 理想情况下,每一步但最后一步的牌数会随着时间的推移大致保持不变。 应安装已发行卡的数量。 当图表偏离此范围时,您可能会遇到瓶颈。

有效合作 (Collaborate effectively)

The Kanban metrics are a powerful tool to analyze and improve what you're doing. But they are worthless without the people doing the work. Everybody involved in the process steps should be open to the transparency that Kanban creates.

看板指标是一个强大的工具,可以分析和改善您的工作。 但是如果没有人们的工作,他们就一文不值。 参与过程步骤的每个人都应该对看板所创造的透明度持开放态度。

People should work together constructively to remove bottlenecks, instead of blaming individuals. Look at the current state regularly. Are there any bottlenecks? Is there too much or too little work available for a certain process step? Is throughput sufficient? Are there other sources of discontent? What needs to be improved?

人们应该进行建设性的合作以消除瓶颈,而不是责怪个人。 定期查看当前状态。 有瓶颈吗? 某个过程步骤是否有太多或更少的工作可用? 吞吐量是否足够? 还有其他不满根源吗? 有什么需要改进的?

Agree on experiments that try out small changes to the system. Realize the changes. Later, look if the experiments worked out as expected. To be able to implement the changes, management support is often crucial.

同意尝试对系统进行细微改动的实验。 实现更改。 稍后,看看实验是否按预期进行。 为了能够实施更改,管理支持通常至关重要。

何时使用看板 (When to use Kanban)

Kanban is very flexible. It can be used in combination with Scrum, which is called Scrumban. It can be used outside of product development. You can even use it to plan a trip or organize what you do in your free time.

看板非常灵活。 它可以与称为Scrumban的 Scrum结合使用。 可以在产品开发之外使用。 您甚至可以使用它来计划行程或安排空闲时间的工作。

I found it especially helpful when working in Scrum Sprints is not possible or is difficult. Example: two companies where one is customer, and the other is supplier, and a hand-off is inevitable. Another example is when you're working on a product that involves both software and hardware, and multiple engineering disciplines are involved.

当无法或难以进行Scrum Sprint时,我发现它特别有用。 示例:两家公司,其中一家是客户,另一家是供应商,因此交接是不可避免的。 另一个示例是,当您处理涉及软件和硬件的产品时,涉及多个工程学科。

Kanban can also be used inside your company when development works in an agile fashion, but not all of the rest of the company does.  It can be used to facilitate the cooperation between strategic planning and software development.

当开发以敏捷的方式进行时,看板也可以在您的公司内部使用,但并非公司的其他所有成员都可以使用。 它可用于促进战略计划与软件开发之间的合作。

Don't think that just because you have trouble implementing Scrum, there's no way to become more agile. Kanban starts with what you do now. And if you take it seriously, it will help you improve. One small step at a time.

不要以为仅仅因为在实施Scrum时遇到麻烦,就没有办法变得更加敏捷。 看板从您现在的工作开始。 而且,如果您认真对待它,它将帮助您改善。 一次只迈出一小步。

To learn more about agile software development, visit my online course. To keep up with what I’m doing or drop me a note, follow me on dev.to, LinkedIn or Twitter. Or visit my GitHub project.

了解有关敏捷软件开发的更多信息 ,请访问我的在线课程。 要跟上我的工作 进度 给我 留言 ,请 dev.to LinkedIn Twitter 上关注我 或访问我的 GitHub项目

翻译自: https://www.freecodecamp.org/news/what-is-kanban-the-agile-methodology-defined-and-how-to-use-it-for-your-software-development-team-2/

敏捷开发 看板

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值