There are a few points that are important to it working well though:
* Team size should be small, but not pathologically so. 3-8 is about the range it is ideal.
* Strong ownership and trust between engineer and product owners, both way.
* Engineers should have broad, or at least T-shaped competencies, not narrow, exclusive focuses
* Meetings should feel useful to all participants, at all times. Specifically, standups should be useful to the POs because they get a rough idea of how things are going across the team, but it is also useful to the engineers to ensure that engineers are actually working together, not simply siloing themselves.
* Engineers should be competent, in general. They don't need to all be 10x engineers, but a team comprised mostly of leaderless junior engineers will fail, even more so with Scrum/Agile