Sei sulla pagina 1di 27

DESARROLLO AGIL

ING. MA. MARGARITA LABASTIDA ROLDN

CONTENIDO
Qu es un proceso agil Proceso gil Otros modelos giles de proceso Programacin extrema Desarrollo adaptativo de software Mtodo de desarrollo de sistemas dinmicos Cristal Desarrollo impulsado por las caractersticas Desarrollo esbelto de software Modelado gil El proceso unificado gil

Desarrollo gil

Los mtodos giles se desarrollaron en un intento por superar las debilidades advertidas y reales en la ingeniera del software convencional. El desarrollo gil proporciona beneficios importantes, pero es imposible aplicarlo en todos los proyectos, productos, personas y situaciones.

Qu es?
La ingeniera de software gil combina una filosofa y un conjunto de directrices de desarrollo. La filosofa busca la satisfaccin del cliente y la entrega temprana de software incremental; equipos de proyectos pequeos y con alta motivacin. Las directrices de desarrollo resaltan la entrega sobre el anlisis y el diseo y la comunicacin activa y continua entre los desarrolladores y los clientes.

Agilidad

La agilidad se ha convertido en la palabra idnea para describir un proceso de software moderno. Un equipo gil es un equipo rpido que responde de manera apropiada a los cambios.

Cambios propios del software, Cambios entre miembros del equipo Cambios de nuevas tecnologas Cambios que inciden en el producto o proyecto

Un equipo gil reconoce que el software lo desarrollan individuos que trabajan en equipo y que las aptitudes y su capacidad de colaboracin, son esenciales para el xito del proyecto. La agilidad es dinmica, con contenido especfico, ajustable al cambio de manera dinmica y orientada al crecimiento

Steven Goldman et al.

Agilidad

Es mas que una respuesta efectiva al cambio. Estimula las estructuras y actitudes de los equipos para que la comunicacin sea ms fcil. Resalta la entrega rpida de software y le resta importancia a los productos de trabajo intermedio. Adopta al cliente como una parte del equipo de desarrollo y trabaja para eliminar la actitud del tipo nosotros y ustedes. Reconoce que la planeacin tiene sus lmites en un mundo incierto y que el plan de proyecto debe ser flexible.

Agilidad
La alianza gil define 12 principios para alcanzar la agilidad: 1. Satisfacer al cliente mediante la entrega temprana y continua de software valioso. 2. La estructura de los procesos giles cambia para la ventaja competitiva del cliente. 3. Entrega con frecuencia software en funcionamiento, desde un par de semanas hasta un par de meses, con una preferencia por la escala de tiempo ms corta. 4. La gente de negocios y los desarrolladores deben trabajar juntos a diario a lo largo del proyecto.

Agilidad
5. 6. 7. 8.

9. 10.

Construir proyectos alrededor de individuos motivados. Conversacin cara a cara para transmitir informacin El software en funcionamiento es la medida primaria de progreso. Los procesos giles promueven el desarrollo sustentable. Los patrocinadores, desarrolladores y usuarios deben ser capaces de mantener un paso constante de manera definida. La atencin continua a la excelencia tcnica y al buen diseo mejora la agilidad. La simplicidad el arte de maximizar la cantidad de trabajo no realizado es esencial.

Agilidad
11. 12.

Los mejores arquitectos, los mejores requisitos y los mejores diseos emergen de equipos auto organizados. A intervalos regulares el equipo refleja la forma en que se puede volver ms efectivo; entonces su comportamiento se ajusta y adecua en concordancia.

Agilidad
La agilidad se puede aplicar en cualquier proceso de software, pero el equipo debe ser capaz de adaptar y coordinar las tareas con fluidez de un enfoque de desarrollo gil, y enfatizar en una estrategia de entrega incremental que proporcione software en funcionamiento al cliente tan rpido como sea factible para el tipo de producto y el ambiente operativo.

Proceso gil

Cualquier proceso gil de software se caracteriza de una manera que refiere tres suposiciones clave de los proyectos de software:

Es difcil predecir los requisitos de software que persistirn y cuales cambiarn. Es difcil presagiar como cambiarn las prioridades del cliente mientras se ejecuta un proyecto. El diseo y la construccin se deben realizar de manera conjunta. El anlisis, el diseo y la construccin no son predecibles (desde el punto de vista de la planeacin)

Un proceso gil debe ser adaptable.

Proceso gil

Un proceso gil de software debe adaptarse en forma incremental. Un equipo gil requiere de la retroalimentacin con el cliente para que sea factible realizar la adaptaciones apropiadas. Para una efectiva retroalimentacin se manejan prototipos operacionales o una porcin de un sistema operacional. Por lo anterior debe instituirse una estrategia incremental de desarrollo.

Proceso gil

Los incrementos de software deben entregarse en cortos periodos para que la adaptacin mantenga un buen ritmo con el cambio (imprevisibilidad). Permitiendo con lo anterior que el cliente evale el incremento del software de manera regular, proporcionando retroalimentacin necesaria al equipo de software.

Proceso gil

Se debe destacar la importancia de los factores de las personas en un desarrollo gil exitoso. Cockburn y Highsmith: El desarrollo gil se centra en los talentos y las habilidades de los individuos, puesto que el proceso se ajusta a personas y equipos especficos. Los miembros de un equipo de software deben adquirir ciertas caractersticas clave entre la gente del equipo gil y el equipo mismo.

Proceso gil: Rasgos Clave


Competencia:
Abarca un talento innato, habilidades especficas relacionadas con el software, y un conocimiento del proceso que el equipo haya elegido aplicar.

