miércoles, 29 de octubre de 2014

Paradigma Dominante I

Si ya decidiste implementar Scrum en tu organización, es porque habrás escuchado o leído sobre el tema, y estas seguro de que te va a ayudar a gestionar los proyectos de manera ágil, donde los equipos de desarrollo son autogestionados, incorporando funcionalidades de forma iterativa e incremental, entregando valor en cada iteración y mejorando el proceso de desarrollo continuamente. Nada mas cierto que esto. El resultado que conseguirán en cada proyecto será notable.

Pero, para que esto suceda, deben darse algunas condiciones. Scrum es bastante fácil de aprender y bastante dificil de implementar.
Esto es cierto, y en algunos casos costará más y en otros casos costará menos.

¿Donde puede estar entonces el inconveniente?
¿Acaso no todos los que implementaron scrum lo hicieron de manera exitosa?
La respuesta es no.

El primer impedimento que tendrás que enfrentar a la hora de implementar Scrum o alguna otra metodología, y que nadie te ha contado, es el Efecto Paradigma.

Los paradigmas son ideas, pensamientos y creencias incorporadas que se aceptan como verdaderas o falsas sin ponerlas a prueba de un nuevo análisis.

El problema está ocasionado por lo que se denomina Paradigma Dominante y se refiere a los valores o sistemas de pensamiento en una sociedad estable, en un momento determinado.

Para muchas organizaciones, su concepción de paradigma se acerca al de cultura organizacional, ya que se refiere a la forma como se han venido haciendo y se hacen las cosas aquí y a la forma como se seguirán haciendo.

En la próxima entrada te contaré las condiciones que facilitan que un sistema de pensamiento pueda convertirse en un paradigma dominante y poder así Romper ese paradigma.







viernes, 17 de octubre de 2014

Estimaciones ¿Por qué terminan siendo incorrectas?

Mientras participaba en una discusión sobre prácticas en gestión de proyectos de software, surgió el tema que nos afecta a todos y que parece no tener solución.
Tanto si formas parte de un equipo de desarrollo como si gestionas proyectos de software, te has tenido que enfrentar con las estimaciones, que por lo general terminan siendo incorrectas.

Según Shari Lawrence Pfleeger en su libro Ingeniería de Software teoría y práctica, hay muchas razones por las que se hacen estimaciones incorrectas.
Una investigación llevada a cabo en 150 empresas, indica que el 35% de los gerentes afirmaron que las estimaciones fueron insatisfactorias por las siguientes causas:

- Pedidos frecuentes de cambio por parte de los usuarios
- Tareas pasadas por alto- Pérdida de comprensión de los usuarios de sus propios requerimientos
- Análisis insuficiente cuando se desarrolla una estimación
- Pérdida de coordinación del desarrollo de sistemas, servicios técnicos, operaciones, administración de datos y otras funciones durante el desarrollo
- Pérdida de un método adecuado o guías para la estimación

Incluso se menciona el tema de los costos ocultos, por ejemplo que a veces se necesita un mínimo de espacio y silencio para trabajar, no recibir llamadas, visitas, etc, etc.

Todas las metodologías que se utilicen para estimar, ya sean los 38 factores de productividad de Walston y Felix, el metamodelo de Bailey y Basili, COCOMO I y COCOMO II de Barry Boehm e incluso las estimaciones en puntos de historia para nuestros proyectos ágiles, requieren de experiencia acumulada. O sea, muchos proyectos que el equipo haya realizado junto.

Todavía recuerdo cuando estimamos nuestro primer proyecto con Planning Poker asignando puntos de historia. No teníamos la menor idea de cuantos puntos ponerle a cada historia de usuario.En el segundo proyecto ya arrancamos con las métricas de velocidad del primero. En el tercero fue aún mejor.

Es cuestión de experiencia y sobre todo tener presente que las estimaciones en equipo son siempre mas precisas que la estimación de un solo experto.

De todas formas voy a diferir con uno de los puntos mencionados en el libro.
No creo que un problema se deba a que los usuarios no saben lo que quieren o a la pérdida de comprensión de sus propios requerimientos, ya que es nuestra tarea guiarlos para que se puedan bajar correctamente sus necesidades y transformarlas en requerimientos.

¿Que opinan ustedes?


sábado, 4 de octubre de 2014

Herramientas Ágiles I

Buscando alguna herramienta para gestionar proyectos de manera ágil, encontré el TAIGA, desarrollado por la empresa española KALEIDOS.



Características:


Fue desarrollada utilizando Python, Django, Postgresql para el backend y Angular-JS para el frontend.

Puede utilizarse como servicio en su propia infraestructura o descargarse el código fuente de su repositorio en github e instalarlo en servidores propios.

La licencia con la cual se ha publicado es la Affero GPL.


Funcionalidad:


Apenas se ingresa a la aplicación, se presenta los proyectos que se han creado y la opción de crear nuevos, que aquí brinda dos posibilidades: KANBAN o SCRUM.

Aquí les dejo algunas capturas de pantalla donde se puede ver que hay dos proyectos creados
y algunas tareas de prueba.

Como verán es muy simple y posee una gráfica bastante acertada.



Pantalla inicial con los proyectos creados:














Pantalla donde seleccionamos el nuevo tipo de Proyecto:



Vista del proyecto con las tareas y los sprints definidos:




El sitio web de la herramienta: https://tree.taiga.io/login

El sitio web de la empresa:http://kaleidos.net/



Les dejo el resto para el que quiera investigar !!!