viernes 6 de noviembre de 2009

Demostrar valor iterativamente

(Imagen: El Greco - Visión del Apocalipsis)

Este principio explica los beneficios del desarrollo iterativo de software. Un proceso iterativo hace posible acomodarse al cambio, obtener retroalimentación y adaptarla al proyecto, reducir riesgos de manera temprana y ajustar el proceso dinámicamente.

Beneficios
  • Reducción temprana del riesgo
  • Mayor capacidad de predicción a lo largo del proyecto.
  • Confianza entre los stakeholders
Patrón
  1. Permitir retroalimentación al incrementar el valor para el usuario en cada iteración
  2. Adaptar los planes usando un proceso iterativo
  3. Aceptar el cambio y administrarlo
  4. Atacar los mayores riesgos técnicos, de negocio y de programación tempranamente.
Anti-patrones
  • Planear todo el ciclo de vida a detalle, controlar las variaciones respecto al plan (esto puede contribuir al fracaso del proyecto)
  • Evaluar el estado en los primeros dos tercios del proyecto confiando en la revisión de especificaciones, en vez de evaluar el estatus de resultados de pruebas y demostraciones de software funcionando.
Basado en el navegador de proceso del IBM Rational Method Composer

Colaboración entre equipos

(Imagen: El Greco - La Sagrada Trinidad)

Este principio resalta la importancia de promover uno óptima comunicación entre miembros del proyecto. Esto se logra a través de una organización del equipo apropiada y configurando entornos de colaboración efectivos.

Beneficios
  • Productividad del equipo
  • Mejor acoplamiento entre las necesidades del negocio y el desarrollo y operaciones de los sistemas software.
Patrón:
  1. Motivar a la gente para que realice su mejor esfuerzo
  2. Crear equipos auto-administrados
  3. Promover la colaboración horizontal entre funciones (como analistas, desarrolladores, testers)
  4. Proveer entornos de colaboración efectivos.
  5. Integrar a los equipos de negocios, software y de operación.
Anti-patrones
  • Explotar a los desarrolladores, haciéndolos trabajar largas jornadas, incluyendo fines de semana
  • Tener gente altamente especializada equipada con las mejores herramientas para realizar su trabajo, con colaboración limitada entre miembros del equipo e integración limitada entre sus herramientas. Se asumo que si cada uno realiza bien su trabajo el resultado será bueno.
Basado en el navegador de proceso del IBM Rational Method Composer

Disciplina: Requerimientos

(Imagen: El Greco - Vista de Toledo)

Propósito
  • Establecer y mantener acuerdos entre los clientes y otros stakeholders sobre lo que el sistema debe hacer
  • Proveer a los desarrolladores del sistema de un mejor entendimiento de los requerimientos del sistema.
  • Definir los límites del sistema
  • Proveer las bases para planificar el contenido técnico de cada iteración
  • Proveer las bases para estimar el costo y el tiempo del desarrollo del sistema.
  • Desarrollar una interfaz de usuario para el sistema, centrándose en las necesidades y objetivos de los usuarios.
Basado en el material del curso PRJ270: Essentials of the Rational Unified Process V7.0

Disciplina: Modelamiento del Negocio

(Imagen: Diapostitivas del curso de IBM)

Propósito:
  • Comprender los problemas de la organización objetivo e identificar oportunidades de mejora.
  • Asegurarse que los clientes y los usuarios finales tengan una comprensión similar de la organización objetivo.
  • Obtener requerimientos del sistema para dar soporte a la organización objetivo.
  • Comprender la estructura y la dinámica de la organización en donde se va a desplegar el sistema.

Esta disciplina usa un enfoque similar al de desarrollo de sistemas.

El modelamiento de negocio sirve de entrada a la disciplina de Requerimientos, dado que los modelos de caso de uso del negocio ayudan a comprender los requerimientos del sistema e identificar casos de uso del sistema. Sirve también de entrada a la disciplina de análisis y diseño, ya que las entidades de negocio del modelo de análisis del negocio ayudan a identificar clases entidad del modelo de análisis

Basado en el material del curso PRJ270: Essentials of the Rational Unified Process V7.0

Balancear las prioridades de stakeholders

(Imagen: El Greco - El expolio)

Este principio hace énfasis en la importancia de balancear las necesidades de los stakeholders y del negocio, así como balancear el desarrollo a medida con la reutilización de activos para satisfacer estas necesidades.

Beneficios
  • Alinear las aplicaciones con las necesidades del usuario y del negocio
  • Reducir el desarrollo a medida
  • Optimizar el valor de negocio
Patrón
  • Definir, comprender y priorizar las necesidades del negocio y de los usuarios.
  • Priorizar los proyectos y requerimientos y relacionarlos con capacidades de software
  • Comprender que activos podemos aprovechar
  • Balancear la reutilización de activos con las necesidades del negocios.
Anti-patrones
  • Negociar cualquier cambio en los requerimientos, donde cada cambio puede incrementar el costo y duración del proyecto.
  • Desarrollar principalmente desarrollo a medida
  • Realizar la arquitectura del sistema para satisfacer solamente las necesidades de los stakeholders más importantes.
Basado en el navegador de proceso del IBM Rational Method Composer

Rol

(Imagen: Diapostitivas del curso de IBM)

Un rol define el comportamiento y responsabilidades de un individuo, o de un grupo de individuos trabajando como equipo. Dentro de un equipo, cada miembro puede desempeñar más de un rol, y un rol puede ser desempeñado por más de un miembro.

Los roles tienen un grupo cohesivo de actividades que realizan. Estas actividades están bastante relacionadas y acopladas funcionalmente. Las actividades son cohesivas en el sentido que se desarrollan mejor si son completadas por una sóla persona. Sin embargo, es posible que un rol sea desempeñado por más de un integrante del equipo, en cuyo caso ese grupo de personas sería responsable de las actividades y artefactos relacionados. También es posible que un miembro del equipo se desenvuelva en más de un rol.

Al desarrollar el plan de proyecto, el jefe de proyecto asigna roles a los individuos de acuerdo a sus habilidades. El jefe de proyecto asigna a cada individuo del proyecto uno o más roles. La asociación de individuos a roles es dinámica y varía en el tiempo.

Basado en el material del curso PRJ270: Essentials of the Rational Unified Process V7.0

Son pocos, pero son

Bienvenidos, visitantes


Visitas al Blog, cortesía de BlogPatrol

A su disposición