En Rumbo a un Proceso Definido

A la pregunta, ¿qué es un proceso definido?[1] siempre le sigue ¿como asumimos un proceso así?. Ambas son preguntas muy lógicas, que intentaremos responder a la medida en que avancemos con este blog.

Veamos de cerca la primera: ¿Qué es un Proceso Definido?. Anteriormente habíamos intentado una definición, ahora hagamos una aproximación gráfica, con ayuda de unos inocentes dibujos.

Proceso Definido - Paquete

Fig 1. Paquete UML que representa un Proceso Definido

La Figura 1 representa una visión de conjunto, sin detalles por el momento, de un Proceso Definido. Veamos luego con detalle lo que esto representa, pero de momento hagamos la siguiente abstracción: un proceso definido es un conjunto de cosas -un paquete- que se manejan como un conjunto y que se asume como practica diaria.

Puede resultar interesar observar que existen infinitos posibles Procesos Definidos de desarrollo del software. De hecho, cada organización que asuma este método de desarrollo en cierta medida tendrá que crear su propio Proceso.

Hoy por hoy, el Proceso Unificado se erige como el método de desarrollo de software por Proceso Definido, más importante. De este método hablaremos en detalle a lo largo de la vida de este blog, ya que es la referencia número uno en esta forma de pensar sobre el trabajo de desarrollar aplicaciones y sistemas software.

Del Proceso Unificado (UP) existen numerosas variaciones, siendo la más conocida la variación comercial RUP. Un punto de partida para conocer de esto es la Wikipedia, como siempre, una fuerte de información general invaluable.

Veamos ahora un poco del contenido de nuestro paquete Proceso Definido.

Proceso Definido - Contenido

Fig 2. Contenido del Proceso Definido

En una primera aproximación, un Proceso Definido ha de incluir una visión detallada de entre otras cosas, lo siguiente:

  1. Trabajadores. Identificando sus responsabilidades y habilidades requeridas. Es tentador llamar Rol a esta idea, ya que un mismo ser humano puede desempeñarse como varios Trabajadores del Proceso, pero es que en UML la palabra rol ya fue reservada para algo bastante especifico.
  2. Herramientas. Enumerando cuales están a disposición de los trabajadores y cual función cumple cada una. Como parte de las herramientas se debe contar con todo el equipo, licencias, manuales, y demás elementos físicos que son necesarios para llevar a cabo las actividades de los Trabajadores.
  3. Flujos de Trabajo. Del inglés workflow, se detalla la forma y el momento en que el Proceso fluye de una actividad a la otra. Los pasos de estos flujos son ejecutados por los Trabajadores utilizando las Herramientas, aunque quizás con algo de apoyo de los Clientes.
  4. Plantillas. De manera de no comenzar un trabajo desde cero. Después de todo, no es la primera vez que se hace un proyecto de esta naturaleza, por lo que es factible tener plantillas con todo lo que es común a cada producto del Proceso. Llámese documento, código, diagrama, o cualquier otra cosa.

Así la cosa, para que una organización asuma un Proceso de desarrollo bien definido, vale mucho comenzar por precisar cuales trabajadores, herramientas y plantillas integran el proceso, así como pensar claramente en la secuencia de pasos que se han de dar para cumplir con lo pautado en los proyectos. Esto es, conviene pensar en definir las cosas en lugar de dejarlas para el día a día.

Cuando una organización adquiere un Proceso Definido de un proveedor, lo que en realidad compra es un conjunto de directrices, plantillas, manuales, herramientas, asesoría y recomendaciones, que han sido pensadas como un todo orgánico, y que en su conjunto permiten a la organización destino, desarrollar software.

Y es que, guerra avisada no mata a soldado. Siempre y cuando este vaya con la suficiente preparación. Esa es la filosofía detrás de todo Proceso Definido. Dejar por fuera la improvisación y dar la bienvenida a todo lo que nos ayude a conocer los detalles del camino por seguir.

Este artículo continua en En rumbo a un Proceso Definido (II).

Por ultimo, los gráficos de este post son compatibles con UML 1.4, y fueron obtenidos utilizando la herramienta ArgoUML. Un proyecto de software libre que elabora un modelador de UML. Aunque es cierto que existen muchas otras herramientas de mayor poder, ArgoUML se destaca por ser sencillo, multiplataforma y libre. Vale la pena darle una mirada y considerar su uso. Al menos en proyectos sencillos.

About these ads

, , ,

  1. #1 por Felix el 24-09-07 - 4:12 pm

    Iván, está excelente tu blog y temas tratados.

    En relación al tema de herramientas, yo me decantaría por usar aplicaciones libres u open-source, no solamente por el hecho implícito de ahorro en costes de licencias si no evitar el quedar amarrados a un único proveedor, poder contar con el apoyo de una comunidad de usuarios y desarrolladores mucho más amplia (dependiendo del proyecto) que sus contrapartes privativos.

    En el caso de herramientas para modelado UML he conseguido un par de blogs interesantes que presentan diferentes alternativas:

    http://www.mindview.net/WebLog/log-0041

    http://geekswithblogs.net/flanakin/archive/2004/01/28/1594.aspx

    Particularmente me llamaron la atención:
    - http://staruml.sourceforge.net/en/
    - http://bouml.free.fr/
    - Visual Paradigm for UML en su Community version:

    http://www.visual-paradigm.com

    La página de UML de OMG como recurso de referencia:

    http://www.uml.org/

    Para el caso de lenguaje de programación podemos estar hablando de Java o PHP.

    Ambiente de desarrollo: Eclipse.

    Herramientas de edición: Emacs, OpenOffice.

  2. #2 por igarcerant el 25-09-07 - 5:44 pm

    Gracias por los buenos comentarios.

    En cuanto al ambiente de desarrollo, yo en lo personal siempre he preferido NetBeans. No lo sé, pero nunca he entendido a Eclipse.

  1. En Rumbo a un Proceso Definido (III) « Tecnología y Synergix

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 26 seguidores

A %d blogueros les gusta esto: