agiles y furiosos un panorama del desarrollo ágil en aplicaciones android

49
ÁGILES Y FURIOSOS Un panorama del desarrollo ágil en aplicaciones Android

Upload: marco-avendano

Post on 13-Apr-2017

696 views

Category:

Mobile


1 download

TRANSCRIPT

Page 1: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

ÁGILES Y FURIOSOSUn panorama del desarrollo ágil en aplicaciones Android

Page 2: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

HOLA #rsgpe2016

Marco AvendañoCSM/CSD/CSPODesarrollador Web y Mobile@marcoviaweb

Page 3: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

• Mobile• Desarrollo agil• Practicas agiles

Page 4: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

MOBILE,MOBILE EVERYWHERE

Page 5: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Parte de nuestra vida

Page 6: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 7: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 8: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 9: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 10: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 11: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 12: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 13: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

DESARROLLOAGIL

Page 14: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Agilidad significa ser capaz de moverse con rapidez y facilidad.

Page 15: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

“La Agilidad es una mentalidad definida por valores, guiada por principios y manifestada a través de muchas prácticas diferentes”.

Page 16: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Agilidad

Ser HacerM

enta

lidad

Valo

res

Prin

cipi

os

Prác

tica

s

Page 17: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Beneficios de las metodologías ágiles en el proceso de desarrollo de software

• Acelera la entrega de software ante las necesidades cambiantes.

• Logra que el proceso sea flexible para adaptarse a las tecnologías emergentes.

Page 18: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 19: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

PRACTICAS AGILESEN EL DESARROLLO MOVIL

Page 20: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Las aplicaciones móviles tienen algunos requisitos adicionales que son menos comunes que el software tradicional, incluyendo

• Dispositivo en movimiento.

• Tamaño de la pantalla.

• Riesgos de seguridad.• Compatibilidad

multiplataforma.• Complejidad de

pruebas.• Consumo de energía.• Proceso de

desarrollo.

Page 21: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Características del proceso de desarrollo móvil

• La industria del software móvil se centra más en el lanzamiento que en el proceso de desarrollo.

• Las aplicaciones están siempre cambiando y evolucionando.

• En la mayoría de los casos, los miembros del equipo comparten roles.

Page 22: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

¿Se puede encarar de mejor manera esta situación?

Page 23: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

SI… empleando prácticas

agiles

Page 24: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Las prácticas agiles mejoran el desarrollo de aplicaciones para dispositivos móviles

• Experimentación y adaptación natural.

• Capacidad de respuesta a los cambios de requerimientos y tecnología.

• Extensión de uso de sprints.

• Entrega escalonada del conjuntos de características.

Page 25: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

¿.. y por donde iniciar?

Page 26: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Agile DevOps

Agile Development Continuous Testing

Continuous Delivery Continuous Integration

Page 27: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Agile development

Page 28: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Mobile Process Description Techniques

Mobile D An agile approach for Mobile Application Development XP, Crystal, RUP

RaPiD 7 Rapid Production of Documentation – 7 steps AM

Hybrid Methodology Desing

Designing an Agile Methodology for Mobile Software Development - A Hybrid Method Engineering Approach

ASD, NDP

MASAM Development Process of Mobile Application SW Based on Agile Methodology XP, RUP, SPEM

SLeSSA Scrum and Lean Six Sigma Integration Approach for the Development of Software Customization for Mobile Phones

Scrum, Lean Six Sigma

Page 29: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

También se debería considerar

• Definición de la plataforma.

• Estrategia de monetización.

• Análisis de la competencia.

Page 30: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Continuous Testing

Page 31: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

¿Por qué hacer pruebas?

• Identificar errores de manera temprana.

• Realizar cambios con confianza.

• Construir pruebas de regresión.

• Extender la vida útil del código fuente.

Page 32: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Cuadrante de pruebas

Page 33: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Patrón del cono de helado

Page 34: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Pirámide de pruebas agiles

Page 35: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Otras alternativas

Page 36: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Pruebas Automatizadas • Unit Tests• E2E Tests (UI Tests)

Page 37: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Pruebas Unitarias • JUnit

Page 38: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Assertion Description

assertEquals Test that two values are the same

assertTrue Test Boolean condition is true

assertFalse Test Boolean condition is false

assertNull Check that the object is null

assertNotNull Check that the object is not null

assertSame Test that both values refer to the same object reference

assertNotSame Test that both values do not refer to the same object reference

assertThat Test that the first value (object) matches the second value(or matcher)

fail Test should always fail

Page 39: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Mejorando laspruebas unitarias

• Hamcrest: mejorar los assertions.

• JaCoCo: medir la cobertura del codigo Junit.

• Mockito: mantenerse enfocado en el código.

Page 40: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Pruebas GUI

• Android JUnit3 framework.

• UIAutomator.• Robotium.• Cucumber-type

Android framework such as Calabash.

• Google’s Espresso.

Page 41: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

ESPRESSO

Page 42: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 43: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Continuous Integration

Page 44: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Herramientas• Travis.• TeamCity.• Bamboo.• Jenkins.

Page 45: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Page 46: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Continuous Delivery

Page 47: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Google Play Developer Publishing API

• Subir nuevas versiones.

• Release de Apps mediante tracks.

• Creación y modificación de Google Play Store listing.

Page 48: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

Conclusiones

• Las App tienen características particulares.

• Las practicas agiles contribuyen al desarrollo móvil.

• Existen diversos de recursos que se pueden usar.

Page 49: Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android

GRACIAS!@[email protected]