Para que isso seja possível as equipes passam a ser cross-funcionais (ou cross-disciplinares), ou seja, é preciso que a equipe seja formada por pessoas com todas as habilidades necessárias para desenvolver o produto (por exemplo: desenvolvedores, designers, UX designers, testadores, analistas de negócio), todo mundo trabalhando na mesma equipe e colaborando para atingir um objetivo comum.
Nas tradicionais fábricas de software a realidade era bem diferente. As equipes eram funcionais, ou seja, eram formadas por profissionais que tinham a mesma função, e para que um produto fosse entregue, ele precisaria passar por diversas equipes (silos).