How are constellations designed?

Hey guys! I just wanted to ask how satellite constellations are designed. What are the existing tools that help an agency/company come up with the right constellation for multiple satellites? Also, if it isn’t automated already, is there potential for it to be automated? Perhaps using machine learning.

Thank you!