Este documento presenta varias técnicas para desarrollar software como un ninja. Recomienda encontrar al "Chicho", una persona clave en el proyecto con autoridad sobre el tiempo y presupuesto. También enfatiza trabajar en equipo mediante la comunicación frecuente, programación en parejas y aprendizaje continuo. Además, propone implementar pequeños objetivos, automatizar pruebas, y siempre mejorar el código a través de la refactorización.
Este documento describe diferentes tipos de pruebas de software, incluyendo pruebas de rendimiento, pruebas funcionales realizadas por el cliente, pruebas de regresión y pruebas de caja negra. Explica que las pruebas de rendimiento evalúan el sistema bajo condiciones de trabajo particulares para validar atributos como escalabilidad y uso de recursos.
Los humedales de Santa Lucía son ecosistemas ubicados en el Uruguay que abarcan unas 20,000 hectáreas formadas por el río Santa Lucía y sus afluentes. Contienen una gran biodiversidad de plantas, peces, mamíferos, aves, anfibios y reptiles, incluyendo especies como el carpincho, nutria y biguá. Se ha propuesto proteger este hábitat mediante la preservación del ecosistema, educación ambiental y turismo sustentable.
Este documento presenta los conceptos clave de Agile Testing. Explica que el testing es una actividad continua y no una fase separada, y que todo el equipo es responsable de la calidad, no solo los testers. También destaca la importancia de prevenir bugs en lugar de buscarlos, y de entender realmente las necesidades del negocio más que simplemente verificar especificaciones. El mindset de Agile Testing se basa en preguntar "por qué", "cómo" y "qué pasaría si" para asegurar que se va en la dirección correcta de satisfacer las neces
Este documento ofrece consejos para mejorar las habilidades de programación. Recomienda aprender bien el lenguaje de programación, leer mucho código de otros programadores, y practicar constantemente creando pequeños programas y herramientas. También sugiere aprender y aplicar nuevos conceptos, utilizar herramientas útiles, y aprender más de un lenguaje de programación a lo largo del tiempo.
Este documento describe antipatrones de desarrollo de software, que son malas prácticas de programación que conducen a problemas. Identifica causas comunes como la prisa, la pereza y la ignorancia. Presenta ejemplos breves de antipatrones como "Spaghetti Code" y "Magic Buttons". Explica cómo evitarlos siguiendo principios como KISS y YAGNI, y siempre considerando que otro desarrollador tendrá que mantener el código en el futuro.
Este documento presenta los principios y marco de trabajo de Kanban. Explica que Kanban se centra en personas, respeto y transparencia por encima de herramientas. No prescribe roles u otras reglas, pero requiere que existan para gestionar el flujo de trabajo visualizado en la pizarra Kanban. El objetivo principal de la pizarra es radiar información para controlar el trabajo en progreso, tiempos de entrega y detectar cuellos de botella, aplicando un enfoque "pull" en lugar de "push". La audiencia es invitada a ident
Introducción al Test-Driven Development (TDD) por Eric MignotPablo Lischinsky
Introducción al Test-Driven Development (TDD) por Eric Mignot
Charla dictada en la Universidad de Los Andes, Mérida-Venezuela, Mayo 2012.
Ciclo en cascada de desarrollo de software. Testing. Valor entregado a los clientes y usuarios.
Agilidad, Scrum.
Colaboración, trabajo en equipo, especificaciones de software, tests, calidad del software.
Ciclo TDD: 1) Test, 2) Code y 3) Refactor.
Práctica, ejemplos.
Siempre se habla del secreto del éxito. Acá intentamos lo opuesto. Hablamos de todo lo que hicimos mal en nuestro pasado para compartir las piezas y aprender colectivamente.
Ideas implementadas, observaciones, experiencias y mas.
Este documento describe diferentes tipos de pruebas de software, incluyendo pruebas de rendimiento, pruebas funcionales realizadas por el cliente, pruebas de regresión y pruebas de caja negra. Explica que las pruebas de rendimiento evalúan el sistema bajo condiciones de trabajo particulares para validar atributos como escalabilidad y uso de recursos.
Los humedales de Santa Lucía son ecosistemas ubicados en el Uruguay que abarcan unas 20,000 hectáreas formadas por el río Santa Lucía y sus afluentes. Contienen una gran biodiversidad de plantas, peces, mamíferos, aves, anfibios y reptiles, incluyendo especies como el carpincho, nutria y biguá. Se ha propuesto proteger este hábitat mediante la preservación del ecosistema, educación ambiental y turismo sustentable.
Este documento presenta los conceptos clave de Agile Testing. Explica que el testing es una actividad continua y no una fase separada, y que todo el equipo es responsable de la calidad, no solo los testers. También destaca la importancia de prevenir bugs en lugar de buscarlos, y de entender realmente las necesidades del negocio más que simplemente verificar especificaciones. El mindset de Agile Testing se basa en preguntar "por qué", "cómo" y "qué pasaría si" para asegurar que se va en la dirección correcta de satisfacer las neces
Este documento ofrece consejos para mejorar las habilidades de programación. Recomienda aprender bien el lenguaje de programación, leer mucho código de otros programadores, y practicar constantemente creando pequeños programas y herramientas. También sugiere aprender y aplicar nuevos conceptos, utilizar herramientas útiles, y aprender más de un lenguaje de programación a lo largo del tiempo.
Este documento describe antipatrones de desarrollo de software, que son malas prácticas de programación que conducen a problemas. Identifica causas comunes como la prisa, la pereza y la ignorancia. Presenta ejemplos breves de antipatrones como "Spaghetti Code" y "Magic Buttons". Explica cómo evitarlos siguiendo principios como KISS y YAGNI, y siempre considerando que otro desarrollador tendrá que mantener el código en el futuro.
Este documento presenta los principios y marco de trabajo de Kanban. Explica que Kanban se centra en personas, respeto y transparencia por encima de herramientas. No prescribe roles u otras reglas, pero requiere que existan para gestionar el flujo de trabajo visualizado en la pizarra Kanban. El objetivo principal de la pizarra es radiar información para controlar el trabajo en progreso, tiempos de entrega y detectar cuellos de botella, aplicando un enfoque "pull" en lugar de "push". La audiencia es invitada a ident
Introducción al Test-Driven Development (TDD) por Eric MignotPablo Lischinsky
Introducción al Test-Driven Development (TDD) por Eric Mignot
Charla dictada en la Universidad de Los Andes, Mérida-Venezuela, Mayo 2012.
Ciclo en cascada de desarrollo de software. Testing. Valor entregado a los clientes y usuarios.
Agilidad, Scrum.
Colaboración, trabajo en equipo, especificaciones de software, tests, calidad del software.
Ciclo TDD: 1) Test, 2) Code y 3) Refactor.
Práctica, ejemplos.
Siempre se habla del secreto del éxito. Acá intentamos lo opuesto. Hablamos de todo lo que hicimos mal en nuestro pasado para compartir las piezas y aprender colectivamente.
Ideas implementadas, observaciones, experiencias y mas.
Este documento habla sobre Coding Dojos y Code Katas. Explica que un Coding Dojo es un lugar para practicar programación en grupo de manera colaborativa mediante ejercicios como Code Katas, que son retos de programación para practicar y mejorar las habilidades mediante prueba y error. Propone dos desafíos iniciales, FizzBuzz y StringCalculator, para que los asistentes los resuelvan aplicando TDD.
Este documento presenta una introducción a las metodologías ágiles Scrum y Kanban. Explica brevemente los roles, herramientas y principios clave de Scrum como el Product Backlog, Sprints, Daily Meetings y Retrospectivas. También describe los objetivos de Kanban de controlar el trabajo en progreso, tiempos de espera y flujo visualizando el trabajo. Finalmente, enfatiza que no existe un único diseño de tablero kanban y que su objetivo principal es radiar información.
Aprende a programar como se debe, programar no es conocer varios lenguajes de programación, o matarse escribiendo códigos, se debe tener unas bases fundamentales para ser programador, primero hay que pensar como tal.
Como triunfar con tu proyecto en un hackatónJuan J. Merelo
Guía para los proyectos participantes en el hackatón de proyectos de la UGR, donde explicamos qué hacer para atraer colaboradores en el hackatón y, si es posible, conservarlos
Este documento proporciona consejos para proyectos participantes en el 7o Hackathon CUSL-UGR. Explica que un hackathon es una experiencia de trabajo colaborativo para desarrollar proyectos de software de manera conjunta. Recomienda atraer y educar a colaboradores, incluirlos en tareas significativas aunque no sean expertos, y obtener un resultado tangible al final del evento para continuar mejorando el proyecto.
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)233 Grados de TI
Este documento describe la transición de un tester tradicional llamado Mengano a un rol más ágil. Originalmente, Mengano se dedicaba principalmente a la validación manual repetitiva del software, lo que lo dejaba saturado y sin aprender nuevas habilidades. Su empresa adoptó métodos ágiles pero Mengano no formaba parte del equipo. Para integrarse, Mengano necesita aprender las herramientas y cultura del equipo, automatizar pruebas, y aportar valor continuamente. Esto requiere paciencia, formación específica, y celebrar pequeños
Este documento describe la transición de un tester tradicional llamado Mengano a un rol más ágil. Originalmente, Mengano se dedicaba principalmente a la validación manual repetitiva del software, lo que lo dejaba saturado y sin aprender nuevas habilidades. Su empresa adoptó métodos ágiles pero Mengano no formaba parte del equipo. Para integrarse, Mengano necesita aprender las herramientas y cultura del equipo, automatizar pruebas, y aportar valor continuamente. Esto requiere paciencia, formación específica a las necesidades del equip
8º hackatón de proyectos libres de la UGR: Ayuda para los participantesJuan J. Merelo
Este documento ofrece consejos para proyectos participantes en el 8o Hackathon CUSL-UGR. Explica que un hackathon es una experiencia colaborativa para trabajar en proyectos de software de forma colaborativa. Recomienda atraer y educar a colaboradores, incluirlos en tareas incluso si no son informáticos, y buscar ayuda de la OSL. También enfatiza la importancia de tener una guía de prácticas de codificación, crear issues en GitHub, y obtener un resultado tangible al final del hackathon.
Este documento presenta un resumen de una sesión de aprendizaje sobre algoritmos. La estudiante Jeniffer Ponce aprendió que un algoritmo es una lista de pasos para completar una tarea de manera ordenada y sin errores. También aprendió que los algoritmos se pueden crear para cualquier tema y que todo problema tiene una solución que se puede encontrar mediante el análisis y entendimiento del contexto del problema.
Este documento habla sobre Coding Dojos y Code Katas. Explica que un Coding Dojo es un lugar para practicar programación en grupo de manera colaborativa mediante ejercicios como Code Katas, que son retos de programación para practicar y mejorar las habilidades mediante prueba y error. Propone dos desafíos iniciales, FizzBuzz y StringCalculator, para que los asistentes los resuelvan aplicando TDD.
Este documento presenta una introducción a las metodologías ágiles Scrum y Kanban. Explica brevemente los roles, herramientas y principios clave de Scrum como el Product Backlog, Sprints, Daily Meetings y Retrospectivas. También describe los objetivos de Kanban de controlar el trabajo en progreso, tiempos de espera y flujo visualizando el trabajo. Finalmente, enfatiza que no existe un único diseño de tablero kanban y que su objetivo principal es radiar información.
Aprende a programar como se debe, programar no es conocer varios lenguajes de programación, o matarse escribiendo códigos, se debe tener unas bases fundamentales para ser programador, primero hay que pensar como tal.
Como triunfar con tu proyecto en un hackatónJuan J. Merelo
Guía para los proyectos participantes en el hackatón de proyectos de la UGR, donde explicamos qué hacer para atraer colaboradores en el hackatón y, si es posible, conservarlos
Este documento proporciona consejos para proyectos participantes en el 7o Hackathon CUSL-UGR. Explica que un hackathon es una experiencia de trabajo colaborativo para desarrollar proyectos de software de manera conjunta. Recomienda atraer y educar a colaboradores, incluirlos en tareas significativas aunque no sean expertos, y obtener un resultado tangible al final del evento para continuar mejorando el proyecto.
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)233 Grados de TI
Este documento describe la transición de un tester tradicional llamado Mengano a un rol más ágil. Originalmente, Mengano se dedicaba principalmente a la validación manual repetitiva del software, lo que lo dejaba saturado y sin aprender nuevas habilidades. Su empresa adoptó métodos ágiles pero Mengano no formaba parte del equipo. Para integrarse, Mengano necesita aprender las herramientas y cultura del equipo, automatizar pruebas, y aportar valor continuamente. Esto requiere paciencia, formación específica, y celebrar pequeños
Este documento describe la transición de un tester tradicional llamado Mengano a un rol más ágil. Originalmente, Mengano se dedicaba principalmente a la validación manual repetitiva del software, lo que lo dejaba saturado y sin aprender nuevas habilidades. Su empresa adoptó métodos ágiles pero Mengano no formaba parte del equipo. Para integrarse, Mengano necesita aprender las herramientas y cultura del equipo, automatizar pruebas, y aportar valor continuamente. Esto requiere paciencia, formación específica a las necesidades del equip
8º hackatón de proyectos libres de la UGR: Ayuda para los participantesJuan J. Merelo
Este documento ofrece consejos para proyectos participantes en el 8o Hackathon CUSL-UGR. Explica que un hackathon es una experiencia colaborativa para trabajar en proyectos de software de forma colaborativa. Recomienda atraer y educar a colaboradores, incluirlos en tareas incluso si no son informáticos, y buscar ayuda de la OSL. También enfatiza la importancia de tener una guía de prácticas de codificación, crear issues en GitHub, y obtener un resultado tangible al final del hackathon.
Este documento presenta un resumen de una sesión de aprendizaje sobre algoritmos. La estudiante Jeniffer Ponce aprendió que un algoritmo es una lista de pasos para completar una tarea de manera ordenada y sin errores. También aprendió que los algoritmos se pueden crear para cualquier tema y que todo problema tiene una solución que se puede encontrar mediante el análisis y entendimiento del contexto del problema.
3. 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
4. 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
6. 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
7. 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...”
8. No buscamos heroes
Solo se trabajan
40 horas a la
semana
El cansancio es
contraproducent
e
9. El ambiente Zen
Tratar de que el
equipo tenga un
buen ambiente de
trabajo
Que cada uno se
sienta valorado e
importante
11. 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
12. 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
13. 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
14. 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
15. 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)
16. Que NO debe faltar en el
arsenal de armas
Control de versiones
Un analizador estático
Automatizar la
generación de
entregables
17. Se deben tener pequeños
objetivos
(sprints)
Levanta la moral
del equipo
Da sensación de
logro
El cliente ve
resultados muy
pronto
18. Los ninja juegan Poker
Las estimaciones de tiempo
siempre dependen de la
experiencia de cada elemento del
equipo
22. El ninja siempre gana por
nockout
Evitar estimaciones parciales en el
avance de las tareas, siempre es
0% o 100%
23. 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