Consulte /software/109817/superior-refusing-to-use-subversion
Mi pregunta es similar, pero aquí están las principales diferencias en mi escenario:
Estamos comenzando un nuevo proyecto desde cero, usando PHP y tecnología web. No habría tiempo de inactividad en el desarrollo, ya que lo estaríamos adoptando desde el principio, si tengo lo que quiero.
Mi equipo de desarrollo está formado por mí y mi jefe. Somos el departamento de "TI" de una empresa relativamente pequeña.
La aplicación web reemplazará una aplicación heredada sin absolutamente ningún control de origen. Debido a las variaciones en los requisitos legales geográficos, se tomó la decisión (antes de ser contratado) de bifurcar la aplicación en 7 directorios completamente separados para cada versión. Diferentes desarrolladores hicieron cosas diferentes en diferentes lugares en diferentes momentos después de eso. Parchear los cambios entre ellos, bueno, creo que podría hacerse mejor, supongo que es por eso que estoy publicando.
La propuesta de mi jefe, directamente pegada desde un correo electrónico:
Las actualizaciones deben enviarse como paquetes en la carpeta SUBMISSIONS. El paquete debe contener todos los archivos relevantes, así como un archivo 'UPDATE.NFO' que contiene una descripción de la actualización, una lista de todos los archivos nuevos incluidos (con descripciones) y una lista de todos los archivos modificados con detalles de modificación.
Los paquetes de actualización deben centrarse en un elemento individual y no desviarse de su propósito previsto. El código debe estar diseñado para ser modular y reutilizable siempre que sea posible.
Todos los paquetes enviados deben instalarse en el entorno de prueba de cada desarrollador poco después del envío. Cada desarrollador debe revisar la nueva incorporación y expresar cualquier inquietud sobre su instalación en el entorno de producción. Una actualización de paquete estándar debe realizarse durante un mínimo de 3 días hábiles para este proceso de revisión antes de cargarse en el entorno de producción. Las actualizaciones / correcciones de alta prioridad pueden omitir este requisito.
La razón por la cual se inventó el control de fuente es para hacer todo eso automático, ¿verdad? Sugerí subversión, porque eso es lo que usé en la universidad. A Boss no le gusta la subversión porque "Desordena el código" (es decir, usa magia binaria y no es legible). Lo intentamos una vez, pero creo que intentar usarlo en Windows produjo errores extraños en mayúsculas y minúsculas y no pudimos revisar nuestros archivos. No sé si es solo subversión o todos los productos de control de fuente que son objetables.
Entonces, ¿qué tipo de argumento debería hacerle a mi jefe? ¿O tiene razón, y podría existir el peligro de perder todo nuestro trabajo por algún error extraño?
¿O estoy completamente equivocado? ¿Es realmente necesario el control de la fuente en mi situación? Estamos hablando de nuestro principal software crítico para el negocio, por lo que terminará siendo enorme, sin duda. Pero solo hay 2 desarrolladores (ahora).
Además, si no puedo convencerlo, ¿tendría algún sentido que lo use solo para mí? Estoy hablando como alguien con experiencia muy limitada que en realidad usa svn; Todo lo que realmente sé es pagar y comprometerse. ¿Cuáles son las características del control de código fuente (pueden incluir otros productos además de svn) que ayudarían en mi esfuerzo de desarrollo individual?
Por favor no hay comentarios de "conseguir otro trabajo". Eso no es útil para el debate.
I, on the other hand, think that the OP is being silly in trying to specify the bounds on the answer....Bueno, el límite específico no es tonto en absoluto. El asesoramiento profesional está fuera de tema, y aunque una respuesta que respondería a la pregunta y ofrecería asesoramiento profesional está perfectamente bien para mí, no creo que sea tonto para OP especificar que no le interesan los consejos profesionales.