Showing posts with label metodologías ágiles. Show all posts
Showing posts with label metodologías ágiles. Show all posts

19 May 2011

La toma de decisiones (reflexiones en voz alta)

Normalmente tomamos decisiones a diario sobre cosas tan comunes como levantarse de la cama o no, desayunar o no, en fin ... son decisiones que se toman en un ambiente de certeza, ya que se conoce el problema y las posibles soluciones; pero también las hay en entornos de incertidumbre.

En un entorno de incertidumbre, no se posee información suficiente para tomar la decisión, ya que no se tiene control o información sobre una situación o contexto, pese a que se puede sugerir diferentes tipos de soluciones, estas raramente pueden ser medidas (de allí que se le llama "incertidumbre, sin probabilidad"); en otras palabras, lo que viene a ser el desarrollo software.

Pero para tomar una decisión se vuelve básico el poder conocer la naturaleza de un problema, comprenderlo, analizarlo y finalmente, elegir un camino de entre los posibles, en contextos tan variados como el familiar, sentimental, laboral... en este caso durante el diseño de una aplicación o la dirección de un equipo de trabajo.

Los pasos, a grandes rasgos, para la toma de decisiones son:
  1. Identificar y analizar el problema
  2. Identificar las alternativas y ponderarlas
  3. Definir la prioridad para atender el problema
  4. Generar alternativas de solución
  5. Evaluar las alternativas
  6. Elección de la mejor alternativa "bajo el contexto final deseado"
  7. Aplicación de la decisión
  8. Evaluación de los resultados

Metodologías como TOGAF utilizan análisis GAP para saber el punto actual (contexto del problema) y saber hacia donde se quiere ir (solución deseada). De esta manera, al saber lo que tenemos, y lo queremos, podemos iniciar un plan de acción para implementar la solución.

Para la implementación (entiéndase forma de trabajo y sus resultados) existen otras metodologías complementarias como SCRUM o TDD/BDD que ayudan a detectar fallos de implementación desde los inicios para poder reaccionar a tiempo en caso de problemas técnicos y de recursos.

Lo que mayormente marca la diferencia y la similaridad, es la forma como afrontamos y asumimos los resultados de las decisiones, los cuales cuando son correctos nos provocan satisfacción, pero cuando son fallidos, solo nos queda reconocerlos y aprender de ello.

- FIN -

25 January 2011

¿Que forma de trabajo aplicas en tus equipos?

Existen diferentes formas en las que un equipo puede desarrollar un producto, por ejemplo utilizando SCRUM, o cualquier variante de los procesos ágiles, o RUP, o KANBAN o cualquier otra que se considere adecuada para las circunstancias de un proyecto (recordemos que no todos son iguales y no siempre lo que sirve para uno, tiene la misma eficacia en otro).

Después de todo, el objetivo que se persigue en una metodología de desarrollo, es:
  • Convertir el trabajo en unidades fácilmente manejables y permitir un seguimiento de todo el proceso. 
  • Dar soporte en la gestión y evaluación de riesgos, así como a la detección de aquellos que pueden ser un gran problema, 
  • Detección de aquellas partes que pueden ser un cuello de botella en un proyecto. Siendo dos puntos los anteriormente citados aquellos que se abordan en primer lugar.
  • Facilitar y dinamizar la comunicación entre los miembros del equipo, pudiendo abordar los problemas y discutir sus soluciones utilizando una base formal y aceptada.

Las alternativas que actualmente están en boga son SCRUM y/o KANBAN. Hoy en día casi todo el mundo está de acuerdo en que su proceso de desarrollo debe ser un proceso iterativo iteraciones de hasta 4 semanas, donde al final de cada iteración debe haber un resultado presentable que cumpla los requisitos del  proyecto desarrollado.

A todo esto, normalmente el proceso de implantación o implementación de alguna de estas metodologías, suelen estar sujetos a criterios personales de quienes las implementan, y suele ser un proceso de aceptación lenta entre las personas que sufren dicha implantación :-) , ánimo.

Otro de los principios de una metodología como SCRUM, es que todos aprendan de todo, ya que todos somos capaces de hacer aportaciones que ayuden al equipo, cada vez mas eficientes según el número de participaciones en una determinada tipología de tarea.  Como anécdota a este principio, recuerdo la frase de un colega (propia de la escuela del cinismo): "Pues darle a un gerente una escoba".

- FIN -

14 June 2009

A propósito de TDD

Este viernes estube en la sesion de Luis y Sergio sobre TDD, lo que me hizo recordar un video que ví en su día, los subtitulos estan en inglés, pero es muy bueno.



Ahora ya sabemos por que perdieron la guerra :-)))

- FIN -

31 May 2009

Scrum en Google

El co-fundador de Scrum Jeff Sutherland cuenta la estrategia tomada para insertar Scrum en los equipos de Google



El video dura 1 hora.

- FIN -

03 December 2008

¿Como le explicarías a tu abuela lo que es Scrum?

Publicado el 09 de mayo de 2007, el post de Jorge Serrano explica de manera sencilla y clara, mediante una historieta, las ideas básicas de Scrum en un lenguaje plano.

Sinceramente no tiene desperdicio!!!

Enlaces relacionados:

Explicando Scrum a mi abuela


- FIN -