Live data from Hacker News

Kanban – The Secret Engineer Killer

blog.aha.io

61–68 of 68 posts

Re: Kanban – The Secret Engineer Killer

#61
tl;dr: author of the article is laboring under many false assumptions about Kanban (and lean software development in general) likely due to a combination of inexperience using such methods personally and unfamiliarity with the available literature. The following is a rather long attempt to correct the base misunderstandings in the article, with pointers to relevant source material. Enjoy!

First, an operational definition: Kanban as it's used in lean software development is 1. visual representation of the work that's in the system and what state it is in and 2. an opportunity to limit the amount of work that can be in each state.

That's it.

Almost every organization that writes software uses something to keep track of the work, and what state it is in - by this logic the title of the article could be "spreadsheets - the secret engineer killer", or "JIRA - the secret engineer killer".

According to the article though, Kanban is ruining engineering teams in "nearly every company" that has adopted Kanban out of the 150 companies the author talked to in the last 60 days. (Some numbers on how many of them are using Kanban, and for how long, would have been nice facts to include, btw.)

So, let's unpack some reasons why this is:

"Engineers are not assembly line workers" - Implying Kanban and pull-based systems only work for "widget producers" and forces engineers to focus on the individual trees, not the forest. I think this sort of highlights the author's misunderstanding of Kanban (and to an extent any pull-based system) and what role it serves in an organization. Kanban isn't magic - it not an organizational design, it's not a product development strategy, and it's definitely not a substitute for leadership. It's a chart on a wall that shows what the work of the product development organization looks like, right now.

For an example of an overall software product development strategy that incorporates pull-based systems as one component, I recommend checking out "Principles of Product Development Flow" by Don Reinertsen.

"It teaches you that you and your engineers cannot be trusted to estimate work or handle complex multi-faceted projects." - How does it do this? Nothing about Kanban implies no estimates. In fact if you use Kanban and measure cycle time, you will be doing evidence-based scheduling which will allow you to make better estimates. As for "complex multi-faceted projects" - I don't know what the author is talking about. Please read "Scaling Lean & Agile Development" by Craig Larman and Bas Vodde for some actual evidence and lessons learned on lean / agile approaches being used on huge software projects. Also "Scaling Agile at Spotify" by Henrik Kniberg is worth a read, as Kanban features there (by team choice!) as one small component in a lean software development org design / product development strategy.

"Kanban forces a 'one work item at a time' mentality and resists milestones." This is simply not true and such a basic misunderstanding I have to wonder if the author of the article has taken the time to read any of the introductory literature. If not, I suggest the aptly titled "Kanban" by David J. Anderson. Kanban wants you to limit work in progress, which is one of the basic goals of any product development system. It doesn't say how much it should be limited, or where it should be limited. Every system, everywhere, already has limited-WIP in the form of bottlenecks. The hopeful goal of pull-based systems in general and lean software development specifically is that you'll use these simple tools to look at your process and eliminate wasteful activities and streamline those bottlenecks that must exist to deliver maximum value to your customers. In this sense, you can use Kanban as a tool to maximize the whole of the product development process which is certainly a macro (org level) goal and outcome that stands in stark contrast to the claims in the article that Kanban in general promotes micro optimizations and misses the big picture.

For more general reading on why limiting work in progress is a good idea, I suggest "The Goal" by Eli Goldratt or more recently "The Phoenix Project" by Gene Kim. As far as milestones go, nothing in a pull-based system is incompatible with milestones of fixed date or fixed scope. If your idea of milestones is chucking arbitrary dates on a calendar based on an estimate before work begins and then stubbornly refusing to adapt those milestones when the situation on the ground changes (i.e. milestones of fixed date and fixed scope), then I could see the potential nature for conflict, but surely you're not out there doing that in real life, right? (Right???) If you are, and that's the issue - Kanban isn't the problem, the problem is the assumptions you are operating on are faulty - nothing will work for you. Smarter folks than me have written about the perils of fixed date and fixed scope development, I suggest googling for Neil Killick's thoughts on the matter.

"High performance individuals and companies are goal and date driven." Citation needed. I know many people really, really believe this but you should really verify. Also, see Fred Brooks "Mythical Man Month".

"Kanban was never intended for software development" - What? Again, the guy you quote actually wrote a book on using Kanban with software development teams. You should read it, as it would probably correct 90% of the misunderstandings in your article.

Those are the key arguments in the article about why Kanban is "the secret engineer killer". Hopefully by now it's clear that these arguments aren't very good and it certainly wasn't any trouble for me to refute them along with a bibliography for further reading. That doesn't mean Kanban or lean are perfect though - there still is no silver bullet. Hopefully this inspires some folks to launch a more throughly-researched critique of lean, kanban, or pull-based systems in the future as I think that kind of discussion can be really beneficial.

Re: Kanban – The Secret Engineer Killer

#63

As an industrial engineer, this is the equivalent of a developer walking into a factory and hearing about how "the mythical man-month" is a terrible book/idea because it allows for waste. Right. The Mythical Man-Month is a great book/concept for creative/engineering projects. Kanban is a wonderful way of implementing a Just-In-Time manufacturing system. Props to the OP for explaining the origin of kanban. May this po…

