In your setup you want to be able to
follow new developments as fast as possible.
So you have one vm where you download the newest from
everything, so you know when something starts breaking.
This is essential, as you are much more likely to get
other people to reconsider changes or providing fixes for
the newest developments. If you use old versions, you
basically have to maintain them yourself.
On the other hand, as new stuff tends to be broken a lot,
you probably cannot afford to deploy it immediately to
production. So you need another vm where a combination
runs that you deem to be stable enough. And keep that as
close to the new stuff as possible.
Then you need to be able to test each significant combination
of browser/os on the client side. Browser versions change a lot,
so you might need a few of them.
Then there are the differences between smalltalk environments.
You need to make sure that what you did on Pharo works on
Gemstone.
And last there is your own development and that of your team
members.
Stephan