desarrollando software open source de calidad
Post on 14-Apr-2017
1.706 Views
Preview:
TRANSCRIPT
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
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
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
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
El sentimiento de propiedad es la
clave para impulsar las mejoras
Autonomía + Responsabilidad = PROPIEDAD
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
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
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%
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
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)
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
top related