SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Flujo de desarrollo
en Drupal
HELLO
MY NAME IS

Nacho
@isholgueras
1984
486 DX2 con 32MB de RAM
NES, SNES, GB
Basic, Logo, Pascal
Ingeniero Técnico en Informática
Front-end, Drupal y Javascript
idealista.com
El flujo actual
Agentes
Jefe de proyecto
Analista
Equipo de desarrollo
Cliente / usuario
Usuarios finales
Estimaciones
2 meses de concurso, oferta y aceptación
1 mes de definición de requisitos
2 meses de arquitectura
1 mes de diseño
3 meses de desarrollo
2 semanas de entrega
2 meses de “soporte”
Total: 9 meses para tener algo
Y 11 meses para tenerlo funcionando
Qué quiere el usuario
Seamos el
cliente
Soy usuario
Como paciente en un hospital
Como cliente en un taller

+

Como usuario en una web
loading...
Quiero

+

Operarme de la espalda
Cambiar los neumáticos
Comprar un vuelo

loading...
¿Seguro?
Realmente necesito

+

No tener dolor de espalda
Poder usar mi coche
Llegar a mi destino

loading...
Voy a un consultar
con un especialista
para obtener una

Solución
Soluciones,
no problemas

El niño del píxel
MUY BONITO TODO ESTO QUE DICES

¿Pero cómo?
12 principios

12

Valor

Reflexión

Simplicidad

Motivación

Entrega temprana y frecuente
Confianza

Simplicidad

Los requisitos cambian

Unidad de medida:
Producto funcionando
Comunicación cara a cara

Ritmo constante
Equipos
auto-organizados
http://agilemanifesto.org/iso/es/principles.html
Let's
GO!
Agentes
Cliente
Stakeholders
Product owner
Proveedor
Jefe de proyecto
Responsable de desarrollo
Equipo (UX, Diseño,...)
Coacher
Otros equipos
NECESIDADES

Obtengamos las necesidades del
cliente mediante requisitos,
pero en su mismo idioma
1. Tareas épicas
Taxonomía
Usuarios
Noticias
Eventos
Newsletter
...
2. Características
Entregables 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 solicitante
recibe 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 una
cuenta pero tratamos de recolectar más información acerca de él.
3. Escenarios
Piezas 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 mi
correo.
Escenario 2: Confirmar cuenta
…
Escenario 3: Llenar el perfil de la cuenta …
TIP: es una parte de BDD
Behavior Driven Development
¿Y esto a tareas?
1

Priorizar características y escenarios

2

Escenarios

3

Estimar fibonacci, 2^n, e,...

4

Unidades: patatas, azucarillos... pero
nunca tiempo

Tareas
Resultado
1

Listado de tareas

2

Prioridades

3

Estimaciones

4

Agrupaciones de sprints
Entrega contínua

MAR 2013

Sprint 1

Sprint 2

3 semanas
drupal base
entorno
registro usuarios

Sprint n

3 semanas
noticias
eventos

3 semanas
API REST noticias
API usuarios

RWD
Cada sprint
Características al 100%
Dar valor de producto
Cada 2 semanas - 1 mes
Características testadas

1500
LIKES
Repositorio de documentación
Accesible y modificable por todos
Listados de tareas, hitos, sprints,...
Función de buscar
Herramientas existentes:
OpenAtrium
Confluence
MediaWiki
...
Open Atrium
Notebook para características, escenarios, diseños,
prototipos,...
Case Tracker para tareas
Blog para acontecimientos
Calendar para hitos y sprints
Del manifiesto ágil
1
2
3
4
5
6
7
8

Comunicación cara a cara
Codo a codo entre negocio y desarrollo
Simplicidad
Confianza
Requisitos cambian
Entregas frecuentes
Valor
Unidad de medida: Producto funcionando
Entorno de desarrollo

F
Desarrollo

Producción

Wamp o Xampp
Apache 2.2.x
MySQL 5.5.x
PHP 5.3.x
Git 1.7
...

Apache 2.4.x
Percona SQL 5.5.x
PHP 5.4.x
Apache Solr 4.5
Memcache 1.4.15
ImageMagick 6.8.7-2
APC 3.1.13
Git 1.7
dompdf 0.5.2
...
Virtualización

Replicar entorno de PRO
en una máquina virtual
Virtualización mejorada
Distribuir configuración
de máquinas virtuales

Opciones en fichero
Puertos
IP e interfaces
Carpeta compartida
Opciones SSH
...
Virtualización
mejorada con 'asteroides'
Aprovisionador de paquetes
Configuración completa en código fuente
¿En serio?
¿En ficheros?
Aprovisionador
Ooosst...
¡Bua chaval!
El cojo-entorno de desarrollo
Gestor de código fuente distribuido.
Utilizado en proyectos grandes (kernel,
apache,...)
Pensado en comunidades de Software Libre
Historial de código fuente sin conexión
Potencia de Ramas + Forks
Revisión de pull requests
Y si le añades tu IDE preferido...
Autoformateado
Autocompletado
Debuggeo
Integración con Git
Desarrollo en Drupal
Desarrollo iterativo con
Features
Context
Display Suite
Profiles
(Drush Make)
Context para