I appreciate that. I really do. It's rare to receive an ounce of props on HN. I must admit that I was totally surprised to learn that it was not designed for software development and that the author of the Lean Methodology has been trying to convince folks to stop using it.

What do you mean the author of the Lean Methodology has been trying to stop folks from using it? Are you suggesting David Anderson wants us to stop using Kanban for Knowledge Work?

Re: Kanban – The Secret Engineer Killer

#64

This is a confusing argument. Kanban/lean is a pretty simple idea (not always easy to execute): eliminate waste in your work by smoothing the flow of requirements/changes. This treats your end-to-end delivery capability as a syatem and one that should not be overburdened. The clearest sign of being overburdened is when you have a lot of work in progress but nothing to show for it. So instead of a genius PM/business a…

I tried to clearly define Kanban as a "Kanban (meaning signboard or billboard) is a scheduling system for lean and just-in-time production. It’s a system to control the logistical chain from a production point of view. Kanban was developed by Taiichi Ohno, at Toyota, to find a system to improve and maintain a high level of production. The Kanban Method was later added to as an approach to incremental, evolutionary pr…

Have you read any of David Anderson's book? Are you aware that the Kanban Method is an adaption of Taiichi Ohno and W. Edward Demings guidance in lean manufacturing to the knowledge work domain? The Kanban Method is specifically designed for knowledge work organizations, which also includes software development activities.

Re: Kanban – The Secret Engineer Killer

#65

Earlier quoted context omitted.

I appreciate that. I really do. It's rare to receive an ounce of props on HN. I must admit that I was totally surprised to learn that it was not designed for software development and that the author of the Lean Methodology has been trying to convince folks to stop using it.

What do you mean the author of the Lean Methodology has been trying to stop folks from using it? Are you suggesting David Anderson wants us to stop using Kanban for Knowledge Work?

From TFA:

  David Anderson, the creator of The Kanban Method   (discussed above) wrote the following in late 2010.

  “Kanban is NOT a software development life cycle or project management
  methodology! It is not a way of making software or  running projects that make software!”

Re: Kanban – The Secret Engineer Killer

#66

Earlier quoted context omitted.

What do you mean the author of the Lean Methodology has been trying to stop folks from using it? Are you suggesting David Anderson wants us to stop using Kanban for Knowledge Work?

From TFA: David Anderson, the creator of The Kanban Method (discussed above) wrote the following in late 2010. “Kanban is NOT a software development life cycle or project management methodology! It is not a way of making software or running projects that make software!”

Unfortunately, the tendency to overload terms with multiple meanings is confusing the situation. It is very common for the word kanban to be used incorrectly because there are three commonly confused meanings for the word.

kanban - visual signal, signboard kanban system - pull-based, wip limited flow management system Kanban Method - an approach to incremental, evolutionary process and systems change for organizations

So yes, the Kanban Method is not an SDLC method. It is a meta-method that will allow for the emergence of an appropriate SDLC within an organization. That SDLC may be Agile (very good things in Agile mindset), may be waterfall, may be Scrum or Scrumban-ish, but it should be appropriate for then context.

Please refer to this wikipedia entry: http://en.wikipedia.org/wiki/Kanban_(development)

You don't see any SDLC specific tactics or guidance in there. That is true. You don't see any Agile language in there. It doesn't provide any specific Agile guidance.

Does the Agile Manifesto have any specific SDLC tactics? Please refer to http://www.agilemanifesto.org

You won't find any specific tactics for software development in the Agile Manifesto either. But out of the mindset comes specific SDLCs that are aligned to the manifesto like Scrum or XP or any of the million "custom" Agile methodologies that have no name but are used by IT organizations everywhere.

David Anderson absolutely wants the Kanban Method to be used (as appropriate) in organizations that do knowledge work (software development is knowledge work) to help those organizations develop the best workflow and capability for a given context and to create a culture of learning, growth, and continuous improvement. I've talked to him many times about these very topics! Many of the case studies that we quote in our work are from software development organizations.

The quote used above has been taken out of context, isolated, and used to create fear, uncertainty and doubt about The Kanban Method and I find that kind of behaviour negligent at best.

Re: Kanban – The Secret Engineer Killer

#67
post #61

tl;dr: author of the article is laboring under many false assumptions about Kanban (and lean software development in general) likely due to a combination of inexperience using such methods personally and unfamiliarity with the available literature. The following is a rather long attempt to correct the base misunderstandings in the article, with pointers to relevant source material. Enjoy! First, an operational defini…

Well said. I find it is very common to use the straw-man criticism technique http://en.wikipedia.org/wiki/Straw_man about bad management practices. The quality of management is often bad. The quality of management, even of good practices, is often bad.

Criticizing those implementation of the practice is perfectly fine. But claiming that the practice is suppose to be something different than it is, is not fine. I agree with you here, that is the biggest problem. If you understand how kanban for software is suppose to be done, the criticisms don't make sense.

Re: Kanban – The Secret Engineer Killer

#68
Pick the right tool for the right job. For a product team Kanban does not make much sense. I agree with your comments in general. But for a PS or Custom Development team, where most projects are integration type projects or custom reports and tend to take 2-3 days to complete, it is a good way to go.
Post reply on HN