Yes, if done properly. I have had great luck with an Agile/Scrum methodology, to the point where I actively advocate for it over other management/time structure styles.
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
The biggest problem with Scrum/Agile is that it is easy to do wrong, but hard to do right. Then again, every team that I've seen doing Agile wrong does any other system wrong too, it's just pointing to systemic problems that no amount of management techniques can paper over.
> Strong ownership and trust between engineer and product owners, both way.
Trust has to be the most important ingredient for a successful project regardless of the project management process, if you have trust any process can work well.
Agree about Team Size, less people less communication is needed which results in less misunderstandings == more productivity.
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