50
Madrid Management 3.0

Desarrollando software open source de calidad

Embed Size (px)

Citation preview

Madrid Management 3.0

Desarrollando SoftwareOpenSource de calidad:

el día a día de un ingeniero en Liferay

Esther SanzManuel de la Peña

Qué es LIFERAY?

Crecimiento

continuo

ColaboraciónCulture

EmpresaLos Angeles, 2004

17 offices, 2014

Desde 2000

Open SourceSoftware

Project

Aplicación JEE. Embebe un

contenedor OSGi

Liferay Portal 7.0JSR-168, JSR-286,

JSR-362y aplicaciones/

microservicios OSGi

Liferay PluginsJDK7JVM

PostgreSQL, MySQL, Oracle, MS SQL Server, Sybase,

DB2

Base de DatosApache Tomcat,

JBoss, GlasshFish, Resin, JonAS,

Weblogic, WebSphere

App Server

LIFERAY Stack

GARTNER: De Visionarios a Líderes

Niche Players! Visionaries!

Leaders!Challengers! Leaders

Visionaries

Challengers

Niche players

150+personasLiferay Engineering

Principios LeanLos ingenieros tienen voz

Buscando el talento en cualquier parte del mundoPersonas ALTAMENTE MOTIVADAS y de granTALENTO

Ingenieros junto con la colaboración de nuestra ComunidadEquipo muy ÁGIL y PRODUCTIVO

LIFERAY engineering en el mundo

ISO 25000 Software Quality Requirement Evaluation

QUÉ ES CALIDAD PARA NOSOTROS?No es sólo una cuestión de errores encontrados

EficienteProducto con gran rendimiento y alta compatibilidad con los entornos más comunes

FiableCalidad percibida por nuestros clientes

UsableFácil de aprender a usar

Contiene las funcionalidad más demandadas por el mercado

MantenibleFácil de mantener y

evolucionar. Fácil de actualizar

Producto Excelente

Calidad como algo intrínseco al software

Calidad, ¿el “último paso”?

Proceso de desarrollo inicial

Desarrollo

Revisiones de código

Merge to Master Build OK? PM review

OK?

QA test manual

QA test automatizado

Portal Repository

Si Si

NoCI Server: ejecutalos test unitariosy de integración

No -> Rollback

Documentación

Integrando el proceso de calidad en el proceso de desarrollo

Buscando un ritmo Sostenible

Aumentando la responsabilidad a través de la autonomía

Cross-functional teams

Responsabilidad clara

Definir claramente cuales son las

responsabilidades de cada equipo. Cada

equipo debe ser totalmente responsable

de su producto

Multidisciplinar

Organización en equipos que contienen todos los perfiles necesarios para desarrollar el producto: UX designer, developer, tester, product manager,

documentation.

Controles adecuados

Definir políticas que ayuden a los miembros del equipo a priorizar el

trabajo y tomar decisiones informadas que estén en

concordancia con el objetivo global

La calidad es responsabilidad de todos

Cada equipo es responsable de la calidad de sus productos

El sentimiento de propiedad es la

clave para impulsar las mejoras

Autonomía + Responsabilidad = PROPIEDAD

Construyendo nuestra red de

seguridad

Construyendo nuestra

red de seguridad

Paso 1: del roll back al Pull Request tester y la Integración

Continua

http://nathaliagomes.deviantart.com/art/Jon-Snow-from-the-Wall-397431314

Vigilante de la salud del build

The build WATCHER

Proceso de desarrollo inicial

Desarrollo

Revisiones de código

Merge to Master Build OK? PM review

OK?

QA test manual

QA test automatizado

Portal Repository

Si Si

No

Encargado de mantener la builden verde

CI Server: ejecutalos test unitariosy de integración

No -> Rollback

Documentación

Proceso de desarrollo con PR tester

Desarrollo Revisiones de código

Merge to Master

PR TesterOK?

PM review OK?

QA test manual

QA test automatizado

Portal Repository

Si

No

CI Server: ejecutalos test unitariosy de integración

