100% encontró este documento útil (1 voto)
212 vistas18 páginas

ESSup

El documento describe el Essential Unified Process (EssUP), un marco de procesos de desarrollo de software creado por Ivar Jacobson. El EssUP integra prácticas efectivas de procesos unificados, desarrollo ágil y madurez de procesos, enfocándose en estructura, agilidad y mejora de procesos. Identifica 10 prácticas clave agrupadas en 6 prácticas técnicas como arquitectura, iteraciones, casos de uso y componentes, y 4 prácticas transversales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
212 vistas18 páginas

ESSup

El documento describe el Essential Unified Process (EssUP), un marco de procesos de desarrollo de software creado por Ivar Jacobson. El EssUP integra prácticas efectivas de procesos unificados, desarrollo ágil y madurez de procesos, enfocándose en estructura, agilidad y mejora de procesos. Identifica 10 prácticas clave agrupadas en 6 prácticas técnicas como arquitectura, iteraciones, casos de uso y componentes, y 4 prácticas transversales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Essential Unified Process (EssUP)

1. INTRODUCCION

Essential Unified Process. Creado por Ivar Jacobson, como una


mejora sobre el Rational Unified Process(RUP) y mucho más
"liviana" que Microsoft Solution Framework (MSF). Está basada
en MSF y será incluida como parte del Team System. Consiste en
la integración de prácticas eficaces entre los tres principales
campos de procesos: el proceso unificado, los métodos ágiles y
el proceso de madurez. Cada uno de estos procesos contribuye
con diferentes capacidades o características como son: la
estructura, la agilidad y la mejora de procesos.

Ivar Hjalmar Jacobson 2 de septiembre de 1939, ingeniero sueco


en Ciencias de la computación. Inventó el diagrama de secuencia
y desarrolló los diagramas de colaboración. También impuso el
uso de diagramas de estado de transición para describir los
flujos de mensajes entre los componentes. Fue uno de los
desarrolladores originales del SDL (lenguaje de
especificación), que se convirtió en estándar en 1967.

En noviembre de 2005, Jacobson anunció la Essential Unified


Process (EssUP), una nueva "práctica" centrada en el proceso de
desarrollo de software. Se trata de un nuevo comienzo a la
integración de prácticas eficaces de entre los tres principales
campos de proceso: el proceso unificado, los métodos ágiles y
el proceso de madurez. Cada uno de ellos contribuye diferentes
capacidades: estructura, la agilidad y la mejora de procesos.

Jacobson ha descrito a EssUP como un "súper ligeros y ágiles".


RUP y la IJC han integrado EssUP en Microsoft Visual Studio
Team System, y Eclipse.
2. DEFINICIÓN

EssUP está basado en casos de uso, CMMI y desarrollo ágil. Se


considera una mejora sobre RUP ya que en este último todas las
prácticas están relacionadas y no pueden ser usadas de forma
aislada. EssUP está soportado por Microsoft Visual Studio Team
System, y Eclipse.

El proceso esencial Unificado (EssUP) es un conjunto de


prácticas que en conjunto forman el conocimiento esencial de un
ciclo de vida de desarrollo de software. Las prácticas integran
principios que se han mostrado efectivos en los campos del
proceso unificado, del desarrollo ágil y la madurez de los
procesos, haciendo énfasis en las capacidades que ofrecen:
estructura, agilidad y mejora de procesos.

3. CARACTERÍSTICAS

Ess UP identifica prácticas como desarrollo en base a casos de


uso, desarrollo iterativo, architecture driven development,
prácticas para el equipo y prácticas para los procesos, que son
tomados de RUP, CMMI, y desarrollo ágil.

La metodología denomina Essential Practicess al conjunto de


prácticas, las cuales esta divididas en 6 prácticas técnicas y
4 prácticas transversales.
3.1. PRÁCTICAS TÉCNICAS

3.1.1. ARCHITECTURE ESSENTIALS (ARQUITECTURA)

Esta práctica está destinada a obtener una base firme para el


desarrollo de sistemas de alta calidad y robustos. Permite a
los equipos:

 Identificar de forma efectiva los riesgos técnicos del


