¿Qué elementos deben estar bajo un control de versiones?

11:28 0 Comments

Después de conversaciones con algunos clientes, y varios usuarios del sistemas SCM, me he dado cuenta de que en algunos casos no está claro qué elementos deben incluirse en un control de código fuente y qué elementos no. Intentaré explicarlo en las siguientes líneas.

Por regla general siempre se deberían incluir en el control de código fuente, todos recursos de un proyecto excepto los que sean resultado de sistema de compilación o de generación.

Por ejemplo, el código fuente es evidente que será un recurso a incluir en el control de versiones. ¿Pero qué ocurre con el resto de recursos de un proyecto? Imágenes, scripts de bases de datos, ficheros compilación (make, Ant ...), binarios, documentación, ...

Quizá sea más interesante centrarse en que recursos NO deberían incluirse en un control de versiones.

Todo fichero binario resultado de una compilación o de una generación (reports, etc ...) nunca debería incluirse en un control de código fuente. El entorno debería estar lo suficientemente preparado para compilar y generar todo lo necesario automáticamente (Ant, NAnt, MSBuild, make, ...)

Muchas veces, son los entornos de desarrollo los que hacen este trabajo por nosotros. Por ejemplo, Visual Studio, mediante la integración con el control de código fuente, es capaz de determinar qué elementos incluye en el control de código fuente y cuáles no.

En este proyecto de Visual Studio, las carpetas bin y obj no están incluidas en el control de código fuente.

En otros entornos de desarrollo como Eclipse, NetBeans, etc ..., se pueden definir las llamados patrones de exclude o de ignore. El entorno permite definir elementos que no serán tenidos en cuenta a la hora de añadir al control de código fuente:

Finalmente, cuando no trabajamos con nigún entorno de desarrollo, no queda más remedio que realizar esta tarea "a mano" (podemos crear un script que utilice los metacaracteres del sistema operativo *,?, para hacer los añadidos al control de versiones de forma "automatizada").

0 comentarios:

Tipos de clientes

16:33 0 Comments

Hace unos días comenzaba a leer un nuevo libro sobre gestión de proyectos software: Manage It! de la gente de Pragmatic Programmers.

Al final del primer capítulo hace una interesante descripción sobre el significado de calidad para las diferentes partes implicadas en el proyecto, y la verdad es que viene a describir también los tipos de clientes que aparecen cuando se lanza un producto.



  • En primer lugar habla de los entusiastas. Cuando un producto acaba de salir todavía tiene pocos usuarios, que además suelen estar encantados con alguna de las características del producto. En esta fase lo importante parece ser sacar más nuevas características (o mejorar las actuales) para captar más entusiastas.

  • Entonces llega el momento en el que el producto comienza a usarse mucho más, y aparecen los visionarios. Están interesados en el software pero a cada uno de ellos se le ocurren nuevas necesidades, nuevas funcionalidades que añadir, que el equipo de desarrollo se esfuerza en implementar.

  • Y llega el momento en el que el producto comienza a ser realmente conocido y a tener un gran número de clientes. Ahora entran en escena los pragmáticos: no quieren nuevas características porque ya les gusta lo que hace el producto, ahora bien, serán muchos y querrán un sistema robusto.

  • Posteriormente llegan los conservadores. Les ha costado decidirse por el producto pero finalmente van a usarlo. Y, eso sí, protestarán de todo aquello que puedan, de cualquier característica que no esté implementada o de cualquier fallo que otros clientes hayan podido pasar por alto...

  • Y al final, cuando el producto ya es muy maduro (incluso en declive desde el punto de vista técnico), entran en juego los escépticos: quizá no lo compren nunca, pero si lo hacen es posible que generen dinero en temas como soporte... Los productos que llegan a esta fase normalmente se conocen como productos vaca (o cash cows): generan dinero por poco esfuerzo (claro, descontando todo el que ya se ha hecho anteriormente....)
  • 0 comentarios:

    ¡Estamos de enhorabuena!

    12:37 1 Comments


    Una vez más recibimos una grata noticia: ¡hemos sido galardonados con un nuevo premio!
    En esta ocasión se trata del Premio al Producto más Innovador dentro de los premios que otorga la revista Castilla y León Económica.
    Esta es la primera edición de estos premios, patrocinados por el ForoBurgos y convocados con el objetivo de reconocer las mejores iniciativas del tejido empresarial de Castilla y León así como valorar la gestión de los directivos y su contribución a la modernización y eficiencia de sus empresas.
    La categoría en la que Plastic SCM ha sido premiado, es la de Producto mas Innovador, por lo que nos han destacado como la empresa que ha lanzado el producto más innovador, que aporta valor añadido y ha tenido un gran éxito en el mercado.
    La entrega de premios se celebrará el día 8 de Noviembre en Valladolid.
    Podéis ver la noticia aquí.

    1 comentarios:

    !Nueva versión BL063.5 disponible!

    17:36 0 Comments


    Acabamos de lanzar la nueva versión de Plastic SCM (internamente BL063.5), y nos hemos centrado en las demandas de nuestros clientes, ya que muchos de vosotros nos habíais pedido que incluyeramos integraciones de Plastic SCM con herramientas de control de tareas.

    Y esto es lo que hemos incluido en esta nueva versión:

    • Integración con JIRA: El software de Atlassian JIRA ofrece características fiables de mapeo de datos que permiten la transformación de diversos tipos de datos con PlasticSCM. Cualquier empresa puede utilizar JIRA para mejorar aún más las caracterísitcas de gestión de la configuración de Plastic SCM.
    • Integración con Bugzilla: Este conocido sistema de control de tareas elabora informes y asigna cada error al desarrollador más apropiado; se puede utilizar para llevar una lista de tareas pendientes así como para priorizar y programar tareas. La integración de Plastic SCM con Bugzilla ofrece una potente solución para el ciclo de vida del desarrollo, aumentando la productividad del equipo de trabajo.
    • Integración con Trac: Trac es una herramienta de control de tareas gratuita que proporciona un enfoque minimalista de la gestión de proyectos web. La integración de Plastic con Trac asegura que el esfuerzo y el tiempo empleados en administrar el sistema sean mínimos además de proporcionar un seguimiento completo de todo el trabajo realizado en desarrollo.
    • Integración con OnTime: OnTime es una herramienta comercial desarrollada por la empresa Axosoft, muy útil para enlazar defectos, características y tareas con las ramas Plastic. Cada rama de Plastic corresponde a una tarea asociada en OnTime: el resultado será una solución de Gestión de Ciclo de vida del proyecto completa y muy potente.
    • Integración con Mantis: La integración de Plastic SCM con permite que cada equipo lleve a cabo el proceso de desarrollo según sus necesidades; garantiza que el grupo de desarrollo esté en todo momento sincronizado con el equipo de QA.

    Para información más detallada podéis entrar aquí.

    0 comentarios: