Flujo de desarrollo en drupal
Upcoming SlideShare
Loading in...5
×
 

Flujo de desarrollo en drupal

on

  • 768 views

Esta presentación fue la que utilicé en mi ponencia en la drupalcamp spain de 2013 en cáceres. ...

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 Drupal

Statistics

Views

Total Views
768
Views on SlideShare
764
Embed Views
4

Actions

Likes
7
Downloads
9
Comments
1

2 Embeds 4

http://www.linkedin.com 2
https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Flujo de desarrollo en drupal Flujo de desarrollo en drupal Presentation Transcript

  • 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