proyecto.

 Consensuar las decisiones principales sobre la estructura


y organización del sistema implementado.

 Verificar que el sistema integra las características clave


esperadas por el cliente.

 Probar de forma objetiva que el sistema elegido es


adecuado a su propósito.

 Qué produce

 Documentación acerca de la arquitectura.


 Casos de prueba sobre la arquitectura.

 Vistas de la arquitectura.

 Verificación de la arquitectura de forma incremental. Se


testea cada vez que se produce una nueva versión del
sistema.

 Qué hay que hacer

 Identificar y clarificar los requisitos relevantes para la


arquitectura para establecer los objetivos de la misma.

 Determinar la arquitectura a implementar y especificar el


conjunto de pruebas que se usarán para verificar y probar la
implementación.

 Producir un sistema básico verificado y probado para


cumplir los requisitos.

 Entrenar al equipo para usarlo.

A partir de aquí la arquitectura evoluciona en función de


nuevos requisitos y resultados de las pruebas. Todos los
sistemas construidos están sujetos al cumplimiento de los test
para asegurar la validez de la implementación de la
arquitectura.

3.1.2. ITERATIVE ESSENTIALS (ITERATIVO)

Esta práctica reduce el riesgo del proyecto mediante el


desarrollo incremental del sistema sobre un número de
iteraciones. El proyecto se descompone en trozos más pequeños o
mini proyectos, independientes y limitados en el tiempo.

Esta práctica permite al equipo:

 Planear de forma colaborativa y objetiva, ejecutar y


seguir el proyecto.

 Una gestión del tiempo más eficaz y de más calidad.

 Demostrar la importancia de trabajar desde un primer


momento en el software contando con los feedbacks de
clientes y usuarios.

 Ser ágiles en respuesta a los cambios.

 Entregar más alta calidad, soluciones más apropiadas, más


frecuentemente.

 Tener un sistema operacional disponible desde bien pronto


en el proyecto, que incrementalmente crezca para convertirse
finalmente en un sistema completo.

 Qué produce

Esta práctica implica la producción de un conjunto de elementos


relacionados con la administración:

 El backlog (trabajo atrasado) se llena de cambios, cosas


que no funcionan correctamente o fallos, y otras tareas que
representan el trabajo por ser realizado.

 El plan de proyecto identifica el número y tipo de las


iteraciones que serán llevadas a cabo.
 La planificación y las iteraciones son necesarias por los
riesgos que implica el proyecto.

 La iteración de los planes y los ajustes son necesarias


para conocer el propósito y el resultado de cada iteración.

 Qué hay que hacer

 La práctica comienza adaptando los planes del proyecto


existentes para integrar las iteraciones al ámbito del
proyecto.

 Los objetivos, criterios de evaluación y trabajo para la


primera iteración son aceptados.

 La práctica guía entonces al equipo a través de la


iteración dónde tienen que aplicar otras prácticas para
conseguir los objetivos de la iteración.

 Al final del periodo establecido para la iteración sus


resultados serán evaluados y utilizados para ayudar a
adaptar los planes a la realidad del proyecto y establecer
la siguiente iteración.

 Esta secuencia se sigue para cada iteración de trabajo del


proyecto hasta que, tras los resultados de la iteración
final sean evaluados y el proyecto concluya.

3.1.3. USE-CASE ESSENTIALS (CASO DE USO)

Una forma ágil, sencilla de controlar y de seguir el desarrollo


del proyecto software. Esta práctica permite al equipo:
 Trabajar con los clientes para capturar los requerimientos
verdaderamente esenciales.

 Trabajar juntos más eficientemente para desarrollar


rápidamente una solución utilizable.

 Identificar y entregar el valor esperados del sistema.

 Establecer el nivel correcto de detalle de los requisitos


para satisfacer las necesidades y la de los clientes.

 Priorizar e identificar subconjuntos de requisitos de una


solución mínima para usarla en el desarrollo iterativo.

 Utilizar un acercamiento sistemático al correcto diseño,


implementación y verificación de requisitos.

 Qué produce

Esta práctica implica la producción de un conjunto de


