version-control - easiest - version control software
¿Por qué se compra Harvest en absoluto? (7)
He estado usando HARVEST durante los últimos 4 años y me encanta. El tipo de soporte que le da para controlar el movimiento del código es realmente fantástico. Usamos HARVEST para implementar aplicaciones en Websphere. También hace un trabajo increíble al implementar los complementos en el servidor web junto con la aplicación. Cuando desee tener un proceso para mover el código en un gran entorno empresarial, no creo que ninguna otra herramienta pueda acercarse a COSECHA.
¿Su entorno de trabajo usa Harvest SCM? Lo he usado ahora en dos lugares diferentes y lo encuentro espantoso. En una situación, escribí un script de conversión para poder usar CVS localmente y luego importar diariamente los cambios al sistema Harvest mientras estaba durmiendo. El corp era fanático de usar Harvest, a pesar de que el 80% de los programadores pedían algo diferente. Fue innecesariamente complicado, lento y pesado. Ahora es un requisito laboral para mí que Harvest no esté en uso donde trabajo.
¿Alguien más ha usado Harvest antes? ¿Cuál es tu experiencia? Tan malo como el mío? ¿Utilizaste otras soluciones diferentes? ¿Por qué este producto todavía se compra hoy?
Hemos usado Harvest durante aproximadamente diez años (2000-2010) y, aunque ahora estamos buscando reemplazarlo, creo que nos ha servido muy bien. Harvest (sigamos con ese nombre aunque ya no sea su nombre oficial), fue la primera herramienta importante implementada para apoyarnos en I + D y en ese momento ninguno de nosotros sabía mucho sobre los muchos aspectos del ciclo de vida de la aplicación (control de versiones del código, ramificación, pruebas automatizadas, pruebas de regresión, garantía de calidad, implementación en numerosos entornos de ejecución y producción, reversión, correcciones de ememrgency, actualizaciones de mantenimiento, etc.); hoy sabemos mucho más y nuestros procesos de desarrollo nos sirven muy bien (no es que no haya lugar para muchas mejoras). No tenemos una organización muy jerárquica (no tenemos muchos inspectores que necesiten aprobar cambios) pero es muy útil tener soporte para "puntos de control": puntos en el proceso de desarrollo donde algo debe suceder (por ejemplo, pruebas funcionales). o pruebas de integración).
El inconveniente (para nosotros) con Harvest en lo que respecta a la usabilidad ha sido "lo que un programador debe hacer para cambiar x líneas de código". Hoy (allá afuera) hay muchas maneras más fáciles y eficientes que Harvest para obtener acceso de escritura a los archivos de código fuente, hacer sus actualizaciones y luego regresar los archivos nuevamente / moverlos a otro aspecto del proceso de desarrollo (prueba, implementación, etc. .). Otro inconveniente es la etiqueta de precio; es caro.
Hemos tenido éxito con el flujo de trabajo de Harvest: Support y, por lo tanto, hemos podido tener un sistema único para administrar el control de versiones de código, el flujo de trabajo y la automatización de procesos. Si es posible, es más fácil mantener y mejorar un solo sistema que muchos. Además de proporcionar acceso de línea de cmd a los procesos internos (lo que posibilita la creación de scripts de soluciones especiales cuando así lo requieran los procesos) Harvest también se configura fácilmente mediante una interfaz gráfica. Tiene el concepto de "Paquete" que hace que sea fácil adjuntar muchos metadatos a los cambios de código y manejar los cambios independientemente de otros cambios (versiones en el nivel de archivo en lugar de cambiar los conjuntos que contienen el código completo). Esto es útil para manejar cambios de emergencia y mantenimiento independientes.
Si un desarrollador es solo un programador y solo piensa en el aspecto de codificación del desarrollo de software, entonces I imagen podría sentirse muy frustrado con Harvest. Si un desarrollador es un desarrollador y entiende que el desarrollo de software es mucho más que codificación y que la codificación es solo el principio de un ciclo de vida de software entonces creo que vería muchos beneficios con Harvest.
Lo más probable es que su empresa tenga algún tipo de contrato con CA. ¿Está usando mucho otro software de CA en la empresa?
Editar: ¡ Adivina!
OK, voy a responder esto en un par de episodios porque es tarde aquí y Harvest es un gran tema.
En primer lugar, CA Harvest (que es lo que se llama la versión 7 del producto, la versión 5 es CCC y no recuerdo la expansión, la versión 12 se llama CA SCM) es mucho más que una herramienta SCM, del mismo modo que ClearCase es una mucho más que una herramienta SCM. SVN, CVS, git, hg son todos SCM estándar y poco más.
Lo que obtienes con Harvest es la Política de SCM +. Le da un lugar para almacenar y versionar su código y envolverlo todo en una política de cómo ese código madura a través de su organización desde dev a prod. ¿Tiene una política en su organización que un Desarrollador Líder debe cerrar sesión en el código antes de su lanzamiento al QA? Harvest le permite definir el cierre de sesión como una política y aplicarlo; no puede migrar el código del estado "Dev" al estado "QA" hasta que una de las personas en el proyecto designado como Lead Dev haga exactamente eso. ¿Tiene una política que indique que un DBA debe firmar un código SQL antes de que progrese? Harvest le permite definir esa política y aplicarla, por lo que es posible que necesite el inicio de sesión de Lead Dev y DBA antes de migrar el código.
Harvest no es una herramienta para la mayoría de las organizaciones de software, sino que se utiliza generalmente en la industria financiera o en los negocios, donde un marco regulatorio muy fuerte rige lo que pueden hacer. Los bancos deben cumplir con Sarbannes-Oxley, que tiene requisitos de auditoría muy estrictos. Harvest proporciona la capacidad de definir todo tipo de controles y procesar cómo los cambios en los activos del banco se mueven a lo largo de su ciclo de vida. Conozco grandes organizaciones de transporte público que son responsables de la seguridad y puntualidad de millones de personas todos los días, que necesitan los mecanismos de control bien definidos que ofrece una herramienta como Harvest. También he visto utilizar Harvest en entornos donde miles de desarrolladores lo usan todos los días. Sí, no estoy exagerando, literalmente miles de desarrolladores en una organización, escribiendo código para un minorista mundial, sacando soluciones de TI de su puerta todos los días a las tiendas de todo el mundo.
La cosecha no es perfecta, pensó que la versión 12 es mucho mejor. Tiene demasiados momentos "simplemente estúpidos", versiones de archivo por CVS, y ramificación tipo CVS y versiones de directorios (o la falta de ellas), con toda la diversión que hemos llegado a conocer y temer. Una vez que lo sabes y lo aceptas, no es inherentemente más lento que cualquier otro SCM que he usado. Simplemente tiene un trabajo más grande que hacer que solo la versión de tu código.
Otra gran victoria, y aún más grande con la versión 12, es su integración con otra herramienta de CA (y capacidad de integración con herramientas que no son de CA, pero no muchas en este momento): seguimiento de defectos con Quality Center, problemas de emisión de tickets con Unicentre Service Desk , implementación de software en el escritorio con SDM. Puede definir puentes entre estas aplicaciones que resultan en una integración mucho más estrecha de estas preocupaciones, con los efectos usualmente positivos sobre la precisión y la puntualidad.
Si se trata de llevar el software a una empresa mundial, con miles de computadoras de escritorio y servidores, sistemas mainfame / middlerange / middleware, procesos de control de cambios revestidos de hierro, complejidad, regulaciones, contratos, auditores, simplemente un montón de complejidad, Harvest es solo una herramienta en un conjunto completo de herramientas que va a necesitar. Si solo quiere un SCM simple para un equipo de 10 desarrolladores que respalda a unos pocos cientos de clientes, no es una buena forma de hacerlo.
Trataré de agregar algo sobre cómo realmente funciona Harvest la próxima vez: repositorios, proyectos, vistas, paquetes, formularios, procesos, etc. Eso podría ayudar a explicar por qué algunas organizaciones lo usan y por qué no es para todos.
Trabajé para una empresa que tenía dos opciones; ClearCase o Harvest. Subversion no se había considerado nunca, y la razón era que ClearCase (IBM) y Harvest (CA) ya tenían contratos de mainframe de larga data.
Tuve el beneficio de usar Harvest en un banco y nunca encontrarás una colmena más miserable de escoria y villanía, retrocesos triples con guanteletes de documentación indocumentados que requieren 15 pasos para hacer un cambio simple. No importa que ellos ni siquiera usaran ramificaciones. Esta es una herramienta malvada, no dejes que te meta en sus garras.
Utilicé Harvest durante un breve concierto en la industria bancaria hace unos años. Estoy de acuerdo en que era prácticamente inutilizable, pero a las personas a cargo de la garantía de calidad les encantaba.