Cap 2 - Ingeniería de software ágil.pdf

Embed Size (px)

DESCRIPTION

Ingeniería de software ágil

Citation preview

  • Ingeniera de software gil

    Qu es? La ingeniera de software gil combina una filosofa con un conjunto de lineamientos de

    desarrollo. La filosofa pone el nfasis en: la satisfaccin del cliente y en la entrega rpida de

    software incremental, los equipos pequeos y muy motivados para efectuar el proyecto, los

    mtodos informales, los productos del trabajo con mnima ingeniera de software y la sencillez

    general en el desarrollo. Los lineamientos de desarrollo enfatizan la entrega sobre el anlisis y el

    diseo (aunque estas actividades no se desalientan) y la comunicacin activa y continua entre

    desarrolladores y clientes.

    Quin lo hace? Los ingenieros de software y otros participantes en el proyecto (gerentes,

    clientes, usuarios finales, etc.) trabajan juntos en un proyecto gil, formando un equipo con

    organizacin propia y que controla su propio destino. Un equipo gil facilita la comunicacin y

    colaboracin entre aquellos a quienes sirve.

    Por qu es importante? El ambiente moderno de negocios que genera sistemas basados en

    computadora y productos de software evoluciona rpida y constantemente. La ingeniera de

    software gil representa una alternativa razonable a la ingeniera de software convencional para

    ciertas clases de software y en algunos tipos de proyectos. Asimismo, se ha demostrado que

    concluye con rapidez sistemas exitosos.

    Cules son los pasos? Un nombre ms apropiado para el desarrollo gil sera ingeniera de

    software ligero. Permanecen las actividades estructurales fundamentales: comunicacin,

    planeacin, modelado, construccin y despliegue. Pero se transforman en un conjunto mnimo de

    tareas que lleva al equipo del proyecto hacia la construccin y entrega (algunas personas diran

    que esto se hace a costa del anlisis del problema y del diseo de la solucin).

    Cul es el producto final? Tanto el cliente como el ingeniero de software tienen la misma

    perspectiva: el nico producto del trabajo realmente importante es un incremento de software

    operativo que se entrega al cliente exactamente en la fecha acordada. Cmo me aseguro de que

    lo hice bien? El trabajo estar bien hecho si el equipo gil concuerda en que el proceso funciona y

    en que produce incrementos de software utilizables que satisfagan al cliente.

    QU ES UN PROCESO GIL? Se refiere a mtodos de ingeniera del software basados en el

    desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la

    colaboracin de grupos auto organizados y multidisciplinarios.

    Valores XP Beck [Bec04a] define un conjunto de cinco valores que establecen el fundamento para

    todo trabajo realizado como parte de XP: comunicacin, simplicidad, retroalimentacin, valenta y

    respeto.

    La programacin extrema usa un enfoque orientado a objetos como paradigma preferido de

    desarrollo, y engloba un conjunto de reglas y prcticas que ocurren en el contexto de cuatro

    actividades estructurales: planeacin, diseo, codificacin y pruebas.

  • IXP es la evolucin orgnica de XP. Est imbuida del espritu minimalista, centrado en el cliente y

    orientado a las pruebas que tiene XP. IXP difiere sobre todo de la XP original en su mayor inclusin

    de la gerencia, el papel ms amplio de los clientes y en sus prcticas tcnicas actualizada

    IXP aplica las siguientes practicas: Evaluacin de la factibilidad, Comunidad del proyecto,

    Calificacin del proyecto, Administracin orientada a pruebas, Retrospectivas, Aprendizaje

    continuo.

    Modelos Agiles:

    Desarrollo adaptativo de software (DAS). Tiene un enfoque de desarrollo adaptativo basado en la

    colaboracin es tanto una fuente de orden en nuestras complejas interacciones, como de

    disciplina e ingeniera. l define un ciclo de vida del que incorpora tres fases: especulacin,

    colaboracin y aprendizaje.

    Scrum. Se utilizan para guiar actividades de desarrollo dentro de un proceso de anlisis que

    incorpora las siguientes actividades estructurales: requerimientos, anlisis, diseo, evolucin y

    entrega.

    Mtodo de desarrollo de sistemas dinmicos (MDSD). El MDSD es un proceso iterativo de

    software en el que cada iteracin sigue la regla de 80 por ciento. Es decir, se requiere slo

    suficiente trabajo para cada incremento con objeto de facilitar el paso al siguiente. El consorcio ha

    definido un modelo de proceso gil, llamado ciclo de vida MDSD, que define tres ciclos iterativos

    distintos, precedidos de dos actividades adicionales al ciclo de vida:

    Estudio de factibilidad, Estudio del negocio, Iteracin del modelo funcional, Diseo e iteracin de

    la construccin, Implementacin.

    Cristal. La familia Cristal en realidad es un conjunto de ejemplos de procesos giles que han

    demostrado ser efectivos para diferentes tipos de proyectos. El objetivo es permitir que equipos

    giles seleccionen al miembro de la familia Cristal ms apropiado para su proyecto y ambiente.

    Desarrollo impulsado por las caractersticas (DIC). 1) pone el nfasis en la colaboracin entre los

    integrantes de un equipo DIC; 2) administra la complejidad de los problemas y del proyecto con el

    uso de la descomposicin basada en las caractersticas, seguida de la integracin de incrementos

    de software, y 3) comunica los detalles tcnicos en forma verbal, grfica y con medios basados en

    texto

    Desarrollo esbelto de software (DES). Los principios de esbeltez que inspiran al proceso DES se

    resumen como sigue: eliminar el desperdicio, generar calidad, crear conocimiento, aplazar el

    compromiso, entregar rpido, respetar a las personas y optimizar al todo

    Modelado gil (MA). 1) todos los actores entiendan mejor cules son las necesidades que deben

    satisfacerse, 2) el problema pueda dividirse con eficacia entre las personas que deben resolverlo, y

    3) se asegure la calidad a medida que se hace la ingeniera y se construye el sistema

  • Proceso unificado gil (PUA). Adopta una filosofa en serie para lo grande e iterativa para lo

    pequeo. Cada iteracin del PUA aborda las actividades siguientes: Modelado, Implementacin,

    Pruebas, Despliegue, Configuracin y administracin del proyecto, Administracin del ambiente.