métodos Ágiles de desarrollo de software.3

15
METODOLOGÍAS

Upload: chris-morales

Post on 17-Jan-2017

87 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Métodos Ágiles de Desarrollo de Software.3

METODOLOGÍAS

Page 2: Métodos Ágiles de Desarrollo de Software.3

• LA ELECCIÓN DE UNA METODOLOGÍA ES CON LO QUE SE COMENZARA, YA QUE DE ELLA DEPENDE SI SE CONCLUYE DE MANERA EFICIENTE EL PROYECTO. PARA ELLO SE COMPARARAN Y SE ELIGIERA UNA DE ELLAS, TOMANDO EN CUENTA TODAS SUS CARACTERÍSTICAS.

Page 3: Métodos Ágiles de Desarrollo de Software.3

METODOLOGÍAS TRADICIONALES

• RIGIDEZ ANTE LOS CAMBIOS, DE MANERA LENTOS O MODERADA

• LOS CLIENTES INTERACTÚAN CON EL EQUIPO DE DESARROLLO MEDIANTE REUNIONES

• GRUPOS DE GRAN TAMAÑO Y VARIAS VECES DISTRIBUIDOS EN DIFERENTES SITIOS

• DEPENDENCIA DE LA ARQUITECTURA DE SOFTWARE MEDIANTE MODELOS

• POCO FEEDBACK LO QUE EXTIENDE EL TIEMPO DE ENTREGA

• MÍNIMOS ROLES• BASADAS EN NORMAS DE ESTÁNDARES DE

DESARROLLO• PROCESOS MUY CONTROLADOS POR POLÍTICAS Y

NORMAS• SEGUIMIENTO ESTRICTO DEL PLAN INICIAL DE

DESARROLLO

METODOLOGÍAS AGILES

• FLEXIBILIDAD ANTE LOS CAMBIOS DEL PROYECTO DE FORMA MODERADA A RÁPIDA

• LOS CLIENTES HACEN PARTE DEL EQUIPO DE DESARROLLO

• GRUPOS PEQUEÑOS (PROMEDIO 10 PARTICIPANTES IN SITU) EN EL MISMO LUGAR.

• MENOR DEPENDENCIA DE LA ARQUITECTURA DE SOFTWARE

• CONTINUO FEEDBACK ACORTANDO EL TIEMPO DE ENTREGA

• DIVERSIDAD DE ROLES• BASADAS EN HEURÍSTICAS A PARTIR DE PRÁCTICAS DE

PRODUCCIÓN DE CÓDIGO• PROCESOS MENOS CONTROLADOS, POCAS POLÍTICAS Y

NORMAS• CAPACIDAD DE RESPUESTA ANTE LOS CAMBIOS

Page 4: Métodos Ágiles de Desarrollo de Software.3

¿QUÉ TIPO DE METODOLOGÍA USAR?

Page 5: Métodos Ágiles de Desarrollo de Software.3

TODO DEPENDE DEL TIPO DE PROYECTO YA QUE CADA UNA PRESENTA SUS VENTAJAS Y DESVENTAJAS. EN ESTE CASO ES PERTINENTE UTILIZAR LAS METODOLOGÍAS AGILES. PRINCIPALMENTE PORQUE LAS METODOLOGÍAS TRADICIONALES SON:PESADOS, TIENEN LENTITUD DE REACCIÓN, EXCESO DE DOCUMENTACIÓN, EN DEFINITIVA, FALTA DE AGILIDAD DE LOS MODELOS DE DESARROLLO EXISTENTE.

LAS METODOLOGÍAS EXISTENTES NO CUMPLIERON LAS EXPECTATIVAS PLANTEADAS INICIALMENTE.

EXPLOSIÓN DE LA RED Y LAS APLICACIONES WEB.

MOVIMIENTO OPEN SOURCE.

Page 6: Métodos Ágiles de Desarrollo de Software.3

PERO CLARO, AUNQUE LAS VENTAJAS SUENEN BIEN, LAS METODOLOGÍAS AGILES TAMBIÉN PRESENTAN INCONVENIENTES QUE HAY QUE ASUMIR CUANDO SE DECIDE TRABAJAR CON ELLAS. ESTOS SON:FALTA DE DOCUMENTACIÓN DEL DISEÑO.• PROBLEMAS DERIVADOS DE LA COMUNICACIÓN ORAL. • FUERTE DEPENDENCIA DE LAS PERSONAS.• FALTA DE REUSABILIDAD DERIVADA DE LA FALTA DE DOCUMENTACIÓN• RESTRICCIONES EN CUANTO A TAMAÑO DE LOS PROYECTOS• PROBLEMAS DERIVADOS DEL FRACASO DE LOS PROYECTOS ÁGILES. SI

