Liferay es un software de código abierto para portales empresariales. Un ingeniero de Liferay describe cómo la compañía ha mejorado su proceso de desarrollo de software mediante la integración de pruebas continuas, entrega continua y colaboración con la comunidad. Estas mejoras han reducido el tiempo de desarrollo de funcionalidades en un 30% y el tiempo de pruebas en un 50%. Liferay busca seguir mejorando la calidad a través de pruebas funcionales automatizadas y herramientas de análisis de código.
5. Aplicación JEE.
Embebe un
contenedor OSGi
Liferay Portal 7.0
JSR-168, JSR-286,
JSR-362
y aplicaciones/
microservicios OSGi
Liferay Plugins
JDK7
JVM
PostgreSQL,
MySQL, Oracle, MS
SQL Server, Sybase,
DB2
Base de Datos
Apache Tomcat,
JBoss, GlasshFish,
Resin, JonAS,
Weblogic,
WebSphere
App Server
LIFERAY Stack
6.
7.
8.
9.
10. GARTNER: De Visionarios a Líderes
Niche Players! Visionaries!
Leaders!Challengers! Leaders
Visionaries
Challengers
Niche players
11. 150+personas
Liferay Engineering
Principios Lean
Los ingenieros tienen voz
Buscando el talento en cualquier parte del mundo
Personas ALTAMENTE MOTIVADAS
y de granTALENTO
Ingenieros junto con la colaboración de nuestra Comunidad
Equipo muy ÁGIL y PRODUCTIVO
14. QUÉ ES CALIDAD PARA NOSOTROS?
No es sólo una cuestión de errores encontrados
Eficiente
Producto con gran rendimiento y
alta compatibilidad con los entornos
más comunes
Fiable
Calidad percibida por nuestros
clientes
Usable
Fácil de aprender a usar
Contiene las funcionalidad más
demandadas por el mercado
Mantenible
Fácil de mantener y
evolucionar.
Fácil de actualizar
Producto
Excelente
19. 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
CI Server: ejecuta
los test unitarios
y de integración
No -> Rollback
Documentación
20. Integrando el proceso de calidad
en el proceso de desarrollo
Buscando un ritmo Sostenible
21. 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
22. La calidad es responsabilidad
de todos
Cada equipo es responsable de la calidad de sus
productos
29. 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 build
en verde
CI Server: ejecuta
los test unitarios
y de integración
No -> Rollback
Documentación
30. Proceso de desarrollo con PR tester
Desarrollo
Revisiones
de código
Merge
to Master
PR Tester
OK?
PM review
OK?
QA test
manual
QA test
automatizado
Portal Repository
Si
No
CI Server: ejecuta
los test unitarios
y de integración
Documentación
No
Si
34. Paso 3: de las pruebas
funcionales manuales al
Exploratory Testing
35. Proceso de desarrollo anterior
Desarrollo
Revisiones
de código
Merge
to Master
PR Tester
OK?
PM review
OK?
QA test
manual
QA test
automatizado
Portal Repository
Si
No
CI Server: ejecuta
los test unitarios
y de integración
Documentación
No
Si
36. Proceso de desarrollo actual
Desarrollo
Revisiones
de código
Merge
to Master
PR Tester
OK?
PM review
OK?
QA test
manual
QA test
automatizado
Portal Repository
Si
No
CI Server: ejecuta
los test unitarios
y de integración
Exploratory
test
Documentación
No
Si
El equipo decide
que casos de uso se
automatizan
38. 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
39. Tiempo invertido en Testing (2014)
Tiempo invertido en testing = 7 semanas de media
46% del tiempo total se invierte en probar la nueva funcionalidad
40. 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%
41. 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%
43. 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
45. Seguir mejorando: foco en CALIDAD
Test funcionales
automatizados
antes del commit
Git flow y
Repositorios por
equipos
Modularización del
Producto (OSGI)
Herramientas de
análisis estáticos
de código (SONAR)
48. Esther Sanz Pastor
Lean 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
49. Manuel de la Peña
Software Engineer
Manuel 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