Probabilmente la più grande differenza è che puoi essere completamente addestrato in mischia senza nemmeno menzionare il software. Si tratta più del processo di scelta di quale software scrivere e quando di scriverlo piuttosto che come.
Al contrario, la programmazione estrema riguarda principalmente il modo, e in particolare raccomanda alcune pratiche di programmazione, prese all'estremo. Le recensioni tra pari sono una buona cosa, quindi portatelo all'estremo e programmate la coppia. I test vengono troppo spesso dimenticati, quindi portali all'estremo e scrivili prima con TDD. I cicli di rilascio lunghi sono problematici, quindi portateli all'estremo pronti a rilasciare ogni iterazione. L'integrazione è più facile quanto più spesso lo fai, quindi portalo all'estremo e fai un'integrazione continua.
Dato che la mischia non dice nulla sul "come", molti team di mischia alla fine adottano le pratiche di XP, quindi vedrai molte sovrapposizioni. Nella mia azienda, alcuni team di mischia sono essenzialmente indistinguibili dai team di XP, dove altri sono puramente di mischia, e altri scelgono e scelgono dove appropriato. Ad esempio, potrebbero fare TDD per un nuovo sviluppo, ma non per mantenere il codice legacy.
Consiglierei a qualsiasi squadra di allenarsi in entrambi, ma di non provare a preoccuparsi di essere "puro" in un modo o nell'altro. Il tuo team funzionerà al meglio quando si adatta per trovare il proprio stile.