Estructura
Navegación
Bloques
Regiones
DISPLAY SUITE

Vista de datos
Presentaciones
Regiones internas
Templates
Reutilización
FEATURES

Empaquetado
Por funcionalidad
Configuración a
fichero
Módulo
DRUSH MAKE

El botón de GO
Filosofía APT
Línea de comandos
Descriptor de módulos y
versiones
1 fichero y tienes el proyecto
Ventajas
Motivación
Confianza del cliente
Todo en código fuente
Menos código custom
Filosofía de reinstalar
Reutilizable y extensible
Fiabilidad y estabilidad
Sincronización con PRO
Desventajas
Disciplina
Constancia
Menos flexibilidad en código
Rendimiento de Vagrant
Curva Git VS svn
Coste inicial
Clientes difíciles u organismos
Mejoras a futuro

Phing
TDD
¿Es fácil?

NO
Pero merece la pena
porque ...
... al menos para mí ...
Las mejores arquitecturas,
requisitos y diseños emergen
de equipos auto-organizados

Undécimo principio del manifiesto ágil
Ignacio Sánchez Holgueras
@isholgueras
nacho@isholgueras.com
user/733162

Más contenido relacionado

Similar a Flujo de desarrollo en drupal

La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - UniencounterGailen Tecnologías
 
Webinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesWebinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesIEBSchool
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosSoftware Guru
 
[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG ArgentinaCodealike
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)Enrique Polo
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentRicardo Markiewicz
 
Del dicho al hecho: analizando proyectos
Del dicho al hecho: analizando proyectosDel dicho al hecho: analizando proyectos
Del dicho al hecho: analizando proyectosDisonancias
 
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...Omar Corona
 
Un poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la PabloUn poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la PabloPablo García Montes
 
Scrum e-tic MALAGA y SEVILLA abril 2011
Scrum e-tic MALAGA y SEVILLA abril 2011Scrum e-tic MALAGA y SEVILLA abril 2011
Scrum e-tic MALAGA y SEVILLA abril 2011xtremobyte
 

Similar a Flujo de desarrollo en drupal (20)

Presentación 1 AESS.pptx
Presentación 1 AESS.pptxPresentación 1 AESS.pptx
Presentación 1 AESS.pptx
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - Uniencounter
 
Webinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesWebinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías Ágiles
 
Laboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datosLaboratorio práctico: La sazón del científico de datos
Laboratorio práctico: La sazón del científico de datos
 
[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
 
Introducción a Behaviour Driven Development
Introducción a Behaviour Driven DevelopmentIntroducción a Behaviour Driven Development
Introducción a Behaviour Driven Development
 
Principios Ágiles, Lean y Scrum
Principios Ágiles, Lean y ScrumPrincipios Ágiles, Lean y Scrum
Principios Ágiles, Lean y Scrum
 
Del dicho al hecho: analizando proyectos
Del dicho al hecho: analizando proyectosDel dicho al hecho: analizando proyectos
Del dicho al hecho: analizando proyectos
 
#avanttic_webinar Migración de Discoverer a Oracle Analytics
#avanttic_webinar Migración de Discoverer a Oracle Analytics#avanttic_webinar Migración de Discoverer a Oracle Analytics
#avanttic_webinar Migración de Discoverer a Oracle Analytics
 
Agile Scrum
Agile ScrumAgile Scrum
Agile Scrum
 
Introducción a Técnicas Agiles y Scrum : Dia 1
Introducción a Técnicas Agiles y Scrum  : Dia 1Introducción a Técnicas Agiles y Scrum  : Dia 1
Introducción a Técnicas Agiles y Scrum : Dia 1
 
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
User Stories - Cómo crearlas y cuándo usarlas. Con Sr. UX Manager Rodrigo Par...
 
Un poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la PabloUn poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la Pablo
 
Metodologia XP
Metodologia XPMetodologia XP
Metodologia XP
 
Scrum e-tic MALAGA y SEVILLA abril 2011
Scrum e-tic MALAGA y SEVILLA abril 2011Scrum e-tic MALAGA y SEVILLA abril 2011
Scrum e-tic MALAGA y SEVILLA abril 2011
 
Ingeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y TecnologíaIngeniería de Software, Agilidad y Tecnología
Ingeniería de Software, Agilidad y Tecnología
 
Front end workflows
Front end workflowsFront end workflows
Front end workflows
 
Introducción a Ténicas Agiles y Scrum: Dia 2
Introducción a Ténicas Agiles y Scrum: Dia 2Introducción a Ténicas Agiles y Scrum: Dia 2
Introducción a Ténicas Agiles y Scrum: Dia 2
 

Último

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Flujo de desarrollo en drupal