|
Como en los conocidos o tradicionales procesos de producción, los actores y cualquier otro participante del mismo, se ve nutrido de ciertas herramientas que permiten controlar, gestionar o simplemente realizar cada uno de esos pasos o etapas. En el caso del armado de un chasis vehicular, uno utiliza soldadora, maquina de pintura, cabinas de pintura, etc, además de aplicativos informáticos y demás sistemas que provean de información y control a que todo avance como fue "planeado".
Entonces, la construcción de sistemas informáticos, software o aplicaciones informáticas, esta apoyada por, numerosos elementos que dan soporte a la misma actividad de planificación, desarrollo y control de procesos de desarrollo.
Entre esos elementos, se encuentran algunos llamados de “soporte” y bien podrían llamarse herramientas de control, almacenamiento de código y documentos, en la jerga, llamadas ALM (Applications Lifecycle Management o Gestión del ciclo de vida de aplicaciones). En esencia, son "programas" que permiten alojar el código de nuestras aplicaciones en estado de desarrollo (mientras se están construyendo) o en estado de Release (cuando se convierten en una versión “definitiva”), versionar las porciones de código o documentos, versionar el producto que estemos desarrollando y gestionar esos documentos, así como también todo archivo relacionado al desarrollo de aplicaciones, tales como documentos de arquitectura, requerimientos de nuevos desarrollos, manuales, archivos publicitarios y todo tipo de elementos involucrados en nuestros procesos de desarrollo.
Este tipo de herramientas es muy utilizada en entornos de desarrollo de software, las características que estas herramientas proveen con intenciones de utilizar las mismas (o al menos introducir estos conceptos) en nuestros documentos de uso diario, comentando las similitudes con herramientas de uso cotidiano (como las propuestas por procesadores de palabras o demás programas de uso masivo).
Características de entornos de desarrollo:
• Control de documentos por versiones. • Comparación de diferentes versiones con su antecesora. • Numeración automática de esas versiones. • Alojamiento automático de esas versiones. • Búsqueda de documentos dentro del mismo sofware. • Tomar bajo control algún documento evitando la modificación simultánea del mismo por otro usuario (acción CheckOut). • Grabar los cambios de los documentos sobre el archivo "Maestro" permitiendo ser accedido por los demás usuarios cuando los necesiten (dejando constancia de que modificó cada usuario). • Congelar ciertos archivos que formen determinada versión de producto.
Todas estas características, son las que dan soporte a los procesos de desarrollo de aplicaciones, las herramientas mas conocidas en el mercado para este tipo de tareas, son Visual Studio Team System de Microsoft, Clear Case de IBM o StarTeam de Borland.
Actualmente, muchas herramientas proveen parte de esta funcionalidad para usuarios con menores exigencias o usos no tan exhaustivos como quienes trabajan en entornos de desarrollo de aplicaciones, donde los documentos, su almacenamiento e importancia conjunta es tan elevados que requiere de cuidadosos mecanismos de almacenamiento y control, como los propuestos por estas herramientas.
El mismo Word de Microsoft, provee la posibilidad de aplicar control de cambios sobre los documentos bajo el concepto de Track Changes. Herramientas como las propuestas por Google en su aplicativo Google Docs (docs.google.com) acercan a usuarios con menores requerimientos o exigencias, muchas de estas funcionalidades.
El objetivo de este informe se centra en proveer de datos a quienes no están involucrados en este tipo de actividades, con intenciones de que conozcan la existencia de mecanismos de control y almacenamiento de documentos que utilizan los términos enumerados en este texto y que son utilizados con el objeto de proveer seguridad y entornos de trabajo validos a equipos formados por personas distribuidas geográficamente y trabajando sobre los mismos documentos o porciones de código. En el mercado hay muchas mas herramientas que las mencionadas aquí y de diferente magnitud y alcance, desde luego, algunas se adaptaran mejor a las necesidades personales de cada uno. No pierdan de vista, que en esencia, un programa o aplicativo, es el resultado de la compilación de numerosos documentos (porciones de código) e interpretado por otros programas y por ende, conociendo estos conceptos, se puede aprender y aprovechar mucho conocimiento aplicado ya en otras áreas, las que mejor lo utilizan. Alguna vez leí en un artículo en Internet la siguiente frase “No hay que reinventar la rueda, solo hacerla girar mas rápido”.
Por Martín C. Peppino Ing. En Sistemas de información. MP 27921799 |