Scrum en 25 palabras

26 / Julio / 2008 – 23:44

Scrum es un proceso de desarrollo ágil cuyas directrices rigen el proceso de desarrollo de un producto, desde su etapa de diseño hasta su conclusión.

El objetivo de Scrum es evitar las fallas comunes que se tienen en el típico proceso de desarrollo, tales como:

  • Caos debido a los cambios en los requerimientos. Los requerimientos de un proyecto normalmente pueden cambiar drásticamente desde que el producto se ha diseñado para cuando se lance. En la mayoría de métodos de desarrollo de productos, todo el diseño se realiza al comienzo del proyecto y, a continuación, no se permiten los cambios al cambiar los requerimientos.
  • Estimaciones de tiempo, costo y calidad del producto poco realistas. La gestión de proyectos y los desarrolladores tienden a subestimar cuánto tiempo y recursos tomará el proyecto, y cuánta funcionalidad se pueden producir dentro de esas limitaciones. En realidad, esto normalmente no se puede predecir con precisión al comienzo del ciclo de desarrollo.
  • Los desarrolladores se ven obligados a mentir sobre el avance del proyecto. Cuando se subestima el tiempo y el coste necesarios para alcanzar un determinado nivel de calidad, los desarrolladores deben, ya sea mentir acerca de cuánto se ha progresado en el desarrollo del producto, o indignarse.

Cualidades de Scrum

  • Este proceso ágil se centra en ofrecer el más alto valor comercial en el menor tiempo.
  • Permite inspeccionar el trabajo real del desarrollo (cada mes).
  • El Dueño del producto establece las prioridades, y el Equipo se auto-organiza para determinar la mejor manera de entregar los elementos del producto con mayor prioridad.
  • Entre las dos semanas y el mes, quien sea puede ver el trabajo real y decidir si entregarlo así como está o continuar incrementándolo en otro Sprint.

Scrum se ha empleado con éxito en cientos de diferentes empresas en diferentes ámbitos, con resultados destacables. Hay muchas similitudes entre Scrum y Extreme Programming (XP), pero uno de las principales diferencias es que Scrum tiene un conjunto de directrices que rigen el proceso de desarrollo de un producto. Por esta razón, es a menudo utilizado como un “envoltorio” para otras metodologías, como como son XP o CMM (Capability Maturity Model), es decir, se utiliza para guiar el proceso general de desarrollo al utilizar estas otras metodologías.

Share/Save/Bookmark

Reglas básicas de Scrum

23 / Julio / 2008 – 1:50
  • Tiempo completo del ScrumMaster.
  • El ScrumMaster asegura el seguimiento de las reglas de Scrum básicas, comunes y de esquema.
  • ScrumMaster da el seguimiento y la eliminación de los obstáculos.
  • Reuniones Scrum diariamente para contestar las tres preguntas ( que se hizo?, qué se hará?, obstáculos -o qué se necesita- ? ).
  • Cualquier persona puede observar la reunión Scrum, pero no participar.
  • Primera parte del Sprint: Los items de la Pila del Producto son seleccionados por el Equipo.
  • Segunda parte del Sprint: El equipo crea la Pila del Sprint con las tareas encontradas.
  • Las tareas de la Pila del Sprint son Agregadas/Actualizadas/Eliminadas por el Equipo.
  • Gráfica del Sprint.
  • Incluir demos y retrospectiva en la revisión del Sprint.
  • Reuniones retrospectivas con el equipo completo para las mejoras del proceso.
  • Definición de “Hecho” para tareas.
  • Definición de “Hecho” para items de la Pila del Producto.
  • Definición de “Hecho” para los incrementos entregables de software.
  • Compromiso de velocidad calculada para los Sprint’s.
  • Miembros voluntarios del equipo para las tareas, una tarea hasta completarla.
  • Equipo puede solicitar asesoramiento, ayuda, información.
  • Los miembros del equipo no tienen roles.
  • No hay interrupciones, consejos o repriorización de trabajo durante los Sprint’s.
  • Hacer la planeación del Sprint y las reuniones de Revisión cada mes.

