28
1 CAPITULO I CAPITULO I 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel Cotaña Ingeniería del Software INF - 163 Mg. Sc. Miguel Cotaña M. [email protected] La Paz - Bolivia

Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

1

CAPITULO ICAPITULO I

1.1 CONCEPTOS BASICOS

Resumen preparado por Miguel Cotaña

Ingeniería del SoftwareINF - 163

Mg. Sc. Miguel Cotaña M.

[email protected]

La Paz - Bolivia

Page 2: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Los métodos ágiles se desarrollaron en

un intento por superar las debilidades

advertidas y reales en IS convencional.

El desarrollo ágil proporciona

beneficios importantes, pero es

imposible aplicarlo en todos los

proyectos, productos, personas y

situaciones.

2. DESARROLLO ÁGIL2. DESARROLLO ÁGIL

Page 3: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

El desarrollo ágil puede llamarse con

mayor precisión “ingeniería de software ligera”. Las actividades

básicas del marco de trabajo se

conservan, pero éstas se conforman

como un conjunto mínimo de tareas que

empujan al equipo de proyecto hacia la

construcción y la entrega.

Page 4: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Alistair Cockburn, argumenta que los

modelos prescriptivos de procesotienen una falla importante: olvidan las fragilidades de las personas que construyen el software de ordenador.

Asimismo, establece “como la consistencia

en la acción es una debilidad humana, las

metodologías que exigen un alto grado de

disciplina son frágiles”.

Page 5: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Un equipo ágil es un equipo rápido que

responde de manera apropiada a los

“cambios”.Para quienes quieren alcanzar la agilidad,

se define 12 principios:

1) La mayor prioridad es satisfacer al

cliente mediante la entrega temprana

del Software.

2) Bienvenidos los requisitos cambiantes,

incluso en fases tardías del desarrollo.

Qué es la agilidad?Qué es la agilidad?

Page 6: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

3) Entregar Sw en funcionamiento, con

escala de tiempo lo más corta posible.

4) La gente de negocios y los

desarrolladores deben trabajar juntos a

diario.

5) Construir proyectos alrededor de

individuos motivados.

6) Incentivar la conversación cara a cara

7) El Sw en funcionamiento es la medida

primaria de progreso.

Page 7: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

8) Los procesos ágiles promueven el

desarrollo sustentable.

9) La atención continúa a la excelencia

técnica y al buen diseño mejora la

agilidad.

10) La simplicidad es esencial

11) Las mejores arquitecturas, requisitos

y diseños emergen de equipos

autoorganizados.

12) Los equipos se vuelven más efectivos

a intervalos regulares.

Page 8: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Según Fowler. Cualquier proceso ágil de

software, se caracteriza por 3

suposiciones:

1. Resulta difícil predecir cuáles

requisitos del software persistirán y

cuáles cambiarán. También es difícil

presagiar cómo cambiarán las

prioridades del cliente mientras se

ejecuta un proyecto.

Qué es un proceso ágil ?Qué es un proceso ágil ?

Page 9: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

2. El diseño y la construcción se deben

realizar de manera conjunta, de

modo que los modelos de diseño

sean probados conforme se crean.

Difícil predecir cuanto diseño se

necesita antes de que la

construcción se utilice para probar el

diseño.

3. El análisis, diseño y la construcción

no son predecibles.

Qué es un proceso ágilQué es un proceso ágil

Page 10: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Un proceso ágil de software debe ser

adaptable en forma incremental.

Para la adaptación incremental, un

equipo ágil requiere de retroalimentación

con el cliente. Un catalizador efectivo

para la retroalimentación del cliente es

un prototipo operacional o una

porción de un sistema operacional. Por lo

tanto, debe instituirse una estrategia

incremental de desarrollo.

Page 11: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Los incrementos de software (prototipos)

deben entregarse en cortos periodos para

que la adaptación mantenga un buen ritmo

con el cambio. Este enfoque iterativo le

permite al cliente evaluar el incremento del

software de manera regular, proporcionar

la retroalimentación necesaria al equipo de

software, e influir sobre las adaptaciones

del proceso que se realizan para adecuar la

retroalimentación.

Page 12: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Existe un debate en la actualidad sobre los

beneficios y la aplicabilidad del desarrollo

ágil del software como alternativa a

procesos de IS más convencionales.

Los tradicionalistas, prefieren producir

documentación nada fluida. Y los ágiles

dan sorpresas agradables en el negocio,

en base a un conjunto de ideas (tareas de

trabajo).

Políticas del desarrollo ágil:Políticas del desarrollo ágil:

Page 13: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

El desarrollo ágil, según Cockburn, se

centra en los talentos y las habilidades de

los individuos, puesto que el proceso se

ajusta a personas y equipos específicos.

Si los miembros del equipo de software

van a manejar las características del

proceso que se aplica para construirlo,

debe existir rasgos clave entre los “ágiles”

y los demás miembros del equipo

Factores humanosFactores humanos

Page 14: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Los rasgos son los siguientes:

Competencia

Enfoque común

Colaboración

Habilidad para la toma de

decisiones

Capacidad de resolución de

problemas confusos

Confianza y respeto mutuo

Organización propia.

Page 15: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Modelos ágiles de procesoModelos ágiles de proceso

La historia de la IS está llena de decenas

de descripciones y metodologías, métodos

de modelado y notaciones, herramientas y

tecnologías obsoletas. Cada elemento

surgió con notoriedad y después lo eclipsó

algo nuevo y mejor.

Los modelos ágiles se ajustan al manifiesto

para el desarrollo de software y a los 12

principios detallados con anterioridad.

Page 16: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

La PE utiliza un enfoque OO, como su

paradigma de desarrollo preferido. La PE

abarca un conjunto de reglas y prácticas

que ocurren en el contexto de 4

actividades del marco de trabajo:

Planeación

Diseño

Codificación

Prueba

Programación extrema (PE)Programación extrema (PE)

Page 17: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Planeación

diseño

codificación

prueba

Incremento de software

velocidad calculada

del proyecto

Lanzamiento

Historias del usuario

valores

criterios de las pruebas de iteración

Plan de iteración

Diseño simple

cartas CRC

Soluciones pico

prototipos

Programación

en pareja

Integración continua

Prueba de unidad

Pruebas de aceptación

refabricación

El proceso de la PEEl proceso de la PE

Page 18: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Lo propuso Highsmith, como una técnica

para construir software y sistemas

complejos. Los apoyos filosóficos del DAS

se enfocan en la colaboración humana y la

organización propia del equipo.

Argumenta que un enfoque de desarrollo

ágil y adaptativo basado en la colaboración

es “tanto como una fuente de orden en las

complejas interacciones entre disciplina e

ingeniería”.

Desarrollo adaptativo de software (DAS)Desarrollo adaptativo de software (DAS)

Page 19: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

especulación

colaboración

aprendizaje

Incremento de software

ajuste para ciclos subsecuentes

Lanzamiento

Planeación del ciclo adaptativo

enunciado de la misión

restricciones del proyecto

requisitos básicos

Plan de lanzamiento en el tiempo

Recopilación de requisitos

JAD

especificaciones mínimas

Componentes implementados/probados

grupos de enfoque para retroalimentación

revisiones técnicas formales

Post morten

Desarrollo Adaptativo de SoftwareDesarrollo Adaptativo de Software

Page 20: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Es un modelo (propuesto por Schwaber y

Beedle) ágil de proceso. Los principios de

la melé son consistentes con el manifiesto

ágil:

Los equipos de trabajo pequeños

están organizados para “maximizar la

comunicación, minimizar los gastos

generales y maximizar el hecho de

compartir conocimiento tácito e

informal”.

MeléMelé

Page 21: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

El proceso debe adaptarse a los

cambios técnicos y de negocios “para

asegurar que se produzca el mejor

producto posible”.

El proceso produce incrementos

frecuentes de software “los cuales se

pueden inspeccionar, ajustar, probar,

documentar y construir”.

El trabajo de desarrollo y la gente que

lo realiza están divididos en “particiones

o paquetes de bajo acoplamiento”.

Page 22: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Conforme se construye el producto se

realizan pruebas y documentación

constantes.

Los procesos de melé proporcionan la

“capacidad de declarar un producto como

´realizado´ siempre que esto se requiera

(porque la competencia acaba de hacer

un lanzamiento, porque la compania

necesita dinero, porque el usuario/cliente

necesita las funciones, porque ya se está

en el momento en que se prometió…….

Page 23: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Flujo del proceso meléFlujo del proceso melé

Melé: reunión diaria de 15 minutos

Los miembros del equipo responden

a las preguntas básicas:

1.- ¿Qué hiciste desde la última reunión?

2.- ¿Tienes algún obstáculo?

3.- ¿Qué harás antes de la próxima reunión?

La nueva funcionalidad

se demuestra

al final del sprint

Retraso del producto:

Características del producto deseadas por

el cliente que han recibido prioridad

Elementos de

retraso expandidos

por el equipo

Retraso de Sprint:

Características

Asignadas al Sprint

30 días

Cada 24

horas

Page 24: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Beedle y sus colegas presentan un

análisis completo de estos patrones y

establecen:

“La melé supone la existencia del caos…..”

El patrón de proceso de la melé permite

que un equipo de desarrollo de software

trabaje de manera exitosa en un mundo

donde la eliminación de la incertidumbre

es imposible.

Page 25: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Modelado ágil (MA)Modelado ágil (MA)

En muchas situaciones los IS deben

construir sistemas grandes y críticos para

los negocios. El ámbito y la complejidad de

dichos sistemas se deben modelar de

forma que:1) Todas las circunscripciones entiendan mejor

lo que se debe lograr.

2) El problema se divida de manera efectiva

entre la gente que lo debe resolver.

3) La calidad se evalúe en cada paso conforme

el sistema se desarrolla y construye.

Page 26: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

El modelado ágil es una colección de

valores, principios y prácticas para el

modelado de software que puede

aplicarse en un proyecto de desarrollo de

software de una manera efectiva y

ligera.

Ambler, sugiere valor y humildad. Un

equipo ágil debe tener el valor para

tomar decisiones que ocasionarán el

rechazo y la refabricación de un diseño

Page 27: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Debe tener humildad de reconocer que

quienes manejan la tecnología no tienen

todas las respuestas, y que los expertos

en negocios y otros participantes de la

empresa son dignos de respeto y

consideración.

A pesar de que el MA sugiere un arreglo

amplio de principios de modelado

“esenciales” y “suplementarios”.

Page 28: Mg. Sc. Miguel Cotaña M 1.1 CONCEPTOS BASICOScotana.informatica.edu.bo › downloads › desarrollo-agil.pdf · 2018-08-27 · 1.1 CONCEPTOS BASICOS Resumen preparado por Miguel

Los responsables de que el MA sea único

son los siguientes:

Modelar con un propósito

Usar múltiples modelos

Viajar ligero

El contenido es más importante

que la representación

Conocer modelos y herramientas

Adaptarse en forma local.