Pregunta

¿Su entorno de trabajo utiliza Harvest SCM?He usado esto 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 dormía.La empresa era fanática del uso de Harvest, a pesar de que el 80% de los programadores pedían algo diferente.Era 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?¿Empleaste otras soluciones diferentes?¿Por qué todavía se compra este producto hoy?

¿Fue útil?

Solución

Lo más probable es que su empresa tenga algún tipo de contrato con CA. ¿Está utilizando muchos otros programas de CA internamente?

Editar: ¡Adivina que sí!

Otros consejos

Tuve la ventaja de usar Harvest en un banco y nunca encontrarás una colmena más miserable de escoria y villanía, guanteletes de registro de indocumentados de triple bifurcación al revés que requieren 15 pasos para hacer un simple cambio.No importa que ni siquiera estuvieran usando ramificaciones.Esta es una herramienta malvada, no dejes que te atrape en sus garras.

OK, voy a responder esto en un par de episodios porque ya es tarde y Harvest es un tema importante.

En primer lugar, CA Harvest (que es como se llama la versión 7 del producto, la versión 5 es CCC, cuya expansión no recuerdo, la versión 12 se llama CA SCM) es mucho más que una simple herramienta SCM; de la misma manera, ClearCase es una mucho más que una herramienta SCM.SVN, CVS, git, hg son todos SCM estándar base y poco más.

Lo que obtienes con Harvest es la política SCM +.Le brinda 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 el desarrollo hasta la producción.¿Tiene una política en su organización según la cual un desarrollador principal debe aprobar el código antes de publicarlo para control de calidad?Harvest le permite definir la aprobación como una política y la aplica; no puede migrar el código del estado "Dev" al estado "QA" hasta que una de las personas en el proyecto designadas como Lead Dev haga exactamente eso.¿Tiene una política según la cual cualquier código SQL necesita la aprobación de un DBA antes de avanzar?Harvest le permite definir esa política y la aplica, por lo que es posible que necesite la aprobación tanto del desarrollador principal como del administrador de base de datos antes de que el código migre.

Harvest no es de ninguna manera una herramienta para la mayoría de las organizaciones de software; normalmente se utiliza 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 impone requisitos de auditoría muy estrictos.Harvest brinda la capacidad de definir todo tipo de controles y procesos sobre cómo se mueven los cambios en los activos del Banco a lo largo de su ciclo de vida.Conozco grandes organizaciones de transporte público que son responsables de la seguridad y la puntualidad de millones de personas cada día, que necesitan los mecanismos de control estrictamente definidos que proporciona una herramienta como Harvest.También he visto a Harvest usado 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, lanzando soluciones de TI todos los días a las tiendas de alrededor. el mundo.

La cosecha no es perfecta, aunque la versión 12 es mucho mejor.Tiene demasiados momentos de "eso es simplemente estúpido", realiza versiones por archivo como CVS, y versiones de directorio y ramificación tipo CVS (o la falta de ellas), con toda la diversión que conocemos y tememos.Una vez que lo sabes y lo aceptas, no es intrínsecamente más lento que cualquier otro SCM que haya usado.Simplemente tiene un trabajo más importante que hacer que simplemente versionar su código.

Otra gran ventaja, y aún mayor con la versión 12, es su integración con otras herramientas de CA (y la capacidad de integrarse con herramientas que no son de CA, pero no muchas por el momento): seguimiento de defectos con Quality Centre, emisión de tickets de problemas con Unicentre Service Desk. , implementación de software en el escritorio con SDM.Puede definir puentes entre estas aplicaciones que resulten en una integración mucho más estrecha de estas inquietudes, con los efectos generalmente positivos en cuanto a precisión y puntualidad.

Si se trata de llevar software a una empresa mundial, con miles de computadoras de escritorio y servidores, sistemas mainfame/midrange/middleware, procesos férreos de control de cambios, complejidad, regulaciones, contratos, auditores, simplemente un montón de complejidad, Harvest es solo una herramienta en un conjunto completo de herramientas que necesitará.Si solo desea un SCM simple para un equipo de 10 desarrolladores que atiendan a unos cientos de clientes, no es una buena manera de hacerlo.

Intentaré agregar algo sobre cómo funciona realmente Harvest la próxima vez: repositorios, proyectos, vistas, paquetes, formularios, procesos, etc.Eso podría ayudar a explicar por qué algunas organizaciones lo utilizan y por qué no es para todos.

Utilicé Harvest durante un breve trabajo en la industria bancaria hace unos años.Estoy de acuerdo en que era prácticamente inutilizable, pero a los responsables de control de calidad pareció encantarles.

Trabajé para una empresa que tenía dos opciones;ClearCase o Cosecha.Subversion nunca se había considerado, y la razón era que ClearCase (IBM) y Harvest (CA) ya tenían contratos de mainframe de larga data.

Hemos utilizado Harvest durante unos diez años (2000-2010) y aunque ahora estamos pensando en 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 que implementamos 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 (versiones de código, ramificación, pruebas automatizadas, pruebas de regresión, control de calidad, implementación en numerosos entornos de ejecución y producción, reversión, correcciones de emergencia, actualizaciones de mantenimiento, etc.);hoy sabemos mucho más y nuestros procesos de desarrollo nos sirven muy bien (no es que no haya margen para muchas mejoras).No tenemos una organización muy jerárquica (no tenemos muchos inspectores que necesiten aprobar cambios), pero es muy útil tener apoyo para los "puntos de control", puntos en el proceso de desarrollo donde algo debe suceder (p. ej.pruebas funcionales o pruebas de integración).

El inconveniente (para nosotros) de Harvest con respecto a la usabilidad ha sido "lo que un programador debe hacer para cambiar x líneas de código".Hoy en día (por ahí) existen muchas formas más fáciles y eficientes que Harvest para obtener acceso de escritura a los archivos de código fuente, realizar actualizaciones y luego devolver los archivos nuevamente/moverlos a otro aspecto del proceso de desarrollo (pruebas, implementación, etc.). .).Otro inconveniente es el precio;es caro.

Ganancia que hemos tenido con Harvest:Admite el flujo de trabajo y, por lo tanto, hemos podido tener un único sistema para gestionar el control de versiones del 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 a la línea cmd a los procesos internos (lo que permite crear scripts de soluciones especiales cuando así lo requieran sus procesos), Harvest también se configura fácilmente mediante una interfaz gráfica.Tiene el concepto de "Paquete", que facilita adjuntar una gran cantidad de metadatos a los cambios de código y manejar los cambios independientemente de otros cambios (versiones a nivel de archivo en lugar de conjuntos de cambios que contienen la masa completa del código).Esto es útil para manejar cambios independientes de emergencia y mantenimiento.

Si un desarrollador es sólo programador y sólo piensa en el aspecto de codificación del desarrollo de software, entonces me imagino que podría sentirse muy frustrado con Harvest.Si un desarrollador es desarrollador y comprende que el desarrollo de software es mucho más que codificar y que la codificación es solo el comienzo del ciclo de vida del software, entonces creo que vería muchos beneficios con Harvest.

He estado usando HARVEST durante los últimos 4 años y me encanta.El tipo de soporte que te brinda 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 desea tener un proceso implementado para mover el código en un entorno empresarial grande, no creo que ninguna otra herramienta pueda acercarse siquiera a HARVEST.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top