While it is an undeniable truth that there is no formula for the perfect team mainly because different projects might require different roles and skills, there should be some pretty common elements to it. I think that there are certain roles in a software development team that are crucial independently of the project.
My opinion is that those roles are: Devs, PO, QA, and UX/UI designers. I was thinking that maybe you need an architect or a tech lead on a team or maybe a business analyst, but I guess there are teams without those roles that function quite well. Is that true though?
My question is: What are the must-have roles in a software development team independently of the project?