Tarea: Personalizar el proceso de desarrollo para el proyecto |
|
 |
En esta tarea es donde se personaliza un proceso de desarrollo para cumplir las necesidades específicas del proyecto. |
Disciplinas: Entorno |
|
Objetivo
El objetivo de esta tarea es:
-
Adaptar el tamaño del proceso de desarrollo de software según las necesidades específicas del proyecto.
-
Proporcionar una orientación relevante del proceso para que los miembros del proyecto puedan realizar su trabajo de
forma eficaz y con una calidad aceptable.
-
Proporcionar una descripción del proceso relevante y accesible para los miembros del proyecto.
|
Relaciones
Roles | Realizador principal:
| Otras actividades adicionales que realiza:
|
Entradas | Obligatoria:
| Opcional:
|
Salidas |
|
Uso del proceso |
|
Pasos
Analizar el proyecto
Objetivo:
|
Obtener una percepción del problema y los recursos disponibles para el proyecto.
|
Es fundamental para el éxito del proyecto que el proceso de entrega sea relevante para el proyecto en
cuestión, y para los requisitos de tamaño y formalidad del proyecto. Demasiados procesos tienden a hacer más
difícil la creatividad, la eficacia y la efectividad. La falta de procesos puede dar lugar a un entorno
caótico, donde los miembros de proyectos individuales acaben tomando decisiones locales que den resultados
incoherentes, imprevisibles y de poca eficacia.
|
Definir el ámbito del esfuerzo de personalización
Objetivo:
|
Definir qué áreas de proceso se deben cubrir en el proceso específico del proyecto.
|
Los resultados de analizar los recursos de proyectos, y su experiencia con proyectos de desarrollo de software
similares, permiten identificar el ámbito del esfuerzo de personalización. Un proceso específico de un proyecto no
tiene que incluir todas las disciplinas de RUP, ni es necesario que cubra todos los roles definidos en RUP.
Recuerde que RUP es una infraestructura de procesos especialmente indicada para una amplia gama de tipos de
proyectos y, por lo tanto, es demasiado complicada para un proyecto específico. Las áreas que seleccione en el
proceso del proyecto dependerán del conjunto de habilidades existentes de los miembros del proyecto y de la
naturaleza el proyecto. A continuación se muestran algunas consideraciones típicas que debe tener en cuenta cuando
se define el ámbito del esfuerzo de personalización.
-
Las áreas donde los miembros del proyecto ya tienen una forma de trabajo común, en las que no es necesario
introducir nuevos procesos y herramientas. Por ejemplo, si saben cómo realizar pruebas, puede ser una buena
idea no introducir la disciplina de prueba de RUP para limitar el número de nuevos factores. Puede centrarse en
introducir algunas partes de RUP para corregir problemas en el proceso existente. Consulte Concepto: Implementación de un proceso en un proyecto, apartado Mejorar el
proceso y las herramientas para obtener más información.
-
Las áreas (disciplinas) en las que el proyecto debe introducir nuevos procesos y herramientas, ya que no existe
una forma de trabajo previa. En algunos casos, no existen procesos y herramientas a las que volver, y es
necesario introducir la mayor parte de RUP, junto con herramientas de soporte. Consulte Concepto: Implementación de un proceso en un proyecto, apartado Cambiar todo
para obtener más información.
-
Problemas en el proceso existente. Céntrese en mejorar las áreas en las que la organización haya tenido
problemas.
-
¿Qué herramientas se deben utilizar? Si el proyecto ha decidido utilizar determinadas herramientas, el proceso
de desarrollo debe cubrir normalmente las áreas correspondientes de RUP.
-
La capacidad de cambio del proyecto. Cuando se observan los problemas de la organización, hay una tendencia a
intentar solucionarlo todo a la vez, sobre todo cuando muchos de estos problemas se producen conjuntamente.
Esto normalmente es una trampa. Las organizaciones, al igual que las personas, pueden albergar cambios, pero
dentro de un límite. Si la capacidad de cambio es lenta, debe ir más despacio y quizás introducir una o dos
disciplinas de RUP en el primer proyecto.
-
Las áreas en las que los miembros del proyecto no tienen conocimiento alguno o muy poco. Deje que el proceso de
desarrollo cubra estas áreas. Asegúrese de que es fácil encontrar la información correcta en RUP.
Para obtener más información sobre cómo definir el ámbito del esfuerzo de personalización, consulte Directriz: Personalización de RUP.
Para obtener una descripción de los factores que afectan a la personalización de un proceso para un proyecto,
consulte Directriz: Discriminantes de proceso.
Las áreas de mejora identificadas no se deben introducir necesariamente por primera vez en el mismo proyecto.
Reduzca el número de factores desconocidos y observe las áreas en las que la organización de desarrollo haya
experimentado más problemas en el pasado. Recomendamos que implemente RUP de forma iterativa, tal como se describe
en Concepto: Implementación de un proceso en un proyecto. Para los proyectos
pequeños, también se incluyen directrices en Ejemplo: Un proyecto pequeño adopta RUP.
Aunque puede descubrir la necesidad de mejoras en varias disciplinas, considere la opción de introducirlas de forma
iterativa en el curso de varios proyectos, en lugar de intentar un enfoque de "cambiar todo a la vez". Un ejemplo
de este tipo de intercambio es introducir los requisitos con los casos de uso y diferir la introducción de un nuevo
proceso de CM, si los proyectos anteriores han tenido problemas con requisitos insuficientes y/o poco claros, o si
los usuarios han expresado quejas de que el producto entregado no cumple con sus necesidades.
Los intercambios realizados y el ámbito resultante se deben documentar como parte del proceso para poder comunicar
las decisiones de ámbito a los interesados externos.
|
Desarrollar contenido específico del proyecto
Objetivo:
|
Crear conocimientos adicionales del proceso en áreas donde la cobertura de la infraestructura del proceso
RUP se considere insuficiente para el proyecto.
|
La infraestructura del método RUP se manifiesta en un modelo de proceso definido mediante un metamodelo basado en UML.
La infraestructura del método RUP se basa en un metamodelo llamado "Arquitectura unificada de método" (UMA). Los
aspectos básicos de UMA se describen en el apartado Concepto: Capacidades clave de la Arquitectura Unificada de Método (UMA).
Puede ampliar la infraestructura de RUP añadiendo Roles, Tareas, y/o Productos de
trabajo, o puede añadir Directrices específicas del proyecto a la infraestructura de RUP
existente.
Como parte de todo proceso específico del proyecto, debe existir un conjunto de recursos disponibles
personalizados para proporcionar ayuda específica y material de referencia para producir artefactos del
proyecto. Estos recursos son, por ejemplo:
-
Directrices comunes sobre cómo producir determinados artefactos.
-
Plantillas personalizadas para utilizarlas en los proyectos. Se crearán instancias parciales de ellas con
información del proyecto.
-
Ejemplos de artefactos relevantes para el conjunto definido de entregables y tecnología escogida del proyecto.
-
Activos reutilizables como, por ejemplo, patrones de diseño y bibliotecas de código.
En la concepción del proyecto, el Gestor de
proyectos trabaja normalmente con el Ingeniero de
proceso para seleccionar el conjunto de recursos correcto y ponerlos a disposición de los miembros del proyecto
como parte del proceso específico del proyecto. La necesidad de recursos adicionales se revisa al principio de cada
interacción.
|
Configurar el proceso
Objetivo:
|
Adaptar el tamaño del proceso para dar soporte a las necesidades exactas de un proyecto.
|
La configuración de un proceso implica seleccionar el contenido del método (productos de trabajo, tareas, roles, etc.)
que se va a incluir en el proceso. Para obtener recomendaciones específicas sobre qué elementos del método se
deben incluir para cada disciplina, consulte las directrices de "decisiones importantes de <nombre de la
disciplina>" que se proporcionan para cada una de las disciplinas de RUP. La selección del conjunto de
contenidos del método correcto para un determinado proyecto no es una tarea trivial. Para ser eficaz, el proceso
tiene que ser relevante y tener el tamaño adecuado, junto con otras dimensiones que incluyen el tamaño del proyecto
(recursos y tiempo de calendario), la formalidad, la plataforma tecnológica y el dominio, por sólo citar unas pocas.
Para obtener información sobre un esquema de clasificación para documentar la importancia de los productos de
trabajo individuales y si se van a utilizar o no, consulte Directriz:
Clasificación de productos de trabajo.
|
Definir el modelo de ciclo vital del proyecto
Objetivo:
|
Definir el modelo de ciclo vital del proyecto.
|
Una parte importante de la personalización de un proceso para un proyecto es decidir el modelo de ciclo vital que debe
seguir el proyecto, incluido el desglose en fases e iteraciones. Para esta parte del trabajo de personalización, el
ingeniero de proceso debe colaborar estrechamente con el gestor de proyectos, ya que el modelo de ciclo vital elegido
establece las bases del proceso de planificación del proyecto. Dependiendo de la naturaleza del proyecto, puede que sea
necesario ajustar el ciclo vital de RUP para que se adapte mejor a las necesidades específicas. Por ejemplo, el
desarrollo partiendo de cero normalmente requiere un mayor esfuerzo en la fase inicial que un proyecto de
mantenimiento. Por lo tanto, la descripción del ciclo vital se debe ajustar de acuerdo con la naturaleza del proyecto.
Consulte Concepto: Iteraciones para obtener información sobre los distintos tipos de modelo de
ciclo vital.
Además de seleccionar el modelo de ciclo vital general, también es importante decidir cómo se deben
ejecutar los flujos de trabajo asociados con cada una de las disciplinas que se incluyen en el esfuerzo de
personalización, así como decidir cuándo, a lo largo del ciclo vital de ese proyecto, se debe introducir cada
parte del flujo de trabajo de las disciplinas. La decisión de cuándo ejecutar el flujo de trabajo implica decidir
qué actividades se deben realizar y en qué orden. La decisión de cuándo ejecutar cada parte del flujo de trabajo
implica decidir dónde en el ciclo vital (por ejemplo, en qué fase) se deben introducir las actividades seleccionadas.
Para obtener información sobre cómo personalizar el flujo de trabajo de cada una de las disciplinas de RUP, consulte
las notas de uso de los flujos de trabajo de referencia que se proporcionan con cada disciplina de RUP.
Otro tipo de información que puede especificar en estos momentos son los requisitos de formalidad y tiempo de los
productos de trabajo en distintos puntos del ciclo vital. Por ejemplo, en qué fases se ha creado y/o actualizado un
producto de trabajo, y cuál es la formalidad necesaria del producto de trabajo (por ejemplo, si necesita un fin de
sesión del cliente).
|
Poner el proceso a disposición de los miembros del proyecto
Objetivo:
|
Hacer que el proceso específico del proyecto esté disponible para los miembros del proyecto.
|
Una vez realizado el trabajo de personalización inicial, el proceso resultante tiene que estar disponible para el
equipo del proyecto en un formato consumible.
Una posibilidad es hacer que el proceso esté disponible a través de un sitio web que puede residir en un
servidor web en la red de la organización, o bien puede estar instalado en el sistema de cada miembro
individual del equipo. Si los miembros del proyecto están conectados a la red la mayor parte del tiempo, se
recomienda desplegarlo en un servidor web para evitar los gastos generales asociados con las actualizaciones del
proceso durante el ciclo vital del proyecto.
|
Mantener el proceso
Aunque la gran parte del trabajo de personalización se realiza en los primeros días del proyecto, se debe mantener
actualizado siempre, a medida que los equipos del proyecto descubran obstáculos y otros problemas en el proceso.
A medida que el proceso evoluciona, se aprenden nuevas lecciones durante el propio proceso, que el ingeniero de proceso
utiliza como información de retorno para mejorar el proceso. Las valoraciones realizadas durante el proyecto también
constituyen una entrada importante para mejorar el proceso.
El proyecto maneja normalmente ajustes menores y se realizan actualizaciones en el proceso específico del proyecto como
parte de la preparación del entorno de desarrollo para la siguiente iteración. Este tipo de mejoras del proceso
darán como resultado actualizaciones en el proceso específico del proyecto (por ejemplo, perfeccionamientos en las
directrices y las plantillas de los productos de trabajo). Los problemas más complejos se plantean como
solicitudes de cambio en el proceso.
Una de las principales ventajas del desarrollo iterativo es que permite a los equipos del proyecto mejorar gradualmente
la forma en que se desarrolla el software. Se recomienda que cada proyecto incluya microciclos de ingeniería de
procesos que consten de los siguientes pasos:
|
|
Ilustraciones
Factores clave
Independientemente de qué nivel de personalización se ejecute, es importante capturar los resultados (y
probablemente el fundamento) del esfuerzo de personalización. Asimismo, si el proceso que se está
personalizando está diseñado para volverse a personalizar (por ejemplo, si el proceso se está personalizando para
toda una empresa y el proceso de la organización resultante está diseñado para personalizarse para cada proyecto),
también es importante desarrollar directrices sobre cómo personalizar el proceso de desarrollo personalizado. Estas
decisiones y recomendaciones de personalización se pueden capturar en un documento independiente, o como una parte
integral del proceso de desarrollo. Para obtener más información sobre los niveles de personalización, consulte
Concepto: Personalizar RUP.
El Plan de desarrollo de software y la organización tienen un
efecto importante en el Proceso de desarrollo y viceversa. La personalización del proceso se
debe coordinar con el desarrollo del plan de proyecto. Por ejemplo, si el proyecto decide utilizar un conjunto de fases
distinto al de Rational Unified Process (RUP), esto es algo que se debe capturar en el proceso de desarrollo
personalizado. Asimismo, una vez personalizado el proceso de desarrollo, se debe crear una instancia en un plan
de proyecto que se pueda aplicar. Para obtener más información sobre la planificación del proyecto, consulte Tarea: Planear fases e iteraciones y Tarea: Desarrollar un plan de iteración.
Cuando se personaliza el proceso, se recomienda no personalizarlo por completo a la vez. En su lugar, céntrese en
la disciplina que se va a aplicar en el proyecto a continuación. Para obtener más información sobre el
enfoque iterativo en la implementación del proceso, consulte Concepto: Implementación de un proceso en un proyecto.
|
Alternativas
Existen varios niveles diferentes de personalización disponibles para RUP. Para obtener más información, consulte Concepto: Personalizar RUP. |
Más información
Conceptos |
|
Directrices |
|
Instrucciones de la herramienta |
|
© Copyright IBM Corp. 1987, 2006. Reservados todos los derechos.
|
|