Steve Caravajal has a good post on MOSS development environments, and there isn't too much info online about this.
In addition to Steve's post I recommend for any MOSS implementation with a medium to high amount of custom dev work, do yourself a favor and get all your developers a VM of a dev environment. Don't skip on the dev farm environment either. My experience is that it is much smoother to have developers build on separate VMs, then deploy to a common dev farm and get all pieces working across other development efforts. After it's all good to go - wrap it in some WSPs and deploy to a staging environment that is tightly controlled.
We have tried going straight from the dev VM to the staging environment and it has not been as smooth of an experience with a lot of rework and bug fixing invovled.