En mi posición actual, desarrollo en mi propia máquina. Para proyectos más pequeños, solo uso el servidor web ligero que viene con Visual Studio. También tengo SQL Server 2005 y 2008 configurados en mi propia máquina para fines de desarrollo y pruebas iniciales.
Esto ha funcionado bien para mí en general; el único problema con el que me he encontrado es (como han notado otros) mantener las bases de datos sincronizadas es un poco doloroso. Me he mudado recientemente a migrator dot net - básicamente un .NET tomar en Ruby on Rails migraciones - para mantener las bases de datos/puesta en escena/UAT/producción local en sincronía, y se está haciendo la vida mucho menos estresante. Una herramienta como esta también hace que sea más fácil trabajar en la base de datos en un entorno de equipo, aunque debe ser lo suficientemente disciplinado para usarla de manera coherente.
Mis experiencias aquí me han convencido de que el desarrollo local combinado con algún tipo de proceso de control de cambios db, un servidor de integración continua y un buen sistema de control de versiones que soporte la fusión (utilizamos TFS) es la mejor manera de hacerlo. Eso les permite a todos hacer lo suyo sin pisar a otra persona, pero también se asegura de que los cambios se fusionen adecuadamente.
En mi trabajo anterior utilizamos IIS en nuestras PC combinadas con una base de datos de desarrollo dedicada y esto era un poco de PITA - tenías que tener cuidado de no ejecutar ningún proceso que pudiera anular la base de datos o incluso estropearlo los datos porque podría afectar a otros desarrolladores, y a la OMI, que de alguna manera derrotaron el propósito de tener un DB de desarrollo en primer lugar.
¿Estás preguntando sobre pruebas o desarrollo? Tu título de pregunta y tu cuerpo hablan de dos cosas diferentes. –
Ah, buen punto David. Corregí mi título para mayor claridad. Estaba preguntando más sobre el desarrollo que las pruebas. –
Gracias. Tener un voto positivo para sus esfuerzos :) –