In software there are two key types of work - discovery and delivery. However, that doesn't mean there are different people doing those jobs. If the whole team is responsible for product success, not just getting things built, then the whole team needs to understand and contribute to both kinds of work. Dual track agile and the UXDX model both convey the approach of design and development working together.