Share/Save/Bookmark

Consejos para que la administración de proyectos sea fácil

11 / Julio / 2008 – 23:55

En la conferencia magistral ”Making Project Managment Happen in the Real World“ impartida por Rita Mulcahy nos dió algunos consejos para hacer que la administración de proyectos sea más fácil. Dada su trayectoria y experiencia la llevaron a construir una guía para ayudar a las personas a encontrar respuesta a culquiera de las preguntas acerca de sus problemas en sus proyectos.

En su presentación señala que los proyectos ahora son cada vez más exitosos pero que aún hay muchas personas están atrapadas en sus problemas y nunca se han detenido a pensar en el costo de esos problemas y sus reacciones a ellos. No son conscientes de que su cuerpo responde a lo que ellas están pensando y que el estrés disminuye su capacidad para tomar buenas decisiones. Sabiendo que todo el mundo tiene problemas proporciona cierto alivio. Quizás es hora de que los administradores de proyectos tomen conciencia de que se gasta mucho tiempo en quejarse de los problemas en lugar de la planificación de acciones.

Para tener el control de un problema, hay que usar el proceso de Rita para resolver problemas (Rita’s Problem-Solving Process):

  1. Listar tus problemas
  2. Listar lo que anda bien para obtener en mejor estado de ánimo para la solución de problemas.
  3. Seleccionar los problemas que vale la pena tratar, no desperdiciar el esfuerzo.
  4. Para cada uno de los problemas, volver a la historia desde una nueva perspectiva.
  5. Llegar a un punto de vista positivo en la nueva historia.
  6. Reducir la historia.
  7. Nombrar el problema.
  8. Revisar tu capacitación en la administración de proyectos para encontrar la forma de prevenir o tratar el problema.
  9. Investigar opciones con otros.
  10. Eligir una solución.
  11. Ejecutar la solución.
  12. Revisar que la solución se lleve a cabo.

Este proceso ayudará a obtener los siguientes resultados:

  • Hará que te sientas más en control.
  • Despejará tu cerebro para que puedas pensar.
  • Reducirá la conexión emocional del problema.
  • Te permite ver que tu problema particular es común.
  • Te ayudará a encontrar soluciones.

Así que ahora puedes imaginarte la situación que te gustaría. Tal vez ha llegado el momento de ser el jefe de proyecto que quieres ser, más que estar esperando a que alguien más te de la oportunidad.

No esperar a que los problemas ocurran! La siguiente es una lista de los problemas comunes en los proyectos que ayuda a nombrar tus propios problemas y también a prevenirlos.

Problemas comunes en los proyectos

  • No involucrar propiamente a todos los interesados
  • Planes poco realistas
  • Gastar demasiado tiempo en hacer frente a los problemas
  • Realizar reuniones donde cada uno va al rededor de la sala a reportar
  • Excesiva deformación del alcance
  • Sentirse fuera de control
  • No estar razonablemente seguro de que puede cumplir con el tiempo y el coste necesarios
  • La falta de tiempo cerca del final de un proyecto
  • Demasiadas reuniones
  • Demasiados cambios
  • Gastar demasiado tiempo reportando
  • No llevar la administración de riesgos
  • Planificación sin el aporte de todo el equipo
  • El no gestionar las expectativas de los interesados
  • El no ser capaz de tomar tu tiempo de vacaciones
  • Equipo no cooperativo (poco equipo)
  • Malabarear con las demandas de los interesados
  • La falta de seguimiento a través de los miembros del equipo
  • Pobre definición de los objetivos del proyecto (mal definidos)
  • Coordinación de multiples proyectos
  • No conseguir una buena y fiable información

¿Por qué no utilizar el mismo razonamiento para motivarte a planificar tu día? Imagina un gran día - verlo, sentirlo, imaginarlo como si este ha ocurrido. A continuación, disfruta cada vez más de tus días, que en realidad, resultan como tu los imaginas.

Share/Save/Bookmark

Tips para construir aplicaciones Web 2.0

17 / Mayo / 2008 – 4:14

