Your points are good. Building a great team also requires patience and understanding because you will have to take time to study and understand all your team members in order to know their strengths and weaknesses.Building a great team takes patience and you have to build trust, a good relationship, a good bond, build a good & quality communication in your team, study very one member of your team and working with them base on that