flujo de desarrollo en drupal
DESCRIPTION
Esta presentación fue la que utilicé en mi ponencia en la drupalcamp spain de 2013 en cáceres. En ella hablo sobre un flujo de desarrollo en Drupal y de cómo: * Obtener requisitos del cliente, * Generar confianza con el cliente, * Alimentar la motivación del equipo de desarrollo * Tener un entorno unificado de desarrollo * Desarrollar de forma escalable y fiable en DrupalTRANSCRIPT
![Page 1: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/1.jpg)
Flujo de desarrolloen Drupal
![Page 2: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/2.jpg)
HELLOMY NAME IS
Nacho@isholgueras1984486 DX2 con 32MB de RAMNES, SNES, GBBasic, Logo, PascalIngeniero Técnico en InformáticaFront-end, Drupal y Javascriptidealista.com
![Page 3: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/3.jpg)
El flujo actual
![Page 4: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/4.jpg)
Agentes
Jefe de proyectoAnalistaEquipo de desarrolloCliente / usuarioUsuarios finales
![Page 5: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/5.jpg)
Estimaciones
2 meses de concurso, oferta y aceptación1 mes de definición de requisitos2 meses de arquitectura1 mes de diseño3 meses de desarrollo2 semanas de entrega2 meses de “soporte”Total: 9 meses para tener algoY 11 meses para tenerlo funcionando
![Page 6: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/6.jpg)
![Page 7: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/7.jpg)
Qué quiere el usuario
![Page 8: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/8.jpg)
Seamos elcliente
![Page 9: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/9.jpg)
+Como paciente en un hospital
Como cliente en un taller
Como usuario en una web
loading...
Soy usuario
![Page 10: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/10.jpg)
+loading...
Operarme de la espalda
Cambiar los neumáticos
Comprar un vuelo
Quiero
![Page 11: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/11.jpg)
¿Seguro?
![Page 12: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/12.jpg)
+loading...
No tener dolor de espalda
Poder usar mi coche
Llegar a mi destino
Realmente necesito
![Page 13: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/13.jpg)
Voy a un consultarcon un especialistapara obtener una
Solución
![Page 14: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/14.jpg)
Soluciones,no problemas
El niño del píxel
![Page 15: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/15.jpg)
¿Pero cómo?
MUY BONITO TODO ESTO QUE DICES
![Page 16: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/16.jpg)
12
12 principios
Motivación
Valor
Simplicidad
ReflexiónSimplicidad
Entrega temprana y frecuente
Los requisitos cambian
Comunicación cara a cara
Unidad de medida:Producto funcionando
Ritmo constante
Confianza
Equipos auto-organizados
![Page 17: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/17.jpg)
http://agilemanifesto.org/iso/es/principles.html
![Page 18: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/18.jpg)
Let'sGO!
![Page 19: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/19.jpg)
Agentes
StakeholdersProduct owner
Jefe de proyectoResponsable de desarrolloEquipo (UX, Diseño,...)
Cliente
Proveedor
CoacherOtros equipos
![Page 20: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/20.jpg)
NECESIDADES
Obtengamos las necesidades delcliente mediante requisitos,
pero en su mismo idioma
![Page 21: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/21.jpg)
UsuariosNoticiasEventosNewsletter...
1. Tareas épicasTaxonomía
![Page 22: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/22.jpg)
2. CaracterísticasEntregables tangibles
Característica: Registro de usuario.
Como visitante Yo quiero registrarme en el sistema Para acceder a sus funciones
El registro funciona en tres etapas: 1. Solicitar el registro con un formulario en la página web. El solicitanterecibe un correo. 2. Seguir un enlace de confirmación en el correo para activar la cuenta. 3. Llenar la información del perfil. En esta etapa el usuario ya tiene unacuenta pero tratamos de recolectar más información acerca de él.
![Page 23: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/23.jpg)
3. EscenariosPiezas de los entregables
Escenario 1: Solicitar una cuenta
Dado que no tengo una cuenta Cuando sigo el enlace de registro de la página de inicio Y lleno la forma con detalles válidos y la envío Entonces debo ver un mensaje de confirmación diciéndome que revise micorreo.
Escenario 2: Confirmar cuenta…
Escenario 3: Llenar el perfil de la cuenta …
![Page 24: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/24.jpg)
Behavior Driven Development
TIP: es una parte de BDD
![Page 25: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/25.jpg)
¿Y esto a tareas?
Escenarios
Priorizar características y escenarios
Estimar fibonacci, 2^n, e,...
Unidades: patatas, azucarillos... peronunca tiempo
Tareas
1
2
3
4
![Page 26: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/26.jpg)
Resultado
Prioridades
Listado de tareas
Estimaciones
Agrupaciones de sprints
1
2
3
4
![Page 27: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/27.jpg)
Sprint 1 Sprint 2 Sprint n
3 semanas
drupal base
entorno
registro usuarios
eventos
noticias API REST noticias
API usuarios
RWD
3 semanas 3 semanas
MAR 2013
Entrega contínua
![Page 28: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/28.jpg)
Cada sprint
Características al 100%Dar valor de productoCada 2 semanas - 1 mesCaracterísticas testadas
LIKES1500
![Page 29: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/29.jpg)
Repositorio de documentación
Accesible y modificable por todosListados de tareas, hitos, sprints,...Función de buscar
Herramientas existentes:OpenAtriumConfluenceMediaWiki...
![Page 30: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/30.jpg)
Open Atrium
Notebook para características, escenarios, diseños,prototipos,...
Case Tracker para tareas
Blog para acontecimientos
Calendar para hitos y sprints
![Page 31: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/31.jpg)
Del manifiesto ágil1 Comunicación cara a cara2 Codo a codo entre negocio y desarrollo3 Simplicidad4 Confianza5 Requisitos cambian6 Entregas frecuentes7 Valor8 Unidad de medida: Producto funcionando
![Page 32: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/32.jpg)
Entorno de desarrollo
F
![Page 33: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/33.jpg)
ProducciónDesarrollo
Apache 2.4.xPercona SQL 5.5.xPHP 5.4.xApache Solr 4.5Memcache 1.4.15ImageMagick 6.8.7-2APC 3.1.13Git 1.7dompdf 0.5.2...
Wamp o XamppApache 2.2.xMySQL 5.5.xPHP 5.3.xGit 1.7...
![Page 34: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/34.jpg)
Virtualización
Replicar entorno de PROen una máquina virtual
![Page 35: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/35.jpg)
Virtualización mejorada
Distribuir configuraciónde máquinas virtuales
Opciones en fichero
PuertosIP e interfacesCarpeta compartidaOpciones SSH...
![Page 36: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/36.jpg)
Virtualización mejorada con 'asteroides'Aprovisionador de paquetesConfiguración completa en código fuente
![Page 37: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/37.jpg)
¿En serio?¿En ficheros?
![Page 38: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/38.jpg)
Aprovisionador
![Page 39: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/39.jpg)
Ooosst...¡Bua chaval!
![Page 40: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/40.jpg)
El cojo-entorno de desarrollo
![Page 41: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/41.jpg)
Gestor de código fuente distribuido.Utilizado en proyectos grandes (kernel,apache,...)Pensado en comunidades de Software LibreHistorial de código fuente sin conexiónPotencia de Ramas + ForksRevisión de pull requests
![Page 42: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/42.jpg)
Autoformateado AutocompletadoDebuggeoIntegración con Git
Y si le añades tu IDE preferido...
![Page 43: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/43.jpg)
![Page 44: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/44.jpg)
Desarrollo en Drupal
![Page 45: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/45.jpg)
FeaturesContextDisplay SuiteProfiles(Drush Make)
Desarrollo iterativo con
![Page 46: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/46.jpg)
Context para
EstructuraNavegaciónBloquesRegiones
![Page 47: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/47.jpg)
Vista de datosPresentacionesRegiones internasTemplatesReutilización
DISPLAY SUITE
![Page 48: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/48.jpg)
FEATURES
EmpaquetadoPor funcionalidadConfiguración aficheroMódulo
![Page 49: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/49.jpg)
El botón de GOFilosofía APTLínea de comandosDescriptor de módulos yversiones1 fichero y tienes el proyecto
DRUSH MAKE
![Page 50: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/50.jpg)
Todo en código fuente
Menos código custom
Motivación
Confianza del cliente
Filosofía de reinstalar
Reutilizable y extensibleFiabilidad y estabilidad
Sincronización con PRO
Ventajas
![Page 51: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/51.jpg)
Disciplina
Desventajas
ConstanciaMenos flexibilidad en códigoRendimiento de VagrantCurva Git VS svnCoste inicialClientes difíciles u organismos
![Page 52: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/52.jpg)
Mejoras a futuro
TDD
Phing
![Page 53: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/53.jpg)
¿Es fácil?
NO
![Page 54: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/54.jpg)
Pero merece la penaporque ...
... al menos para mí ...
![Page 55: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/55.jpg)
Las mejores arquitecturas,requisitos y diseños emergen de equipos auto-organizados
Undécimo principio del manifiesto ágil
![Page 56: Flujo de desarrollo en drupal](https://reader034.vdocuments.co/reader034/viewer/2022050919/548224675906b5d3048b4615/html5/thumbnails/56.jpg)
Ignacio Sánchez Holgueras@[email protected]/733162