Cómo encajan BDD y TDD en un equipo de Drupal
BDD con Behat funciona de fuera hacia dentro. Los escenarios se escriben en lenguaje sencillo que describe cómo se comporta el sitio para un usuario, de modo que quienes no escriben código pueden leerlos y opinar si son correctos. TDD con PHPUnit funciona de dentro hacia fuera: pruebas unitarias y de kernel que guían el diseño del código a medida que se escribe.
Los equipos sin pruebas automatizadas suelen empezar con Behat, porque los escenarios son legibles para los propietarios de producto y clientes, así como para los desarrolladores. Los equipos que ya ejecutan escenarios de aceptación suelen añadir PHPUnit después, para ampliar la cobertura hasta el código.
Ambos son complementarios, no alternativas. El mismo pipeline de CI suele ejecutar ambas suites.
A quién va dirigida la formación
El punto de partida más común es no contar con capacidad interna de Drupal: el equipo nunca la tuvo, o perdió a la persona que la tenía. La formación ayuda a las organizaciones a desarrollar esa competencia internamente, reduciendo la dependencia a largo plazo del soporte externo.
El segundo es una transición en curso. Un equipo interno está asumiendo una plataforma construida por otra persona y necesita trabajar según el estándar que el código base ya asume: disciplina de control de versiones, cobertura de pruebas, una rutina de lanzamiento.
Los equipos de agencia son el tercero. Los desarrolladores de la propia agencia son los alumnos, en una plataforma que la agencia entrega a su propio cliente, y la agencia define el alcance y compra la formación.
Debajo de los tres se encuentra la pregunta del responsable del presupuesto: ¿formar o contratar? Contratar añade una persona; formar eleva el nivel de todos los que ya trabajan en la plataforma. Ambas opciones son válidas, y la decisión se toma durante el alcance, según la plataforma y el plazo. El resultado se puede evaluar mediante ejercicios prácticos y resultados de evaluación cuando el programa los incluya, en lugar de mediante un certificado.
Editores y constructores de sitios se forman mediante un programa basado en roles, adaptado a su función, no mediante los cursos de desarrollo anteriores.
Cómo se imparte la formación
La formación se desarrolla en cuatro formatos que se combinan: cursos a tu propio ritmo en la plataforma de e-learning de Metadrop, con lecciones, progresión y pruebas de evaluación; sesiones temáticas en directo por videoconferencia; formación de lanzamiento cuando se publica una nueva funcionalidad; y programas basados en roles, estructurados en torno a un rol y sus responsabilidades. Un formato describe cómo se imparte un curso. El catálogo empaquetado es la lista de cursos anterior, y cualquier cosa que vaya más allá se define como formación a medida.
Las sesiones se realizan en tus oficinas o en remoto, o de forma mixta, según lo acordado durante el alcance. Se trabajan como talleres: ejercicios sobre un entorno de trabajo en lugar de una clase magistral. Cuando el proyecto lo requiere, el material se crea sobre la configuración propia del cliente en lugar de una instalación genérica de Drupal, y la versión de Drupal a la que se dirige el material se acuerda durante el alcance, en función de la plataforma que utiliza realmente el equipo.
Los cursos se imparten en inglés o español. Gran parte del material existente se creó en español, por lo que el idioma de impartición se acuerda durante el alcance, y traducir o regrabar un curso se define como trabajo, no se da por hecho. Metadrop enseña en toda Europa, de forma presencial o remota, desde una base en España y, por tanto, dentro de la jurisdicción de la UE.
No hay calendario público. La formación se programa según el proyecto, por lo que no hay que esperar a una fecha de inscripción abierta.
Lo que deja una formación
La formación está diseñada para que el material siga siendo útil después de que finalicen las sesiones. Lo que se queda con el equipo:
- un curso o conjunto de sesiones que cubre el alcance acordado;
- grabaciones de cada sesión en vivo, añadidas a la biblioteca;
- resultados de evaluación cuando el programa incluye pruebas, para que la competencia sea verificable en lugar de asumida;
- un FAQ actualizado destilado de las preguntas que realmente surgieron durante la entrega.
Estos son entregables de la formación, y los cursos no emiten una certificación acreditada u oficial. Las propias credenciales de Metadrop, Socio Certificado de Plata de la Asociación Drupal, ENS e ISO 9001, son certificaciones de la empresa y algo aparte.
Quién imparte los cursos
Los cursos los imparten ingenieros involucrados activamente en la entrega y el mantenimiento de plataformas de clientes. El equipo detrás de ellos cuenta con más de 15 años construyendo plataformas Drupal, más de 120 módulos contribuidos en drupal.org, estatus de Socio Certificado de Plata de la Asociación Drupal y estatus de Socio de Bronce de Acquia.
Las suites de Behat y PHPUnit se construyen y ejecutan en proyectos Drupal de producción en toda la cartera, por lo que la práctica enseñada es la práctica utilizada. Metadrop ha presentado material sobre Behat y BDD en eventos de la comunidad Drupal, incluidos DrupalCamp España, Drupal Day y un taller en DrupalCamp Sevilla, y ha publicado los artículos. Un curso presencial de dos días sobre integración de Behat y Drupal se impartió en la agencia digital de una administración pública regional española, con desarrolladores, control de calidad y jefes de departamento presentes.
En un sitio Drupal multimarca para un fabricante multinacional de electrodomésticos, con tres sitios en cinco idiomas, la formación de editores y la documentación formaban parte del alcance entregado, junto con el framework Behat de extremo a extremo construido sobre esa misma plataforma. En un mercado B2B global del sector de la energía eólica, el compromiso del liderazgo técnico incluía la formación del equipo interno del cliente, con el objetivo de aumentar la autonomía operativa del cliente.
Han confiado en Metadrop
Desde la fabricación y la administración pública hasta ONG, universidades y marketplaces globales, organizaciones de toda Europa y más allá han colaborado con Metadrop durante más de 15 años de entrega con Drupal.
Dos formas de comprar la formación
La primera es un encargo independiente, con su propio alcance y presupuesto: un programa de incorporación para un nuevo equipo, un curso centrado en un tema o un plan de estudios fijo impartido y evaluado.
La segunda es incluida en un contrato de mantenimiento de Drupal, como la formación continua que mantiene al equipo al día mientras la plataforma evoluciona. Es el mismo contrato que incluye la videoteca y las preguntas frecuentes actualizadas.
Las tarifas no están publicadas. El alcance determina el número, por lo que una breve conversación sobre el alcance precede a cualquier cifra.
Formación a medida
Metadrop crea cursos a medida en metodología y desarrollo web, adaptados a la plataforma del equipo y al resultado que busca la organización. Cada programa personalizado está diseñado para el proyecto, en lugar de extraerse de un catálogo más amplio de cursos existentes.
Los dos puntos de partida más habituales son: un programa basado en roles para un equipo que asume una plataforma, y formación para lanzamientos cuando se publica una nueva función importante. La primera conversación cubre el nivel actual del equipo, la plataforma, la combinación de formatos, el idioma de impartición y si la formación se ofrece de forma independiente o dentro de un contrato de mantenimiento.