requisitos, así como el diseño y prueba de elementos:

 Un caso de uso basado en la especificación de los


requisitos, escenarios y casos de prueba.

 La realización del caso de uso conduce al desarrollo del


software.

 La generación de pruebas y los resultados de las pruebas


sirven para probar el sistema y grabar los resultados de las
pruebas.
 Qué hay que hacer

 La práctica comienza identificando los actores y los casos


de uso, y eligiendo y priorizando los casos de uso a ser
desarrollados.

 Sigue especificando los casos de uso y sus pruebas, e


implementando el software que hallará las pruebas.

 Finaliza ejecutando las pruebas y siguiendo el progreso en


términos de verificado.

3.1.4. COMPONENT ESSENTIALS (COMPONENTE)

Esta práctica se utiliza para desarrollar complejos sistemas


formados de componentes más pequeños y más simples. Esta
práctica permite al equipo:

 Gestionar la complejidad asociada con el desarrollo del


sistema software.

 Desarrollar complejos sistemas de una forma extensible y


mantenible.

 Desarrollar y verificar las partes separadas de un sistema


independientemente y en paralelo.

 Identificar oportunidades para la reutilización y


aprovechamiento de componentes reutilizables.

 Utilizar la tercera parte de los frameworks y los


componentes de biblioteca.
 Qué produce

Esta práctica implica la producción de un número de


implementaciones y elementos de prueba:

 Un diseño modelado del sistema a implementar,


identificando el conjunto de componentes requeridos.

 Una descripción de cada componente, incluyendo su


comportamiento e interfaces.

 Código fuente y unidades de prueba para componente.

 Construcciones integradas del sistema del componente y las


pruebas y los resultados para verificar las construcciones.

 Qué hay que hacer

 La práctica comienza identificando el conjunto de


componentes que son necesarios para hallar los requisitos
del sistema, y plasmar esta práctica en la especificación
del sistema. Esto incluye identificar un adecuado conjunto
de pruebas para verificar el sistema.

 Se sigue definiendo los componentes, incluyendo sus


interfaces y unidades de prueba, y desarrollando los
componentes para implementar las interfaces y pasar estas
pruebas.

 Finalizamos integrando el sistema, ejecutando las pruebas


para verificar el sistema producido y entonces fomentando la
utilización tal y cómo los componentes han sido concebidos.

3.1.5. PRODUCT ESSENTIALS (PRODUCTO)


Administrando versiones del producto Esta práctica se utiliza
para administrar el desarrollo de sucesivas evoluciones de un
sistema software como una serie de versiones del producto. Esta
práctica permite al equipo:

 Planear el proyecto como una serie de versiones de un


producto superior estando cada entrega real en pos del
beneficio empresarial.

 Involucrar a los stakeholders en la decisión de


fabricación del proceso.

 Asegurar que el producto realizado cubrirá las necesidades


reales de los stakeholders.

 Gestionar la evolución del software de forma controlada y


enfocada al negocio.

 Qué produce

Esta práctica implica la producción de un conjunto de elementos


de negocio, de planeamientos y de requisitos:

 El caso de negocio para establecer el valor del producto.

 El análisis de los stakeholders para asegurar que ellos


comprenden y están involucrados en el proyecto.

 La lista de capacidades, glosario y descripción de cada


versión para definir el producto y sus versiones.

 El plan de proyecto para extraer cómo las series de


versiones serán producidas.
 Qué hay que hacer

 Esta práctica comienza iniciando el proyecto y


estableciendo el caso de negocio de producto.

 Continúa especificando y planificando las versiones del


producto

 Concluye con el empaquetado de la versión y su aceptación


por parte del cliente.

3.1.6. BUSSINESS USE CASE ESSENTIALS

Caso de uso de negocio: gestionando tus requisitos de negocio.


Podremos captar y redefinir tal y como requieren tus procesos
de negocio para que se llegue a una solución software más
eficaz y que mejore las prestaciones y el valor que te
aportará. Con la práctica de caso de uso de negocio esencial,
tu equipo se enriquecerá al comprender las necesidades del
negocio, y cómo involucrar al negocio para lograr cubrir las
necesidades de la organización.

 Qué produce