UN PROYECTO ÁGIL FRACASA NO HAY DOCUMENTACIÓN O HAY MUY POCA; LO MISMO OCURRE CON EL DISEÑO. LA COMPRENSIÓN DEL SISTEMA SE QUEDA EN LAS MENTES DE LOS DESARROLLADORES.

Page 7: Métodos Ágiles de Desarrollo de Software.3

MÉTODOS AGILES

Page 8: Métodos Ágiles de Desarrollo de Software.3

• LAS METODOLOGÍAS ÁGILES SON MÉTODOS DE DESARROLLO DE SOFTWARE EN LOS QUE LAS NECESIDADES Y SOLUCIONES EVOLUCIONAN A TRAVÉS DE UNA COLABORACIÓN ESTRECHA ENTRE EQUIPOS MULTIDISCIPLINARIOS SE BASAN EN EL DESARROLLO ITERATIVO E INCREMENTAL, DONDE LOS REQUISITOS Y SOLUCIONES EVOLUCIONAN CON EL TIEMPO SEGÚN LA NECESIDAD DEL PROYECTO.

Page 9: Métodos Ágiles de Desarrollo de Software.3

BÁSICAMENTE:ENTREGAR RÁPIDAMENTE, CAMBIAR RÁPIDAMENTE, CAMBIAR A MENUDO.

Page 10: Métodos Ágiles de Desarrollo de Software.3

PERO… ¿EN QUE SE BASAN LAS METODOLOGÍAS AGILES?

Page 11: Métodos Ágiles de Desarrollo de Software.3

SE BASAN EN 4 PRINCIPIOS DEL MANIFIESTO AGIL LOS CUALES SON:1. VALOR MÁS A LOS INDIVIDUOS Y SU INTERACCIÓN QUE A LOS PROCESOS Y LAS HERRAMIENTAS. 2. VALOR MÁS EL SOFTWARE QUE FUNCIONA QUE LA DOCUMENTACIÓN EXHAUSTIVA. 3. VALOR MÁS LA COLABORACIÓN CON EL CLIENTE QUE LA NEGOCIACIÓN CONTRACTUAL. 4. VALOR MÁS LA RESPUESTA AL CAMBIO QUE EL SEGUIMIENTO DE UN PLAN

Page 12: Métodos Ágiles de Desarrollo de Software.3

EJEMPLOS DE METODOLOGÍAS

AGILES

Page 13: Métodos Ágiles de Desarrollo de Software.3

PROGRAMACIÓN EXTREMA

• ES UNO DE LOS EJEMPLOS MÁS EXITOSOS DE METODOLOGÍA ÁGIL. XP EXTREMEPROGRAMMING

• ES UNA METODOLOGÍA ÁGIL CENTRADA EN POTENCIAR LAS RELACIONES INTERPERSONALES COMO CLAVE PARA EL ÉXITO EN DESARROLLO DE SOFTWARE, PROMOVIENDO EL TRABAJO EN EQUIPO, PREOCUPÁNDOSE POR EL APRENDIZAJE DE LOS DESARROLLADORES, Y PROPICIANDO UN BUEN CLIMA DE TRABAJO.

Page 14: Métodos Ágiles de Desarrollo de Software.3

SCRUM• ESTÁ ESPECIALMENTE INDICADA PARA PROYECTOS

CON UN RÁPIDO CAMBIO DE REQUISITOS. SUS PRINCIPALES CARACTERÍSTICAS SE PUEDEN RESUMIR EN DOS. MEDIANTE ITERACIONES, DENOMINADAS SPRINTS, CON UNA DURACIÓN DE 30 DÍAS. EL RESULTADO DE CADA SPRINT ES UN INCREMENTO EJECUTABLE QUE SE MUESTRA AL CLIENTE. LA SEGUNDA CARACTERÍSTICA IMPORTANTE SON LAS REUNIONES A LO LARGO PROYECTO. UNA REUNIÓN DIARIA DE 15 MINUTOS DEL EQUIPO DE DESARROLLO PARA COORDINACIÓN E INTEGRACIÓN.

Page 15: Métodos Ágiles de Desarrollo de Software.3

CRYSTAL

• TRATA DE UN CONJUNTO DE METODOLOGÍAS PARA EL DESARROLLO DE SOFTWARE CARACTERIZADAS POR ESTAR CENTRADAS EN LAS PERSONAS QUE COMPONEN EL EQUIPO (DE ELLAS DEPENDE EL ÉXITO DEL PROYECTO) Y LA REDUCCIÓN AL MÁXIMO DEL NÚMERO DE ARTEFACTOS PRODUCIDOS.