prácticas ágiles y software abierto para poner en órbita tu startup
Post on 18-Dec-2014
362 Views
Preview:
DESCRIPTION
TRANSCRIPT
Prácticas ÁGILES y software ABIERTO para
poner en órbita tu startupRUBEN ORTA - @agileando
email: ruben.orta@gmail.com
web: http://devspoke.com
twitter: @agileando
linkedin: es.linkedin.com/in/rubenorta
slideshare: es.slideshare.net/agileando
github: github.com/rubenorta
Rubén Orta MagánCTO Grupo Antevenio
1. INTRODUCCIÓN
¿ Qué es el agilismo ?
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.
Valores Á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.
Principios Ágiles
¿ y una startup ?
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”
IDEA CLIENTES
EQUIPO
Elementos de una startup
IDEA CLIENTES
EQUIPO
Elementos de una startup
estrategia + ejecución
2. EL EQUIPO
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”
Práctica Deliberada
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….)
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
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.
3. LA IDEA
GUY KAWASAKI:“Las ideas son fáciles,
la ejecución dura”
MICHAEL DELL:“Las ideas son mercancía,
su ejecución no”
Plantilla: Visión de ProductoVISIÓNExplica el producto en una sola frase.
PÚBLICOOBJETIVO
¿ 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
Ejemplo: Visión de ProductoVISIÓN: Viajar a la luna
PÚBLICOOBJETIVO
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
Herramientas
4. LA EJECUCIÓN
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.”
El plan
PÚBLICOOBJETIVO
PRODUCTO ACTIVIDADES
PERSONA STORYBOARD HISTORIASDE USUARIO
ROAD MAP
Plantilla: PersonaFOTOGRAFÍ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.
Ejemplo: PersonaFOTOGRAFÍA
NOMBRE
Neil Armstrong
DETALLESEdad: 39 AñosProfesió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.
Plantilla: StoryboardNOMBRE ACTIVIDAD:
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.
Plantilla: Historia de Usuario
COMO… QUIERO…PARA…
PRIORIDAD
TAMAÑO
CRITERIO DE ACEPTACIÓN
DADO …CUANDO… ENTONCES…
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.
User Story Mapping
US 1.1
US 1.2
US 1.3
PRIORIDAD
TIEMPO
ACTIVIDAD 1 ACTIVIDAD 2 ACTIVIDAD 3
User Story Mapping
PRIORIDAD
TIEMPO
ACTIVIDAD 1
US 1.1
US 1.2
US 1.3
MVP
V.2
V.3
ACTIVIDAD 2 ACTIVIDAD 3
Herramientas
Metodología
Scrum
backlogUS
planificadas sprint
ejecucióndiaria
entrega
feedback
planning
retrospectivas
daily
demo
Arquitectura
API
WebApp Servidor Base deDatos
Internet
REQUEST
RESPONSE
Arquitectura REST
Frontend
Backend
DataBases
Herramientas
Testing
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.”
Pruebas AutomáticasUnit 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.
TDDTest 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.
BDDBehaviour 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.
Frontend
Backend
Herramientas
IntegraciónContinua
DespliegueContinuo
INTEGRACIÓNCONTINUA
SISTEMA DE CONTROL DEVERSIONES
Herramientas
Producción
WEB
ADMIN
ENTORNOS
Herramientas
[5] http://agilemanifesto.org/iso/es/[6] http://agilemanifesto.org/iso/es/principles.html[19] http://www.romanpichler.com/tools/vision-board/[21] https://es.libreoffice.org/[25] http://www.romanpichler.com/blog/persona-template-for-agile-product-management/[32] http://www.agileproductdesign.com/blog/the_new_backlog.html[35] https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide.pdf[41] http://visionmedia.github.io/mocha/
http://karma-runner.github.io/http://sinonjs.org/http://chaijs.com/
[44] http://jenkins-ci.org/http://www.sonarqube.org/http://git-scm.com/http://mercurial.selenic.com/https://rhodecode.com/
Enlaces
top related