El caso de uso de negocio esencial te permitirá:

 Adaptar una solución tecnológica a los requisitos con las


necesidades del negocio.

 Maximizar los beneficios generados por la introducción de


soluciones automatizadas.

 Comprender el impacto de las soluciones propuestas al


negocio.
 Incrementar el beneficio realizado por el software a
partir del desarrollo de proyectos software.

3.2. PRÁCTICAS TRANSVERSALES

3.2.1. UNIFIED PROCESS LIFECYCLE ESSENTIALS (PROCESO)

Esta práctica se utiliza para establecer un control sobre el


ciclo de vida de un proyecto de desarrollo iterativo y permite
a los equipos:

 Establecer un ciclo de vida del proyecto.

 Compartir un conjunto de hitos (milestones) comunes con


otros proyectos y equipos.

 Identificar los objetivos a corto plazo para reducir los


niveles de riesgo que se presentan.

 Estructurar los planes en una secuencia de fases bien


comprendidas.

 Aprovechar al máximo los beneficios del desarrollo


iterativo.

Patrones de ciclo de vida Está práctica presenta un conjunto de


"Patrones de ciclo de vida" que al ser aplicados en el proyecto
permiten al equipo:

 Entender en que estado está el proyecto y como de correcta


se está llevando a cabo la gestión de los riesgos.

 Adoptar un marco de control estándar para guiarlos en el


establecimiento apropiado de objetivos y de hitos.
 Iterar de una manera controlada.

 Observar la evolución de la arquitectura y los requisitos


junto con el desarrollo de una solución de software de alta
calidad.

3.2.1.1. THE COMMON MILESTONES

Este patrón define un conjunto de hitos o puntos de paso,


apropiado para la planificación y el seguimiento de todas las
variantes de desarrollo iterativo e incremental de los
proyectos software. Los tres principales hitos se muestran a
continuación:

 Objetivos del Ciclo de Vida (Lifecycle Objectives) - Se


toman las decisiones clave sobre lo que será y no será en el
producto/versión. Los requisitos operativos del software son
acordados.

 Arquitectura del ciclo de vida (Lifecycle Architecture) -


Se establece la arquitectura del software y se establece el
plan para los riesgos principales asociados.

 Capacidad operativa inicial (Initial Operational


Capability) - El software es totalmente funcional y se
realizan los preparativos para la transición del software al
cliente y/o el entorno de producción.

3.2.1.2. THE LIFECYCLE PHASES (FASES DE CICLO DE VIDA)

Esta práctica perfecciona el patrón Common Milestones mediante


la definición de cuatro fases para el adecuado progreso del
proyecto hacia el éxito a través de los tres milestones
anteriores. El proyecto o ciclo de lanzamiento del
producto/versión se divide en cuatro fases secuenciales, cada
una de las cuales tiene objetivos bien definidos:

 Inicio (Inception) - Confirmación del alcance y objetivos


y control de los riesgos asociados al negocio.

 Elaboración (Elaboration) - Concreción de los planes y


control de los riesgos arquitectónicos y técnicos.

 Construcción (Construction) - Construcción del producto y


control de los riesgos asociados a la ejecución del
proyecto.

 Transición (Transition) - Entrega del producto y control


de los riesgos de despliegue.

Estas cuatro fases son tomadas de RUP por lo que en dicha


metodología se puede encontrar información ampliada y
actividades concretas a realizar en cada fase.

3.2.2. TEAM ESSENTIALS (EQUIPO ÁGIL)

Esta práctica es utilizada para reunir un equipo de proyecto y


establecer un ambiente de trabajo efectivo. Para ello el equipo
debe:

 Adoptar las medidas de liderazgo y de organización.

 Establecer y adquirir las competencias necesarias para


tener éxito.

 Desarrollar formas efectivas de colaborar y organizar su


trabajo.
 Crear un ambiente en el que todos los miembros del equipo
sean capaces de contribuir al máximo de su capacidad durante
todo el proyecto.

 Qué produce

El objetivo es la creación de trabajo en equipo eficaz y la


producción de elementos relacionados:

 En la carta del equipo se refleja la estructura del equipo


