Kanban as a software development process in practice

Has anyone used the kanban method to manage software development?

I value kanban as a method, and I would be curious to hear from everyone who actually put it into practice regarding how effective it is. I have seen issues like: is-anyone-using-kanban , kanban-vs-scrum and apply-kanban-in-an-agile-team , but they do not affect my problems.

In particular, I'm interested in:

  • Does this really provide benefits - are these claims in terms of dynamically identifying bottlenecks?
  • Is it easy to implement in practice or does it have logistics problems that you need to solve?
  • Does it scale well to design teams with many concurrent workflows and many developers?
  • How does it compare with critical path analysis (as implemented in MS Project), how does it differ?
  • What other benefits can you get from using kanban?

Thanks.

+6
performance process project-management kanban
source share
6 answers

In the article Using Kanban for PC Deployment , the Team should consider the following equipment:

  • 160 new deployment PCs
  • 40 new deployment laptops
  • 120 PCs and 10 laptops to upgrade and redistribute.

... we are studying the use of Kanban to manage a short-term functional project. This example focuses on using Kanban to create a transparent process for tracking equipment flow through a series of complex steps, without the additional cost of tracking software, complex processes and training, or duplicating efforts. Improved uniformity or quality of the deployment process will also help to improve troubleshooting efficiency and repair time, as well as ensuring documented high levels of software compliance and licensing standards.

The above page also has links to applied Kanban ...

+2
source share

The Kanban method is primarily a catalyst for continuous process improvement. This is not a quick fix or a fixed set of steps / methods. This method has several fundamental principles and basic properties, as described in a recent post by David J. Anderson , that can lead you to continuous process improvements. To your questions:

  1. The Kanban method alone does not reveal any bottlenecks. By introducing work in progress limits for a process that puts a strain on your process, you will eventually create an extraction system, and then it will become easier to identify bottlenecks in your process. Tools such as the Kanban visual board and flow charts help you identify bottlenecks in the process.

  2. If you apply the fundamental principles and basic properties, and you have endurance / patience / dedication, it is not so difficult. You must manage the change process, as with every organizational change, but the Kanban method is designed to make small and non-threatening changes.

  3. Yes, there are many documented cases of this.

  4. The Kanban method does not define a specific method for planning and forecasting future deliveries. David J. Anderson has experience in Theory of Constraints and uses CBT as a model in most of my work. I think that the big difference between MS Project-style practical planning and the empirical planning used in many kanban implementations is a big difference. When working with the project plan developed in MS Project, at the beginning of the project you know very little about the actual problem area and make assumptions. Based on these assumptions, you are developing a plan. The critical path is calculated based on these assumptions. With a stable kanban system and using the table of contents as a model, you plan to “only” to limit / the bottleneck on the critical path. You take into account the historical variability of the work going through the constraint, and you create buffers around your bottleneck with the corresponding risk that you want to take. The point is that every hour lost in a bottleneck will be an hour lost for the whole system.

  5. The main advantage of the Kanban method is that it is a catalyst for continuous process improvement. It begins with what you received, and makes non-threatening changes that stick. Kanban is a method that is made to stick

+3
source share

I also do not have much experience working with him, but I think I can offer some insight. 1 and 4: The main difference between Kanban tips and other methods, such as CPM, is that the Kanban board, in the correct implementation, forces you to impose restrictions on the work. This creates a traction system, as new items are accepted by workers only when they have a capacity. This differs from a project such as an MS project, where tasks are assigned to employees in advance (i.e., clicked).

It is much easier to identify the bottleneck in the ejection system, since the work items will be in line at a certain stage of the process. In a push system, work is pushed through the system (whether it is “done” or not), so it is difficult to find bottlenecks.

Another advantage of the ejection system is that you can begin to set the time frame for the actual results (cycle and cycle times), as opposed to forecasting. Yes, the size and granularity of the stories affects this, but with methods such as cumulative flow diagrams, it becomes less important.

2: Most implementations are fairly simple, and therein lies a certain strength of this technique. I think if you have problems with the logistics of technology, you are doing it wrong. Look here for a good “kickstart example”.

+1
source share

