En la siguiente charla podrás aprender como convertir tu idea para un producto o startup en algo real y que sea usable por tus usuarios. Todo ello gracias a practicas ágiles y haciendo uso de software abierto
5. Valores Ágiles
A los individuos y su interacción, por encima de los
procesos y las herramientas.
El software que funciona, por encima de la
documentación exhaustiva.
La colaboración con el cliente, por encima de la
negociación contractual.
La respuesta al cambio, por encima del
seguimiento de un plan.
6. Principios Ágiles
1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para
proporcionar ventaja competitiva al cliente.
3 Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más
corto posible.
4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la
ejecución del trabajo.
6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación
cara a cara.
7. El software funcionando es la medida principal de progreso.
8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de
mantener un ritmo constante de forma indefinida.
9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su
comportamiento en consecuencia.
8. STEVE BLANK:
“Es una organización temporal
en búsqueda de un modelo de
negocio escalable y replicable”
ERIC RIES:
“Una institución humana
diseñada para crear un nuevo
producto o servicio bajo
condiciones de extrema
incertidumbre”
12. RANDALL E. STROSS:
“Los mejores programadores no son
marginalmente mejores que los buenos.
Son un orden de magnitud mejores,
medidos por cualquier estándar:
creatividad, velocidad, sencillez de diseño
o habilidad para resolver problemas”
14. CODE KATA
¿ QUE ES ?
Es un ejercicio de programación que que ayuda a mejorar la habilidades a través de la práctica y la repetición.
EJEMPLO:
Traducir números en formato romano, que mano gana al poker…
REGLAS:
- Usa TDD y baby steps
- Repite el proceso varias veces
- Explora nuevas ideas cada vez que la práctica
- Ponte límites en cada ejecución ( Ej. Usa un editor que no se al habitual, no utilices Ifs, usa polimorfismo….)
15. CODING DOJO
¿ QUE ES ?
Es una reunión de programadores que se unen para trabajar en un reto de programación durante un periodo
de tiempo determinado.
TIPOS:
Prepared Kata, Randori Kata, Individual Pairs.
REGLAS:
- Abierto a todo el mundo que quiera aprender, programar y pasarlo bien.
- Usa TDD y baby steps
- No es una competición ni un show
- Se programa en parejas
16. LUNCH TALKS
¿ QUE ES ?
Es una reunión a la hora de comer/merendar/cervezas en la cual un grupo de programadores comparten
conocimientos sobre materias que dominan o quieren aprender.
REGLAS:
- Las charlas pueden deben ocupar como máximo 30 minutos.
- No hace falta que seas un experto en un tema para dar una charla basta con querer impartirlo
- Los contenidos son propuestos individualmente pero votados por el equipo.
- Sólo puedes asistir si también te comprometes a enseñar al resto.
- Todo el mundo come pizzas / todo el mundo bebe cervezas.
- Si no te gustan estas reglas puedes cambiarlas.
18. GUY KAWASAKI:
“Las ideas son fáciles,
la ejecución dura”
MICHAEL DELL:
“Las ideas son mercancía,
su ejecución no”
19. Plantilla: Visión de Producto
VISIÓN
Explica el producto en una sola frase.
PÚBLICO
OBJETIVO
¿ Quienes son los usuarios
objetivos de tu producto?
¿ Quienes son los clientes
objetivos del producto ?
NECESIDAD
¿ Cual es el problema
que estás intentando
resolver?
¿ Cual es el objetivo que
quieres lograr ?
PRODUCTO
3/5 funcionalidades
imprescindibles
VALOR
¿ Cuales son los
objetivos de negocio?
¿ Cual es el valor de tu
producto?
BARRERAS BARRERAS BARRERAS BARRERAS
20. Ejemplo: Visión de Producto
VISIÓN: Viajar a la luna
PÚBLICO
OBJETIVO
Astronautas
El gobierno de EEUU
NECESIDAD
Permitir viajes al espacio
exterior.
Construir un vehículo que
permite el transporte de
humanos con autonomía de
ida y vuelta a la Luna.
PRODUCTO
1. Ida / Vuelta a la
Luna
2. Habitable por seres
humanos
3. Sistema de
comunicación tierra
/ transporte.
VALOR
Ser el primer país en
poner un hombre en la
luna.
Amedrentar a la URSS
Se trata de una idea de JFK pero no
tiene el apoyo del Senado al completo.
Gravedad, en la estratosfera no hay
oxígeno.
Solo se ha conseguido poner
hombres en orbita
URSS ha conseguido poner un
hombre en órbita
23. PETE CASHMORE:
“La ejecución es lo que realmente hace que
una compañía despegue o no. Mucha gente
empieza una cosa excitante y quieren
conquistar el mundo pero lo que realmente
hace la gente que conquista el mundo es
tener un buen plan de como conseguirlo y
los pasos que deben realizar.”
24. El plan
PÚBLICO
OBJETIVO
PERSONA STORYBOARD HISTORIAS
PRODUCTO ACTIVIDADES
DE USUARIO
ROAD MAP
25. Plantilla: Persona
FOTOGRAFÍA
NOMBRE
¿ Qué aspecto tiene
nuestra persona?
¿ Cual es su nombre?
DETALLES
¿ Cuales es el
comportamiento y las
características relevantes
de su personalidad ?
Demografía, trabajo, estilo
de vida, ocio,
OBJETIVOS
¿ Por qué la persona quiere
comprar o usar nuestro
producto ?
¿ Qué problemas debe
resolver nuestra producto?
¿ Qué beneficios pretende
sacar de su uso ?
Organizar por prioridad.
26. Ejemplo: Persona
FOTOGRAFÍA
NOMBRE
Neil Armstrong
DETALLES
Edad: 39 Años
Profesión: Astronauta
A los 6 años tuvo la oportunidad de
volar en un avión. Antes de tener el
carnet de conducir ya tenía el carnet
de piloto de aviones.
Ha participando en la guerra de Corea
realizando 78 misiones exitosas. Tras
su retiro como piloto aprobó las
oposiciones para astronauta y se
encuentra trabajando en la actualidad
para el gobierno de los EEUU.
Se trata de una persona ambiciosa y
con ganas de conquistar el mundo.
“Creo que todos los hombres tienen un
número finito de latidos de corazón. No
tengo intención de gastar ninguno de
los míos”
OBJETIVOS
Quiere ser miembro de la
primera expedición a la
Luna.
Quiere sobrevivir a la
expedición.
Quiere ser mundialmente
conocido.
28. Ejemplo: Storyboard
Mar de la
Tranquilidad
0º42'50"N-23º42'28"E
Escaleras salida
al exterior.
Casco, Guantes,
Botas, Módulo
Supervivencia,
Cuerpo
Es un pequeño
paso para el
hombre pero un
gran paso para la
humanidad.
Zona Control,
Camara
Aislamiento
Apertura
Puertas,
Sistema TV
NOMBRE ACTIVIDAD: Paseo por la luna
El módulo lunar se
encuentra en la superficie
de la luna.
Neil revisa que todo el equipo
que lleva puesto esta correcto
y funcionando.
Tras la comprobación se dirige
a la cámara de aislamiento
para proceder a la salida de la
nave.
Su compañero Buzz abre las
compuertas del módulo y
activa los sistemas de
comunicación.
Neil desciende por las
escaleras y pisa la
superficie lunar.
Tras dar unos cuantos
pasos por la superficie
lunar lanza un mensaje a
la tierra.
29. Plantilla: Historia de Usuario
COMO…
QUIERO…
PARA…
PRIORIDAD
TAMAÑO
CRITERIO DE
ACEPTACIÓN
DADO …
CUANDO…
ENTONCES…
30. Ejemplo: Historia de Usuario
Como Neil Armstrong
Quiero Un traje espacial
Para dar un paseo por la
superficie lunar
PRIORIDAD 10
TAMAÑO 15
CRITERIO DE
ACEPTACIÓN
Dado un astronauta que se
encuentra en un viaje a la luna
cuando aluniza y desciende
de la nave espacial
entonces no se congela y
puede respirar.
31. User Story Mapping
ACTIVIDAD 1 ACTIVIDAD 2 ACTIVIDAD 3
US 1.1
US 1.2
US 1.3
PRIORIDAD
TIEMPO
32. User Story Mapping
PRIORIDAD
ACTIVIDAD 1
TIEMPO
US 1.1
US 1.2
US 1.3
MVP
V.2
V.3
ACTIVIDAD 2 ACTIVIDAD 3
40. STEVE McCONNELL:
“Probar por sí mismo no mejoran la calidad del software.
Los resultados de una prueba son un indicador de
calidad, pero en sí mismas, no la mejoran. Tratar de
mejorar la calidad del software mediante el aumento del
número de pruebas es como tratar de bajar de peso
pesándose con más frecuencia. Lo que comes antes de
subirte a la báscula determina cuánto vas a pesar, y las
técnicas de desarrollo de software que usas van a
determinar cuántos errores encontrarán tus pruebas. Si
usted quiere perder peso, no compre una nueva escala;
cambiar su dieta. Si deseas mejorar tu software, no
midas más; desarrolla mejor.”
41. Pruebas Automáticas
Unit Testing
Es un trozo de código que sirve para comprobar el correcto funcionamiento de un módulo de código. Para ser
una buen test unitario debe ser: Automatizable, completa, repetible, independiente y profesional.
TDD
Test Driven Development (Desarrollo guiado por pruebas): Es una técnica de programación en la cual primero
se desarrolla una prueba unitaria, posteriormente se produce el código satisface ese test unitario y por último
se refactoriza el código escrito sin que el test se rompa.
BDD
Behaviour Driven Development (Desarrollo guiado por comportamiento): Es una práctica de desarrollo
software que extiende a TDD y cuyo definición de pruebas permite unificar mediante el lenguaje del dominio
de negocio al equipo técnico y de negocio.