y las responsabilidades.

 Los miembros integrados en el equipo deben evolucionar


hacia maneras efectivas de colaborar.

 Qué hay que hacer

 La práctica comienza con la formación del equipo inicial


del proyecto como parte de la puesta en marcha del mismo.

 A lo largo del desarrollo, los planes de proyecto se


adaptan para reflejar la dotación de personal y la eficacia
del equipo, el equipo del proyecto está orientado a mejorar
el trabajo del equipo y eliminar los obstáculos que impiden
que el trabajo efectivo del equipo.

3.2.3. PROCESS ESSENTIALS (PROCESO)

Está práctica permite mejorar y adaptar la forma de trabajo del


equipo, en concreto, permite al equipo:

 Identificar, preparar y reunir un conjunto de prácticas y


herramientas adecuadas para conseguir los objetivos del
proyecto.
 Introducir nuevas prácticas individual y gradualmente
según sea necesario.

 Comparar e integrar prácticas estándar y particulares


preservando los aspectos que el equipo ejecuta correctamente
y señalando aquellos que no.

 Evolucionar las prácticas en base a la experiencia y las


lecciones aprendidas.

 Qué produce

El objetivo es el establecimiento de una forma efectiva de


trabajo y la producción de una serie de prácticas y
herramientas:

 La forma de trabajar está compuesta de un número de


prácticas. Cada práctica debe describirse en formato de
cartas y guidelines.

 La forma de trabajar está soportada por un número de


herramientas. Cada herramienta puede suministrar una
descripción referente a la configuración así como realizar
ciertas actividades definidas por las prácticas.

 La forma de trabajar se resume en el documento de


aproximación.

 Qué hay que hacer

 La práctica comienza estableciendo y lanzando un conjunto


inicial de prácticas y herramientas como parte del
lanzamiento del proyecto.
 Las mejoras fundamentalmente provienen de peticiones de
cambio o por la adopción de nuevas prácticas y herramientas.
El equipo es entrenado al inicio y vuelve a serlo con las
nuevas prácticas y las mejoras. El resultado del uso de
estás prácticas debe ser evaluado, uno de los indicadores
son las peticiones de cambio.

 El ciclo de mejora, entrenamiento y evaluación posibilita


una mejora continua de los procesos. Se pueden añadir tantas
prácticas y herramientas como sean necesarias para hacer
frente a los riesgos del proyecto. Aquellas prácticas que
demuestren ser no efectivas pueden ser mejoradas o
eliminadas.

3.2.4. MODELING ESSENTIALS (MODELADO)

Esta práctica se utiliza para establecer un estilo y tipo


apropiados para guiar las actividades de desarrollo. Con los
modelos podremos:

 Comunicar los requisitos, estructura y comportamiento del


sistema.

 Ver diferentes perspectivas del sistema y entender cómo se


relacionan entre sí.

 Emplear los modelos adecuados que mejor se adaptan a cada


necesidad.

 Ser ágil en la forma de abordar el modelado y


documentación.

 Concentrarse en lo esencial para evitar la producción de


documentación innecesaria.
 Qué produce

La clave para un modelado efectivo es establecer un conjunto


ligero de Guías de Modelado detallando como los modelos se
relacionan y como deberían ser usados. Estas guías influirán y
tendrán en cuenta los distintos modelos introducidos en el
proyecto por otras prácticas.

 Qué hay que hacer

El soporte al equipo en las actividades de modelado se inicia


cuando se establece el proyecto y debe permanecer durante todo
el desarrollo del mismo. El equipo recibe entrenamiento en la
aplicación de los modelos y estándares seleccionados. Los
resultados del trabajo de modelado se evalúan y las formas de
trabajar con modelos son mejoradas continuamente.

4. ESSUP VS RUP

Lo bueno de EssUp es que no tienes que usar todas las


prácticas. Puede comenzar fácilmente con uno y agregar más si
lo desea. Con RUP, utiliza todo el proceso, incluso si no
necesita crear todos los artefactos. EssUp difiere en la
presentación ligera de las prácticas y la extensibilidad.

También podría gustarte