"they probably could have shipped three more features in the time they spent blocked waiting on agreement" - because what we do is a race against time of volume shipping products crammed with features before everything else! This, is the kind of cowboy-developer I am trying to stay away from. (Here I am making a difference in terms between the general "programmer" and the "developer" which for me is not usually involved in later maintenance, testing and other kind of "boring" tasks that the work might require. That kind that only develops and tags it "done" jumping on something else.) This talk is focused on efficiency on development, deliberately ignoring the need for a system of development's checks and balances for other dependent tasks. I am sure that "We’ve all hated those jobs." and prefer a job where we'd be able to externalize the mess.
I think I understand what this is trying to say, but I believe the problem lies more in each person's narrow scope of control, not some blind drive towards efficiency or ignorance of total throughput.