As engineers we tend to organize re-actively vs. pro-actively. What's the best way to structure your company? Divide into departments with bosses at the top of each dept that tell people what to do? Divide into rigid cross department teams that are painful to ever change? This talk is 30 mins long but the keys to the kingdom are revealed. You organize around people. And you iterate on your organization all the time. Just like you iterate on your product all the time.
https://www.youtube.com/watch?v=3bNFqJU_n34