I have no specific experience using Kanban in software, but I am familiar with the practice from a manufacturing point of view, so I was curious about the implementation. Reading your link, what struck me as a possible embarrassment is what was the fundamental assumption about the same level of units of work (traits, stories, whatever). Despite the fact that things “story size” are a good goal, big and small stories floating around are often confused, and the small amount limits in their conveyor therefore seem artificial. If the goal is to identify bottlenecks, I would think that standing plans and sprint planning and retrospectives would do it quite well. If the goal is to facilitate prioritization, I think that restricting the limits on the number of tasks by type would not do this, but would simply order them from top to bottom.

I think I don’t see what value he adds; that, as they say, I see no harm in trying it and accepting any works.

0
source share

1. Does it really have benefits, is it a claim in terms of dynamically identifying bottlenecks?

That was my experience. By setting WIP limits to reflect the available capacity, if there is work that needs to use this capacity, but it needs to wait until it becomes available, you will see it as a job queue, a backup in front of a bottleneck. I saw how this happens when there is an overloaded QA team with an upstream development team who continue to produce, even though there is no chance that it will be tested by QA. The solution we made to this was to provide some developers with a QA team, which then helped alleviate the bottleneck.

2. Is it easy to do in practice or do you have logistics problems that you need to solve?

This will depend on many factors that will be specific to the context to which you apply it. One of Kanban’s greatest strengths is that it doesn’t require an immediate change in “all or nothing” from how you are working. The chapter “Recipe for Success” in David Anderson’s book “Kanban” provides a great way to get closer to change, starting with “Focus on Quality”

3. Does it scale well to design teams with many concurrent workflows and many developers?

In the project where I first used it, we ended up with a team of seventeen developers, and we moved the QA team out of four to our team. We also had many external dependencies that we used for the Kanban model.

4. How does it compare with critical path analysis (how is it implemented in MS Project), how does it differ?

Transmission has never been used

5. What other benefits can you get with kanban?

There are many, but I will scream that it gives you indicators that are really useful for discussing and managing work, both with the team and with stakeholders and other people outside the team. In particular, using Bandwidth and Cycle Time gives you a probabilistic characterization of the job.

0
source share

A few definitions to focus on before moving on to the differences:

Agile – A structured and iterative framework to track and manage projects. This approach is used in managing software development projects. It allows cross-functional teams to collaborate on users expectations. Kanban – A framework which utilizes visualization technique, limiting the number of tasks to be taken in "Work in Progress" column. The segregation of a similar type of tasks can be done here. To simplify it, allocate colors to tasks using the swim lanes. Scrum – The approach followed here is breaking down a complex task into simpler smaller manageable pieces which are easy to collaborate upon by the respective owners of the [scrum][1]. 

Similarities between Kanban and Scrum

  • Agile Framework
  • Used to track project progress.
  • Ensure team transparency in tracking progress
  • Use visualization

Differences between Kanban and Scrum

Roles - Scrum depends on the owners of contractions and is developed by them accordingly. Kanban is independent of cross-functional team members and concurrent roles.

Release Cycle - Scrum uses sprints, the duration of which varies from one week to two weeks. User stories are then accepted for development, testing, and bug fixes. Kanban does not follow any cycle, and this process is continuous.

Tracking Options - Scrum uses speed to plan upcoming sprints, taking into account the complexity and number of user stories completed in the previous sprint. Kanban provides a limit to the number of user stories in the Work in Process column to avoid bottlenecks. It keeps track of the time it takes to complete a task from start to finish.

Scale of Improvement - Scrum discourages changes to current sprints. Kanban is open to any changes until the project is completed. It is flexible.

A suitable factor - Scrum is suitable for projects with clearly defined user stories. Customer confirmation of the timely completion of the project makes it suitable. Kanban, being inherently flexible, allows you to vary priorities based on your current scenario.

The selection process - Scrum selects a batch of user stories from the product backlog for development. Kanban keeps track of the maximum number of tasks resolved in columns in order to maintain the structure's performance and avoid bottlenecks.

Delivery - Scrum follows delivery based on sprint planning and prioritizes based on customer specifications. Kanban follows a continuous delivery model based on business needs.

The above items are easy to remember if you can visualize working on them. Ideally, where the battle follows a fairly predetermined set of principles. Kanban is based on the principle of flexibility. This allows you to track tasks that are of primary importance for delivery.

0
source share

All Articles