Documentación

No

Si

Pull Request Tester

Paso 2: Continuos Delivery & Continuous Deployment

Paso 3: de las pruebas funcionales manuales al

Exploratory Testing

Proceso de desarrollo anterior

Desarrollo Revisiones de código

Merge to Master

PR TesterOK?

PM review OK?

QA test manual

QA test automatizado

Portal Repository

Si

No

CI Server: ejecutalos test unitariosy de integración

Documentación

No

Si

Proceso de desarrollo actual

Desarrollo Revisiones de código

Merge to Master

PR TesterOK?

PM review OK?

QA test manual

QA test automatizado

Portal Repository

Si

No

CI Server: ejecutalos test unitariosy de integración

Exploratorytest

Documentación

No

Si

El equipo decide que casos de uso se automatizan

¿Qué dicen los datos?

Historias desarrolladas en 2014

Tiempo invertido en desarrollar una historia = 13 semanas de media

Este tiempo comprende desde el estado Selected for Development hasta Closed

Tiempo invertido en Testing (2014)

Tiempo invertido en testing = 7 semanas de media

46% del tiempo total se invierte en probar la nueva funcionalidad

Historias desarrolladas en 2015

Tiempo invertido en desarrollar una historia = 9 semanas de media

El tiempo de entrega de una historia se ha reducido en un 30%

Tiempo invertido en Testing (2015)

Tiempo invertido en testing = 3 semanas de media

El tiempo invertido en probar la nueva funcionalidad se ha reducido en un 50%

Paso 4: Impulsando la colaboración de nuestra

comunidad

Contribuciones

Se puede contribuir con una idea de

mejora, resolviendo un bug o mejorando la

documentación, contestando a una pregunta del foro, o

haciendo traducciones.

Aquellas personas que se descargan las

versiones de nuestro producto y prueban

nuestras nuevas funcionalidades y nos

dan feedback sobre ellas

Liferay Community Expedition

Iniciativas para la Comunidad

Bug Squad

Equipo voluntario de miembros de la

comunidad que nos da feedback para mejorar la calidad y usabilidad de nuestro producto

Mirando al futuro

Seguir mejorando: foco en CALIDAD

Test funcionales automatizadosantes del commit

Git flow y Repositorios por equipos

Modularización del Producto (OSGI)

Herramientas de análisis estáticos de código (SONAR)

Preguntas

Síguenos: @mdelapenya

GraciasThanks

@esthersanzp

Esther Sanz PastorLean Project Manager Esther Sanz trabaja en Liferay como Lean Project Manager, en su día a día ayuda a los equipos del departamento de Ingeniería a mejorar de forma continúa para desarrollar software con alta calidad, para ello usa metodologías Lean. Previamente, estuvo trabajando como consultora de lean en diversos proyectos alrededor del mundo, ayudando a proyectos de software con graves problemas a mejorar su eficiencia y el bienestar de las personas implicadas. Está convencida que Lean va más allá de un conjunto de herramientas a aplicar allá donde haya problemas, para ella es una filosofía que te conduce a mejorar cada día aplicable en todos los aspectos de la vida (personal y profesional)

@estheranzp

https://es.linkedin.com/in/esthersanzp www.liferay.com/web/esther.sanz/blog

Acerca de Nosotros

Manuel de la PeñaSoftware EngineerManuel trabaja como Ingeniero de Software en el equipo de Infraestructura de Tests, donde está mejorando los procesos de desarrollo en testing mediante automatización en contextos de Integración y Entrega Continua.

Antes de unirse a Liferay en el 2011, Manuel trabajaba para Indra como consultor Liferay, desarrollando portales para la Administración Pública española.

Manuel es Ingeniero Técnico en Informática de Gestión, por la Universidad Nacional de Educación a Distancia, España y cursa un master de Investigación en Ingeniería del Software y Sistemas Informáticos.

@mdelapenya

https://es.linkedin.com/in/mdelapenya www.liferay.com/web/manuel.delapenya/blog

Acerca de Nosotros

Madrid Management 3.0