Enfoque comn:

Todos deben enfocarse en una meta: entregar al cliente un incremento de trabajo de software dentro del tiempo establecido. El equipo se debe centrar en adaptaciones continuas.

Colaboracin:

Incluye evaluar, analizar y usar informacin que se comunica al equipo de software, as como crear informacin que ayudar al cliente y a otros a entender el trabajo del equipo y construir informacin que ofrezca un valor comercial para el cliente.

Proceso gil: Rasgos Clave


Habilidad para la toma de decisiones:
Debe permitirse la libertad de controlar su propio destino, con autonoma, en cuanto a cuestiones tcnicas y del proyecto.

Capacidad de resolucin de problemas confusos:

El equipo se enfrentar a ambigedades de forma continua debido al cambio, sin embargo las lecciones aprendidas en cualquier actividad benefician al equipo en fases posteriores al proyecto.

Confianza y respeto mutuo:

Debe ser un equipo unido donde muestre confianza y respeto necesarios de forma que el todo sea mayor que la suma de las partes.

Proceso gil: Rasgos Clave

Organizacin propia: implica tres factores


El equipo gil se organiza a s mismo para el trabajo que debe hacerse El equipo organiza el proceso que mejor se ajusta a su ambiente local El equipo organiza el programa de trabajo con el que se alcance de mejor manera la entrega del incremento del software. El equipo sirve como su propia gestora: El equipo selecciona la cantidad de trabajo que cree que es capaz de hacer dentro de la iteracin y el equipo se compromete con el trabajo

Modelos giles de Proceso


Programacin Externa Desarrollo adaptativo de software (DAS) Mtodo de desarrollo de sistemas dinmicos (MDSD) Mel Cristal Desarrollo conducido por caractersticas (DCC) Modelo gil (MA)

Programacin Externa (PE)


La PE utiliza un enfoque orientado a objetos como su paradigma de desarrollo preferido. La PE abarca un conjunto de reglas y prcticas que ocurren en el contexto de cuatro actividades del marco de trabajo:

Planeacin Diseo Codificacin Pruebas

Programacin Externa (PE)

Programacin Externa (PE)

Planeacin: La actividad de planeacin comienza creando una serie de historias que describen las caractersticas y la funcionalidad requeridas para el software. Cada historia la escribe el cliente, de igual forma le asigna un valor. Los miembros del equipo evalan cada historia y le asignan un costo, medido en semanas de desarrollo. Los clientes y el equipo trabajan juntos para decidir como agrupar las historias para que el equipo de la PE las desarrolle.

Programacin Externa (PE)


El equipo ordena las historias que se desarrollarn de tres maneras: 1) todas las historias se implementaran de forma inmediata; 2) las historias con mayor valor se cambiaran al principio; 3) las historias mas riesgosas se movern dentro del programa. Una vez establecidas las historias se calcula la velocidad del proyecto que se utiliza para: 1) estimar fechas de entrega y el programa para lanzamientos subsecuentes y 2) determinar si se hizo un compromiso excesivo en alguna historia, de ser as el contenido de los lanzamientos se modifica, al igual que las fechas de entrega.

Programacin Externa (PE)

Diseo: sigue el principio MS (mantenimiento simple). El diseo ofrece una gua de implementacin para una historia , se utilizan tarjetas CRC (colaborador responsabilidad clase) que identifican y organizan las clases orientadas a objetos relevantes para el incremento del software. Si se encuentra un problema como parte del diseo de la historia, la PE recomienda la creacin de un prototipo operacional, llamado solucin pico, el propsito es reducir el riesgo cuando comiencen la implementacin

Programacin Externa (PE)


Adems la PE apoya la refabricacin, cuyo propsito es controlar modificaciones al sugerir pequeos cambios del diseo que pueden mejorar de manera radical el diseo. La refabricacin ocurre de manera continua a medida que se construye el sistema; proporcionando un gua sobre como mejorar el diseo.

Programacin Externa (PE)

Codificacin: la PE recomienda antes de la codificacin desarrollar una serie de pruebas de unidad que ejerciten cada una de las historias que se van a incluir en el lanzamiento actual. Una vez creada la prueba de unidad, el desarrollador se centra en la implementacin para pasar la prueba de unidad y al concluir proporcionar una retroalimentacin instantnea. Un concepto clave es la programacin en pareja, que recomienda que dos personas trabajen en una estacin de trabajo para crear el cdigo de una historia.

Programacin Externa (PE)


Permitiendo por ejemplo que una persona piense en los detalles de codificacin de una parte del diseo, mientras que la otra se asegura de que sigan los estndares de codificacin y que el cdigo que se genera coincida con el diseo ms amplio de la historia. Cuando los programadores completan su trabajo el cdigo que desarrollaron se integra con el trabajo de otros; en otros casos la pareja es la responsable de la integracin. Esta integracin continua ayuda a evitar problemas de compatibilidad e interfaz y proporciona un ambiente de prueba de humo.

Programacin Externa (PE)

Pruebas: las pruebas de unidad que se crean deben implementarse con un marco de trabajo que permita automatizarlas (pueden ejecutarse de manera fcil y repetida). Cuando las unidades individuales se organizan en un conjunto universal de pruebas. Las pruebas de integracin y validacin del sistema se realizan diario, indicando un progreso continuo. Las pruebas de aceptacin de la PE, tambin llamadas pruebas del cliente, las especifica el cliente y se enfocan en las caractersticas generales y la funcionalidad del sistema, elementos visibles y revisables por el cliente.

Potrebbero piacerti anche