5. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
6. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
15. Qué es Scrum?
Scrum es un marco de trabajo para la
gestión y desarrollo de productos
complejos, en un proceso iterativo e
incremental utilizado comúnmente en
entornos donde existe gran
incertidumbre.
“
”
Fuente: Introducción a Agilidad y Scrum: http://twileshare.com/uploads/EFF46d01.pdf Scrum: http://es.wikipedia.org/wiki/Scrum
16. Qué es Scrum?
Scrum es un marco de trabajo para la
gestión y desarrollo de productos
complejos, en un proceso iterativo e
incremental utilizado comúnmente en
entornos donde existe gran
incertidumbre.
“
”
Fuente: Introducción a Agilidad y Scrum: http://twileshare.com/uploads/EFF46d01.pdf Scrum: http://es.wikipedia.org/wiki/Scrum
21. usertaskstosupport
releaseD D D D D I IB- C C- D D D DA- B B- B B B B-A- A B A A- A- B-
sprint
1234
Producto: (en 4 sprints) para entregar el major proudcto
Iterativo e incremental permite construir el mejor producto
posible ajustando las necesidades y entregando valor
visible con cada iteración.
26. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
34. Qué son los Code Smells?
Son todos los síntomas que
podemos encontrar en el código
fuente de un sistema que
indican que muy probablemente
existan problemas más
profundos de calidad de código,
de diseño o de ambos.
62. Qué es un patrón de diseño?
Es la base para la búsqueda de soluciones a
problemas comunes en el desarrollo de
software y otros ámbitos referentes al diseño
de interacción o interfaces.
Un patrón de diseño resulta ser una solución
a un problema de diseño.
“
”
Fuente: http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o
63. Creación: resuelven problemas de instanciación
de objetos.
Estructura: resuelven problemas relacionados a la
forma de estructurar las clases.
Comportamiento: resuelven problemas
relacionados al comportamiento de la
aplicación.
64.
65.
66. Creación: resuelven problemas de instanciación
de objetos.
Estructura: resuelven problemas relacionados a la
forma de estructurar las clases.
Comportamiento: resuelven problemas
relacionados al comportamiento de la
aplicación.
Arquitectónicos: resuelven problemas
relacionados a la arquitectura de la solución y
despliegue.
70. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
74. Prueba Unitaria
Es una pieza de código
(usualmente un método) que
invoca a otra pieza de código y
verifica la correctitud de ciertas
suposiciones hechas inicialmente.
“
”
Fuente: The Art of The Unit Testing
75. Cómo escribir una prueba unitaria?
Analizar
unidad de
código
Definir
Contrato de
Invocación
Diseñar casos
de prueba
Ejecución
pruebas
anteriores
Crear Suite
de pruebas
para unidad
Implementar
unidad
Ejecutar
Suite de
Pruebas.
Corregir
errores
Ejecutar
otras pruebas
unitarias.
Liberación de
Unidad
90. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
92. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
94. Deuda Técnica
Es un concepto en la
programación que refleja el
trabajo de desarrollo adicional
que surge cuando se utiliza la vía
fácil de hacer código a través de
medidas a corto plazo en lugar de
aplicar la mejor solución global.
“
”
Fuente: http://www.techopedia.com/definition/27913/technical-debt
95. Deuda Técnica
Es el costo que se acumula por
evitar hacer lo correcto en el
momento adecuado,
permitiendo que la calidad del
software se deteriore en el
tiempo.
“
”
100. Evaluación de la Deuda Técnica
Esfuerzo estimado para el pago de la deuda
(Colocar los indicadores al mínimo)
Porcentaje de Deuda
Técnica en el programa
Impacto de las Métricas en el Indicador
101. Modelo de Mantenibilidad SIG - ISO
Software Improvement Group Maintainability Model
0
1
2
3
Estabilidad
Facilidad de
análisis
Facilidad de
cambio
Facilidad de
Pruebas
ISO/IEC 9126 Software Quality
(Maintainability)
103. Responsabilidades del Team Member
• Comprender los principios del desarrollo ágil
• Asegurar la excelencia técnica
• Aplicar buenas prácticas para la
programación
• Probar el código
• Permitir el desarrollo evolutivo
• Reducir la deuda técnica
• Trabajar colaborativamente
107. Retrospectivas
“Sin importar lo que hemos descubierto,
entendemos y ciertamente creemos que
cada uno hizo el mejor trabajo que pudo,
con lo que conocíamos en ese momento,
con las habilidades, los recursos
disponibles, y la situación dada.”
— Norm Kerth, Project Retrospectives: A Handbook for Team Reviews
Directiva Primaria
111. The Scrum Guide:http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-
ES.pdf#zoom=100
The Scrum Body of Knowledge:
http://www.scrumstudy.com/SBOK/SCRUMstudy-SBOK-Guide-2013-spanish.pdf
Introducción a Agile y Scrum
http://www.slideshare.net/JohnnyDark/introduccin-a-agile-y-scrum-15642614
Estimación y Planificación ágil
http://www.slideshare.net/JohnnyDark/estimacin-y-planificacin-gil-webinar
Scrum y XP desde las trincheras: http://www.proyectalis.com/wp-
content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf
Flexibilidad con Scrum
http://www.navegapolis.net/files/Flexibilidad_con_Scrum.pdf
112. The Scrum
Primer: http://assets.scrumfoundation.com/downloads/2/scrumpapers.pdf?1285932052
Un Mejor Scrum: http://www.scrumsense.com/wp-content/uploads/2012/03/Un-mejor-Scrum-
2.pdf
The Scrum
Papers: http://assets.scrumfoundation.com/downloads/2/scrumpapers.pdf?1285932052
Artículos sobre Scrum:
http://www.mountaingoatsoftware.com/topics/scrum
http://agileanarchy.wordpress.com/2009/09/20/simple-scrum/
http://www.scrumalliance.com/articles
Agile for
Dummies: http://digitalcelerity.com/Resources/Documents/AGILE%20FOR%20DUMMIES%20-
%20eBOOK.pdf
Essential Scrum [Book]
http://www.amazon.com/Essential-Scrum-Practical-Addison-Wesley-Signature/dp/0137043295
=UTF8&qid=1438286302&sr=1-1&keywords=agile+software+development+Shore
113. Succeding Agile Software Development [Book]
http://www.amazon.com/Succeeding-Agile-Software-Development-
Using/dp/0321579364/ref=sr_1_1?s=books&ie=UTF8&qid=1438286257&sr=1-
1&keywords=succeeding+with+agile
The Art of Agile Development [Book]
http://www.amazon.com/Art-Agile-Development-James-
Shore/dp/0596527675/ref=sr_1_1?s=books&ie=UTF8&qid=1438286302&sr=1-
1&keywords=agile+software+development+Shore
Scrum Reference Card
http://scrumreferencecard.com/
Introduction to Scrum [Video]
https://www.youtube.com/watch?v=D8vT7G0WATM
Agile Training (Scrum) [Videos]
https://www.youtube.com/playlist?list=PLF6BFA8BAEDF6CE70
114. Growing Agile: A Coach's Guide to Agile Testing
https://leanpub.com/AgileTesting
Serious LeAP by Masa Maeda
https://www.slideshare.net/masakmaeda/serious-leap-talk-at-agile-2015-conference
Scrummaster As A Servant Leader
https://luis-goncalves.com/scrummaster-servant-leader/
Scaled Agile Framework (SAFe)
http://scaledagileframework.com/
https://www.youtube.com/watch?v=9TJDobOJMQw
http://www.youtube.com/watch?v=XRKyYI5mbhc