Condividendo le opinioni di Andrea in merito all'inclusione nei soli prodotti Team System degli strumenti per lo unit testing, volevo ora portare il ragionamento un po' oltre.
Per quale motivo tutte queste versioni di Visual Studio? Probabilmente ci avrete già pensato: perchè non rilasciare una piattaforma, che potremmo chiamare "Visual Studio Foundation", e poi tutti i plugin del caso, acquistabili separatamente e in ogni momento? Insomma un modello àla Eclipse o Netbeans...
Immaginate di avvicinarvi alla programmazione in ambiente Windows. Ad oggi, probabilmente su consiglio di qualche amico, compreresti uno dei prodotti express, diciamo C# Express. Se non avete mai fatto unit testing, e un giorno decideste di imparare a farlo, molto difficilmente acquistereste i Team System, dopo una breve ricerca su Google troverete probabilmente NUnit. A un certo punto potrebbe nascere l'esigenza di sviluppare un'applicazione web... a quel punto tornereste dal rivenditore di fiducia e comprare Visual Web Developer... o magari la versione Professional. E se un giorno doveste iniziare a lavorare in un gruppo di 5 o 10 persone? Oppure se voleste semplicemente progettare un software e vorreste usare il class designer? Un nuovo acquisto probabilmente...
E se invece bastasse una semplice puntatina sul nuovo scintillante "Visual Studio Extensibility Center" di Microsoft... un paio di click, il numero di carta di credito... qualche minuto di download... per avere immediatamente integrati nel vostro "Visual Studio Foundation" i plugin che soddisfano le vostre esigenze? Un plugin per C#, poi uno per le Windows forms, un altro per le web forms... poi quello per lo unit testing, magari un giorno potreste desiderare il class designer... o magari un collega potrebbe passarvi del codice VB, o C++... e allora scegliereste l'estensione oppurtuna per il vostro ambiente. Tutto questo andrebbe ad affiancarsi, naturalmente, ai numerosi plugin, già esistenti, di terze parti (ad esempio, quello per Eiffel).