Agile Venture - Proyecto de mejora de los procesos de desarrollo del software.

Post on 03-Jul-2015

221 views 5 download

description

Agile Venture - Presentación de un proyecto de mejora de procesos basado en la Aplicación de metodologías ágiles y la automatización del ciclo de vida del software.

Transcript of Agile Venture - Proyecto de mejora de los procesos de desarrollo del software.

Agile Venture

Propuesta sobre cómo evolucionar y mejorar

los procesos de desarrollo

del software

Juan José del Campo Bécares

Definición del proyecto poco precisa.

El alcance y objetivos del proyecto podrían variar una vez iniciado el proyecto.

… a qué nos recuerda ésto?

Especificaciones del cliente: “ … Control de versiones.

Entorno de integración continua.

Metodologías ágiles, ver como incorporar en nuestra organización.

… … Es lo que tenemos que decidir, el viernes te paso un correo con las opciones que estamos planteando ...”

AV: El Proyecto

Juan José del Campo Bécares

AV: Enfoque…

Obj: Ayudar a decidir.

Obj: Refinar las opciones.

Demostración para transmitir conocimiento .

Conseguir el “WOW!”.

Presentación y Preparación cortas. Priorizar.

Pablo está malito…

Divertirme. Éxito: Un segundo encuentro.

Enfoque AV

Juan José del Campo Bécares

Metodologías Ágiles

Obj: Ayudar a decidir.

Obj: Refinar las opciones.

Demostración para transmitir conocimiento .

Conseguir el “WOW!”.

Presentación y Preparación cortas. Priorizar.

Pablo está malito…

Divertirme. Éxito: Un segundo encuentro.

AV: Enfoque Ágil

Prioridad: satisfacer al cliente.

Aceptamos que los requisitos cambien.

Entregamos software funcional frecuentemente. Medida de progreso.

Excelencia técnica. Mejora continua.

La simplicidad, maximizar el valor del trabajo no realizado.

Desarrollo sostenible en el tiempo.

Individuos motivados. Comunicación personal.

Enfoque AV

Juan José del Campo Bécares

Metodologías ágiles (Frameworks)

SCRUM

DSDM

KANBAN

DevOps

Nuevos Desarrollos. Control Visual 5-10 personas

SCRUM + Preproyecto + Postproyecto

Mantenimiento, Operaciones Reducir tareas “En proceso”

CI, CD, CM, Automatización, Configuration as

Software

FDD

Lean S D

XP Cristal

AUP

Juan José del Campo Bécares

Metodologías ágiles: SCRUM

Sencilla: Corto alcance, estructura de equipo simple, escasa documentación...

Concreta: Pocos principios claros y fáciles de seguir.

Visible: Control visual: “Visual Radiators”.

Efectiva: Resultados desde el primer mes de aplicación.

Juan José del Campo Bécares

SCRUM: Implantación

• Big Bang!!!!

• Progresiva Horizontalmente.

• Progresiva Verticalmente. Iterativa.

Estrategia

• Nuevo equipo.

• Nuevos desarrollos, equipo experto y motivado.

• Necesidad de alineamiento con producto.

• Proyecto con alta incertumbre.

• Necesidad de innovación en sus procesos.

Candidato

Juan José del Campo Bécares

SCRUM Tradicional

SCRUM: Cambio Organización

• Microgestión, baja eficiencia. • Falta de compromiso. • Falta de motivación. • Desarrollo no accede a producto. • Calidad tarde.

• Seguimiento visual. • Equipo autogestionado,

motivación y compromiso. • Desarrollo accede a producto. • Calidad desde incepción. • Proceso: Scrum Master Juan José del Campo Bécares

Integración Continua: Fases

• Continuous Delivering

• Deploy Automation

• Acceptance Tests (BDD)

• Integration Tests

• Code Review

• Metrics

• Build + UT (TDD)

• Fase 3: Escalabilidad

• Fase 2: Soporte a Produto

• Fase 1: • Calidad del código

Juan José del Campo Bécares

Integración Continua: Herramientas

•Tuenti – “Flow”, CloudBees, Atlassian *

•Chef, Puppet, Ansible, Vagrant

•jBehave, Cucumber, Lettuce

•TestNG, SOAPUI, Mocha, Selenium WebDriver

•Gerrit, Reviewboard

•Cobertura, Checkstyle,PMD, FindBugs, CPD…

•Jenkins (CIAAS), Nexus, JUNIT, Mockito,

• Continuous Delivering

• Deploy Automation

• Acceptance Tests (BDD)

• Integration Tests

• Code Review

• Metrics

• Build + UT (TDD) Juan José del Campo Bécares

Integración Continua: Fase 1

• Continuous Delivering

• Deploy Automation

• Acceptance Tests (BDD)

• Integration Tests

• Code Review

• Metrics

• Build + UT (TDD)

Database

Database

Juan José del Campo Bécares

Integración Continua: Fase 2

• Continuous Delivering

• Deploy Automation

• Acceptance Tests (BDD)

• Integration Tests

• Code Review

• Metrics

• Build + UT (TDD) Juan José del Campo Bécares

Integración Continua: Fase 3

• Continuous Delivering

• Deploy Automation

• Acceptance Tests (BDD)

• Integration Tests

• Code Review

• Metrics

• Build + UT (TDD) Juan José del Campo Bécares

Control de Versiones: Alternativas

Distribución

Riqueza

Juan José del Campo Bécares

Historial: cada commit es un snapshot, no un incremental

Trabajo offline. Repositorio local y remoto.

Flexibilidad de las Ramas: colaboración, REFACTORING

Rapidez de descarga

Control de Versiones: GIT

Juan José del Campo Bécares