¿Una forma sencilla de involucrar a los no programadores (es decir, los diseñadores) en el uso del control de versiones?

13

¿Cuáles son algunas formas clave de involucrar a su equipo en el uso del control de versiones durante el desarrollo, desarrollo web u otro?

Me niego a trabajar sin él, lo que significa que cualquier persona involucrada en el proyecto también debe usarlo. Es solo una buena práctica.

Las GUIs como Tower han ayudado, pero el concepto de esto se encuentra con ira ("no es mi trabajo", algo de actitud), timidez, o simplemente no usarlo (usando FTP en su lugar, evitando el control de versiones, por ejemplo, desarrollo o despliegue).

Editar: Debería haber aclarado un poco que no me refiero solo a imágenes / PSD.

    
pregunta Kevin 04.02.2011 - 19:31

7 respuestas

11

Trabajo en un equipo de desarrolladores y diseñadores y todos usamos el control de versiones. Para los diseñadores, apesta.

El uso compartido de archivos / copia de seguridad siempre es igual al control de versiones

Cuando dices:

  

Me niego a trabajar sin él, lo que significa que cualquier persona involucrada en el proyecto también debe usarlo. Es solo una buena práctica.

Debe tener en cuenta los inconvenientes de utilizar el control de versiones con datos binarios:

  • Sobrescritura : si dos diseñadores están trabajando en el mismo archivo, el segundo que se comprometa sobrescribirá los cambios del primero como la versión actual. La única forma de evitarlo es mediante el bloqueo o la comunicación constante sobre quién está haciendo qué en qué archivo, lo que puede dificultar el flujo de trabajo de su equipo.
  • Fusión : la fusión asistida por herramienta no existe en los datos binarios. La fusión manual es dolorosa y propensa a grandes cantidades de errores.
  • Hinchazón del repositorio: los sistemas VC solo almacenan líneas modificadas para archivos de texto. Esto no es posible con datos binarios, ya que todo el archivo se verá diferente al sistema VC. Esto significa que, si bien 20 versiones del archivo de texto de 10 KB solo pueden ocupar 20 KB, 20 versiones de un archivo de 1 MB probablemente ocuparán más cerca de 20 MB. Un equipo de diseño de tamaño moderado puede generar fácilmente muchas revisiones en docenas de archivos binarios. Es posible que su departamento de TI pronto lo odie por los requisitos de almacenamiento y posiblemente incluso aumente la memoria / CPU que tendrá su servidor VC.

    Es posible que usted y otros desarrolladores pronto odien el tiempo que demoren las verificaciones o las actualizaciones, a menos que haya configurado una organización de repositorio muy buena para evitar los archivos binarios.

  • Beneficio reducido : sus diseñadores rara vez, si acaso, vuelven a las versiones anteriores de los archivos binarios, porque 1) no es una manera fácil de verificar el contenido de una versión pasada 2) no es una manera fácil para fusionarlo de todos modos, y lo más importante, 3) no funcionan de esa manera; están acostumbrados a crear versiones alternativas de algunos gráficos que aún pueden ser útiles en los archivos de producción en sí mismos.

Para su código, debería estar usando VC y tiene razón al exigirlo.

Pero debe verificar la suposición de que eso significa que todos también deben usarlo, así como si es una buena práctica para los diseñadores (aunque la copia de seguridad lo es). Debe almacenar los activos gráficos finales requeridos por su sitio web / aplicación en su VC, pero para los archivos de producción, puede que no sea la solución correcta.

    
respondido por el Nicole 04.02.2011 - 20:18
4
  

Me niego a trabajar sin él, lo que significa que cualquier persona involucrada en el proyecto también debe usarlo. Es solo una buena práctica.

Esa es una GRAN actitud, ahí arriba con '¡no es mi trabajo!' :-)

La mejor manera de obtener buy-in es usar algo como TortoiseGit o TortoiseSVN para integrar el control de versiones en Explorer (asumiendo Windows). Lleva tiempo ver beneficios reales si no está acostumbrado al paradigma de control de versiones. Tortoise al menos facilita el trabajo con VCS con el mouse. Un simple "clic derecho - > registro" es todo lo que necesita.

Por este motivo, he estado buscando implementar el control de versión transparente en TortoiseGit en cada cierre de archivo. Si le da a alguien una sucursal para trabajar, y luego cada escritura / cierre se convierte en una operación de confirmación, en algún momento usted como desarrollador puede fusionar su sucursal sin preocuparse por la consistencia de todo el repositorio, y pueden seguir adelante con la Negocio de hacer lo que ellos hacen sin tener que saber sobre el control de versiones.

Tengo el mismo problema con un gran conjunto de documentos de auditoría que no puedo hacer que la gente controle las versiones, por lo que tenemos 50 versiones del mismo documento que son sutilmente diferentes.

    
respondido por el Chris K 04.02.2011 - 19:40
4

La forma de abordar esto es configurar un sistema de compilación (como Hudson ) que utiliza el sistema de control de versiones para recuperar las fuentes de compilación y hace que sea una regla de proyecto que solo los artefactos que son entregados por el sistema de compilación van al equipo de prueba y finalmente se implementan en el sitio del cliente.

Deje muy claro que, en lo que respecta al proceso del proyecto, todo lo que no provenga de la compilación es privado solo para los desarrolladores; Mientras el trabajo de alguien no sea aceptado en la compilación, es posible que no exista.

    
respondido por el rsp 04.02.2011 - 20:51
2

Ilustra las ventajas:

  • Muéstrales cómo pueden ahorrar tiempo al permitir que todos compartan trabajo y tengan acceso a una ubicación central.
  • Muéstrales cómo les permite a los diseñadores trabajar en diferentes partes del proyecto al mismo tiempo y fusionarlos nuevamente.
  • Muéstrales cómo pueden etiquetar y crear una versión anterior de una aplicación para probar o solucionar problemas.
  • Muéstrales cómo pueden jugar con un diseño para experimentación y luego actualiza el proyecto y no conserva los cambios si no lo desean.
  • Muéstrales cómo pueden ver lo que ha sucedido con el tiempo.
respondido por el jzd 04.02.2011 - 19:54
1

"No es mi trabajo" sobre el control de versiones es una actitud sensata de un no programador.

Cree un sistema de control de versiones tan simple e invisible como Dropbox para la sincronización o Time Machine para la copia de seguridad.

Simplemente debería funcionar. Sin salida, sin compromiso. Solo pon los archivos en la carpeta del proyecto.

    
respondido por el mouviciel 04.02.2011 - 20:18
1

He estado usando tortoiseHG / mercurial con el nuevo sitio web, sin problemas. El hecho de no tener registros hace que sea muy simple y pone toda la presión sobre la persona que realmente tiene que asegurarse de que los archivos estén sincronizados. Ni siquiera parece "una cosa más que hacer", es simplemente, "ok, voy a hacer una demostración del sitio web, así que tengo que pedirle a Peter que vuelva a sincronizar los cambios". Y eso no es problema.

Antes no tenía experiencia con mercurial, usamos VSS y nunca lo hubiera deseado a nadie para el control de la fuente del sitio web. Lo intenté una vez y no culparía a nadie por no querer usarlo entonces.

    
respondido por el Peter Turner 04.02.2011 - 20:21
0

Yo diría que el uso de clones de tortuga *, es el más simple de conseguir. O integre el control de versión, en el IDE o lo que sea.

    
respondido por el Coyote21 05.02.2011 - 00:22

Lea otras preguntas en las etiquetas