¿¿¿ y calidad ???
¿Qué es                ?

•  Una plataforma social de comunicación web y
   móvil con más de 14 millones de usuarios
   registrados, alrededor de 10 millones de
   usuarios activos al mes (6,5 a través de apps),
   que comparten de forma privada contenido
   relevante para ellos y su círculo de amigos más
   cercano.
Gente real. Información real.
Relaciones reales.
•  Máxima privacidad por
   defecto
•  No indexa en
   buscadores
•  Simple
•  Messenger + Social
•  Contenidos relevantes
•  Alto engagement         Tuenti en 2007 y nuestro primer logo"
6 años de "
                                                                                                                     14MM de "
                                                                                                                     usuarios"
 Total Users (Millions)"




                           15



                                                                                                  Release of"
                                                                                                “Tuenti Places”"

                           11




                                                                             Launched mobile"              Telefónica"
                                                                                                          Investment"
                           8


                                                      #1 social network in Spain"
                                                           by page views"
                                                                                         Hired 100th"
                           4
                                                                                         to the team"

                                Founded" 25k users"

                                                                       Sold first ad"
                           0
                                   2006        2007            2008          2009        2010             2011           2012
Tuenti hoy
    Tuenti hoy!
•  15% del tráfico web de
   España pasa por Tuenti
   cada día

•  Una de las principales
   compañías de internet en
   Europa

•  3 Oficinas, 260 empleados
   de 22 nacioalidades

•  En proceso de
   internacionalización
              "
Principal sitio web y móvil en España




                        14,5MM! 40.000!
                        Usuarios registrados"   Millones de páginas
                                                                      6,5MM!
                                                                      Usuarios de apps
                                                                                         400MM!
                                                                                         Mensajes de chat/día"
                                                    vistas al mes"        móviles"




Base de datos Tuenti"
¿Y en cuánto a lo techie?

                •       +13M usuarios (~10,4M usuarios activos 2011)
                •       +100 minutos/día por usuario (avg)
                •       +400M mensajes de chat / día
                •       +4M fotos subidas / día (picos)
                •       +41,000M páginas vistas / mes
                •       +35K requests / seg (picos)
                •       +1,3K servidores
                •       +250 empleados (~60% techies)
                •       +15K archivos en los repositorios
                •       +10K Tests

Base de datos Tuenti"
Release workflow



                    Branch   Code   Test   Integrate   Release   Stabilize




Base de datos Tuenti"
Release workflow
                    Branch   Code   Test    Integrate   Release   Stabilize




                •  15 ramas de media en cada release
                   o  Record actual: 35 ramas

                •  63.000 líneas modificadas de media por release




Base de datos Tuenti"
Release workflow
                    Branch   Code   Test   Integrate   Release   Stabilize




                •  Scrum (o al menos alguna metodología Ágil)
                   o  Tanto TDD como sea posible

                •  Labs
                •  A/B Testing
                •  Dark launch



Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  Repositorio único siempre disponible
                •  Fecha de release dada por el equipo de devops
                   o  Pasar toda la batería de tests hasta que todos
                      den el OK
                   o  Mergear y esperar !!!
                •  Testing por parte de QA
                   o  Cualquier problema debe ser solucionado
                      ASAP !!!

Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  3 releases por semana
                   •  DevOps goal: Todos los días de la semana

                •  Se toma el último changeset válido de Integración

                •  Staging servers para probar el código con cierto
                   número de usuarios


Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  Un único push a live a las 8 am

                •  En caso de error o problema rápido
                   •  Revert
                   •  Hotfix




Base de datos Tuenti"
Muy bonito…

¡¡ Pero nosotros hemos venido a
       hablar de CALIDAD !!
¿De quién depende la calidad?



 ¡¡¡ De todos los departamentos !!!
¿De quién depende la calidad?

 Engineering	

                          QA Team	

   Engineers           Testers           QA Analyst        Test Engineer

•  Unit &          •  Ejecutar Tests   •  Diseño y         •  Integration &
   Integration        Cases               Ejecución de        Browser Tests
   Tests                                  Tests Cases
                   •  Bug Reports      •  Gestión de los   •  Analizar
•  Code coverage                          Issues              calidad del
                                       •  Release             código
                                          Process
                                       •  Soporte para
                                          Hotfixes
¿Ingenieros también?
Por supuesto,

1.  Todo código debe de ser testeable

2.  Los tests deben de probar el código que deberías de
    tener no el que tienes


         Think à Code à Test à Refactor
¿Ingenieros también?

Y para eso tenemos:


                Code reviews
¿Ingenieros también?

Y para eso tenemos:


             Code Coverage Analysis
¿Ingenieros también?

Y para eso tenemos:


                  Y a este tipo…
¿Y QA dónde está?
Divididos en equipos por areas funcionales de negocio

              Comms	


Sharing	

                  Identity	

                                                                                            Ads	

                                                               FEFW	

                                                                                                                 Tent	

                      Webx	

               Social	

                           BEFW	

                 Infraestructure	


                                                                                                                                 Revenue	


                                                             Platform	



                           Ops	

             Online	

                    Cus	

                                                                                                                  WP	

                                                                                                    Android	

               m.tuenti	

                           MVNO	



                                                                                                iPhone	

        Mobile	

           BB
¿Por qué juntos?
•  Mejor conocimiento del producto
  o  Plannings, Scrum diario…

•  Cercanía a los developers
  o  Feedback rápido
  o  Confianza
Resumiendo…

•  La calidad NO es un impedimento para la agilidad…
              ¡ Es la base de la agilidad !


•  La calidad no es cosa del departamento de QA…
          ¡ Es parte de la cultura de la empresa !
Resumiendo…