Actualmente se están viendo aplicaciones Web mucho más integradas que en el pasado, es decir, tienen componentes que se pueden distribuir en otras aplicaciones y además se están apoyando cada vez más en Web Services y APIs. También, se está viendo que la funcionalidad de las aplicaciones web está siendo atada en componentes distribuibles tales como widgets, gadgets, badges y aplicaciones SNS embebidas. Las aplicaciones Web de siguiente generación son mucho más sociales que las del pasado con características tales como listas de amigos, flujos de actividad, y agregación de otros sitios sociales. Las aplicaciones Web de siguiente generación están apoyándose en nuevas plataformas de desarrollo tales como Ruby on Railsмебели, 3tera, Amazon’s EC2, Google App Engine.

Ajax, Adobe’s AIR, Microsoft’s Silverlight, y Sun’s JavaFx son plataformas recientes para la creación de aplicaciones web ricas que sacan beneficio de las fortalezas de los individuos para crear nuevas experiencias de usuario altamente apremiante que antes no era posible. Aquí hay algunos tips de alto nivel para la construcción de aplicaciones Web 2.o.

  • Entender las bases de Web 2.o.
  • Reunir un equipo de desarrollo que esté dispuesto a aprender.
  • Consumir tiempo para estudiar la competencia.
  • Obtener el conocimiento de tus clientes para ofrecer lo que realmente necesitan.
  • No perder de vista los fundamentos del Web 2.0компютри втора употребамебели
  • Usar las más recientes herramientas, tecnologías, aplicaciones, plataformas y ganar terreno en lo que ellas hacen.

Mas información (en inglés)

Share/Save/Bookmark

Que hay un badware en mi blog!

30 / Abril / 2008 – 2:13

Cuando de repente me dijo un amigo: “Tu sitio está baneado!”. Me quedé pensando y por qué? Así que realicé una búsqueda en google.

Efectivamente, www.caudalweb.com estaba está reportado con badware.

Pero qué es un badware?

Un malware (también badware o software malicioso) es un software que tiene como objeto infiltrase en o dañar tu ordenador sin el conocimiento de su dueño y con finalidades muy diversas que que en esta categoría encontramos desde un troyano hasta un spyware.
Fuente: wikipedia

Según otras fuentes señalan como ejemplos a protectores de pantalla gratis que en secreto generan anuncios comerciales o una barra de herramientas para el browser que va a diferentes sitios sin que lo esperemos.

En stopbadware.org se hace campaña contra el badware; donde señalan que un sitio web badware es aquel que alberga o distribuye badware. Esto incluye, pero no se limita, sitios web que hacen cualquiera de las siguiente actividades:

  • Albergar o distribuir badware directamente en el sitio.
  • Automáticamente redirecciona a sitios web que alberguen o distribuyan badware.
  • Enlaces a archivos ejecutables que son badware, no importando si están en el propio sitio o en otro externo.
  • Enlaces a otros sitios que automáticamente intenten instalar badware en la computadora del usuario.
  • Ocasionar al browser a que automáticamente cargue código de otro sitio que intente instalar badware.
  • Contener enlaces substanciales (en naturaleza o número) hacia otros sitios web que predominantemente alberguen o distribuyan badware.

Tres pasos básicos para mantener un sitio limpio:

  1. Identificar badware en tu sitio.
  2. Eliminar badware desde tu sitio.
  3. Prevenir badware en el futuro.

Una vez documentado en el tema, en caudalweb.com he realizado lo siguiente:

  • Actualicé la versión más reciente de wordpress.
  • Hice una búsqueda detallada en todos los post (en vista html) y encontré que dos tenían código ofuscado como el que se muestra: …. <span style=”display: none; text-decoration: underline;”><http://geogno…./1/juegos-para-poker-p ……
  • Quité algunos post que tenían enlaces a sitios que no me daban certeza de ser limpios.
  • Evité los comentarios y pings.
  • Revisé los archivos que se albergan en mi sitio.
  • Y por último, he solicitado a google que vuelvan a considerar mi sitio.

Share/Save/Bookmark