Software teams typically include people with a wide variety of skills, including management, software architecture, visual design, UX design, data design, and business insights. A common “money-saving” approach is to have someone with management skills work closely with customers closest to the business goals in order to decide what should be done next, and then that management person will turn those ideas into tasks that the engineers and designers implement. However, the best teams understand that using designers and engineers only for implementation is a waste of their talents, and instead create a virtuous cycle of collaboration by bringing everyone to the table.