“ The only way a team can write quality
software is when the entire team is responsible
for quality. ”

James A. Whittaker, Jason Arbon, Jeff Carollo, How Google Tests Software
We are done




¿Questions?
exit(0);




enrique@tuenti.com"
blog.tuenti.com"
@tuenti "
slideshare.com/equipotuenti"
youtube.com/tuenti"
tuenti.com/tuenti"

Tuenti & QA

  • 1.
  • 2.
    ¿Qué es ? •  Una plataforma social de comunicación web y móvil con más de 14 millones de usuarios registrados, alrededor de 10 millones de usuarios activos al mes (6,5 a través de apps), que comparten de forma privada contenido relevante para ellos y su círculo de amigos más cercano.
  • 3.
    Gente real. Informaciónreal. Relaciones reales. •  Máxima privacidad por defecto •  No indexa en buscadores •  Simple •  Messenger + Social •  Contenidos relevantes •  Alto engagement Tuenti en 2007 y nuestro primer logo"
  • 4.
    6 años de" 14MM de " usuarios" Total Users (Millions)" 15 Release of" “Tuenti Places”" 11 Launched mobile" Telefónica" Investment" 8 #1 social network in Spain" by page views" Hired 100th" 4 to the team" Founded" 25k users" Sold first ad" 0 2006 2007 2008 2009 2010 2011 2012
  • 5.
    Tuenti hoy Tuenti hoy! •  15% del tráfico web de España pasa por Tuenti cada día •  Una de las principales compañías de internet en Europa •  3 Oficinas, 260 empleados de 22 nacioalidades •  En proceso de internacionalización "
  • 6.
    Principal sitio weby móvil en España 14,5MM! 40.000! Usuarios registrados" Millones de páginas 6,5MM! Usuarios de apps 400MM! Mensajes de chat/día" vistas al mes" móviles" Base de datos Tuenti"
  • 7.
    ¿Y en cuántoa lo techie? •  +13M usuarios (~10,4M usuarios activos 2011) •  +100 minutos/día por usuario (avg) •  +400M mensajes de chat / día •  +4M fotos subidas / día (picos) •  +41,000M páginas vistas / mes •  +35K requests / seg (picos) •  +1,3K servidores •  +250 empleados (~60% techies) •  +15K archivos en los repositorios •  +10K Tests Base de datos Tuenti"
  • 8.
    Release workflow Branch Code Test Integrate Release Stabilize Base de datos Tuenti"
  • 9.
    Release workflow Branch Code Test Integrate Release Stabilize •  15 ramas de media en cada release o  Record actual: 35 ramas •  63.000 líneas modificadas de media por release Base de datos Tuenti"
  • 10.
    Release workflow Branch Code Test Integrate Release Stabilize •  Scrum (o al menos alguna metodología Ágil) o  Tanto TDD como sea posible •  Labs •  A/B Testing •  Dark launch Base de datos Tuenti"
  • 11.
    Release workflow Branch Code Test Integrate Release Stabilize •  Repositorio único siempre disponible •  Fecha de release dada por el equipo de devops o  Pasar toda la batería de tests hasta que todos den el OK o  Mergear y esperar !!! •  Testing por parte de QA o  Cualquier problema debe ser solucionado ASAP !!! Base de datos Tuenti"
  • 12.
    Release workflow Branch Code Test Integrate Release Stabilize •  3 releases por semana •  DevOps goal: Todos los días de la semana •  Se toma el último changeset válido de Integración •  Staging servers para probar el código con cierto número de usuarios Base de datos Tuenti"
  • 13.
    Release workflow Branch Code Test Integrate Release Stabilize •  Un único push a live a las 8 am •  En caso de error o problema rápido •  Revert •  Hotfix Base de datos Tuenti"
  • 14.
    Muy bonito… ¡¡ Peronosotros hemos venido a hablar de CALIDAD !!
  • 15.
    ¿De quién dependela calidad? ¡¡¡ De todos los departamentos !!!
  • 16.
    ¿De quién dependela calidad? Engineering QA Team Engineers Testers QA Analyst Test Engineer •  Unit & •  Ejecutar Tests •  Diseño y •  Integration & Integration Cases Ejecución de Browser Tests Tests Tests Cases •  Bug Reports •  Gestión de los •  Analizar •  Code coverage Issues calidad del •  Release código Process •  Soporte para Hotfixes
  • 17.
    ¿Ingenieros también? Por supuesto, 1. Todo código debe de ser testeable 2.  Los tests deben de probar el código que deberías de tener no el que tienes Think à Code à Test à Refactor
  • 18.
    ¿Ingenieros también? Y paraeso tenemos: Code reviews
  • 19.
    ¿Ingenieros también? Y paraeso tenemos: Code Coverage Analysis
  • 20.
    ¿Ingenieros también? Y paraeso tenemos: Y a este tipo…
  • 21.
    ¿Y QA dóndeestá? Divididos en equipos por areas funcionales de negocio Comms Sharing Identity Ads FEFW Tent Webx Social BEFW Infraestructure Revenue Platform Ops Online Cus WP Android m.tuenti MVNO iPhone Mobile BB
  • 22.
    ¿Por qué juntos? • Mejor conocimiento del producto o  Plannings, Scrum diario… •  Cercanía a los developers o  Feedback rápido o  Confianza
  • 23.
    Resumiendo… •  La calidadNO es un impedimento para la agilidad… ¡ Es la base de la agilidad ! •  La calidad no es cosa del departamento de QA… ¡ Es parte de la cultura de la empresa !
  • 24.
    Resumiendo… “ The onlyway a team can write quality software is when the entire team is responsible for quality. ” James A. Whittaker, Jason Arbon, Jeff Carollo, How Google Tests Software
  • 25.
  • 26.