It&#x27;s easy and obvious to set up queues and hand offs. It seems efficient and logical and it looks good on a whiteboard. The throughput of work in flight is of course amazing.<p>Then, much later, you realise latency sucks. People don&#x27;t care that you have 100 features coming in 2 years. They care that you have the killer feature <i>now</i>.<p>So that&#x27;s what counts here: <i>latency to customer value</i>.<p>The time between picking the next most valuable feature and putting it in front of paying customers, is the one loop that needs to be optimised.<p>I&#x27;m lucky to work Pivotal Labs. Our archetypal team is one product manager, one designer, two engineers from us and two engineers from the client. Currently we are experimenting with building teams with embedded data scientists as well. It works because we can, as an autonomous unit, do all the work that needs to be done to take a feature from ideation to production.<p>When you have that, it&#x27;s amazing what you can get done.<p>I know I sound all-knowing and clever and stuff. But if I&#x27;d been setting up a software project before working at Labs, I&#x27;d have done a lot of the same things as this article describes as the starting point.<p>[edited to try and remove the impression that I would&#x27;ve Done It Perfectly From The Beginning, which is the opposite of what I was trying to say]