tecnicas ninja

24
Algunas Técnicas Ninja en el Proceso de Desarrollo de Software Carlos García T.

Upload: carlos-garcia

Post on 04-Jul-2015

719 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: Tecnicas ninja

Algunas Técnicas

Ninja

en el Proceso de Desarrollo de

Software

Carlos García T.

Page 2: Tecnicas ninja

Primer Objetivo

Encontrar al ”Chicho”

Page 3: Tecnicas ninja

Perfil del ”Chicho”

Tiene mucho interés en el desarrollo del proyecto

Tiene autoridad para hacer ajustes en cuestiones de tiempo y presupuesto

No siempre es un usuario final del sistema, o el que más lo va a usar

Suele tener conocimientos generales del dominio del problema

Page 4: Tecnicas ninja

El ”chicho” es un aliado, no un enemigo

De hecho es muy provechoso y muy recomendable hacer que trabaje junto con nosotros

Que sepa lo que estamos haciendo y como lo estamos haciendo

Page 5: Tecnicas ninja

Preceptos básicos de la filosofía Ninja moderna

Page 6: Tecnicas ninja

El ninja trabaja en equipo

El arma secreta es la comunicación frecuente

Escucha, aprende y mejora de los demás elementos de su equipo (feedbak)

No tiene miedo a equivocarse

Page 7: Tecnicas ninja

El proyecto y el código es de todos

No hay de que ”esa parte del sistema no me tocó a mi sino a Donatello...”

”Esto que hizo Miguel Angel, no me gustó nada como quedó, pero mejor asi lo dejo porque no es mi sección...”

Page 8: Tecnicas ninja

No buscamos heroes Solo se trabajan

40 horas a la semana

El cansancio es contraproducente

Page 9: Tecnicas ninja

El ambiente Zen

Tratar de que el equipo tenga un buen ambiente de trabajo

Que cada uno se sienta valorado e importante

Page 10: Tecnicas ninja

Contrata al que mejor escriba

Page 11: Tecnicas ninja

El ninja nunca trabaja solo

Siempre trabaja en parejas (pair programming)

Cada semana cambia de compañero de trabajo

Así los novatos se integran más rápido y todos aprenden de todos

Page 12: Tecnicas ninja

El ninja previene

Antes de escribir el código de un módulo, escribe el código para probar lo que incluso todavía no hace

Esto previene errores y además da claridad sobre lo que se necesita

Estas pruebas son automatizadas

Page 13: Tecnicas ninja

El ninja primero piensa:YAGNI

You Aren't Going to Need It

Siempre implementar cosas cuando realmente se necesitan, no cuando se piense que se necesitarán

Mantener ante todo un diseño simple

Menos es mas, no hay que emocionarse

Page 14: Tecnicas ninja

Refactorizar todo el tiempo

El ninja sabe volver sobre sus pasos

Cuando ya se tiene un modulo funcionando, el ninja siempre se pregunta si existe una mejor manera de hacerlo

No es volver a hacerlo... solo re-pensarlo

Page 15: Tecnicas ninja

Estándares de Codificación

Los elementos del equipo deben usar un mismo estilo de codificación y acordar las reglas que todos seguirán

Lo ideal es que el código sea autodocumentado (self-documented)

Page 16: Tecnicas ninja

Que NO debe faltar en el arsenal de armas

Control de versiones

Un analizador estático

Automatizar la generación de entregables

Page 17: Tecnicas ninja

Se deben tener pequeños objetivos(sprints)

Levanta la moral del equipo

Da sensación de logro

El cliente ve resultados muy pronto

Page 18: Tecnicas ninja

Los ninja juegan Poker

Las estimaciones de tiempo siempre dependen de la experiencia de cada elemento del equipo

Page 19: Tecnicas ninja

Tablero del Sprint

Page 20: Tecnicas ninja

La reunión matutina diaria

Page 21: Tecnicas ninja

A lo largo del sprint

Page 22: Tecnicas ninja

El ninja siempre gana por nockout

Evitar estimaciones parciales en el avance de las tareas, siempre es 0% o 100%

Page 23: Tecnicas ninja

Por último: El ninja siempre está afilando la

katana Siempre lee sobre

nuevas tecnologías

No menosprecia paradigmas ni lenguajes, siempre trata de encontrar la herramienta que mejor se adecúa a cada misión

Page 24: Tecnicas ninja

Preguntas?