miércoles, 10 de marzo de 2010

Como trabajar con kanban

Las metodologías ágiles

Uno de los propósitos de las aproximaciones ágiles es liberar funcionalidad de valor a los usuarios de forma rápida enmarcados a un compromisos de tiempo.

Kanban

Kanban es una nueva alternativa para la gestión del los proyectos, quien lo aplica pudiera introducir cambios a la forma de trabajar los equipos de trabajo y en la organización.
Se parte con el conocimiento de cómo se esta trabajando actualmente, entendiendo como funciona el proceso actual , en base a ello se reconocen los límites que se puede tener en cada fase del proceso. Una vez explicitado el proceso y sus límites se inicia hacer el seguimiento a la operación usando el flujo de trabajo aprobado en el proceso.

En la medida que se sigue operando aparecerán explícitamente los cuellos de botellas sobre los cuales se debería toma una decisión tendiente a mejorar el proceso. Esto es un esfuerzo del equipo de trabajo y de la organización en su totalidad.

Su basa es muy simple: el trabajo que se esta ejecutando ES limitado (en función de los recursos existentes), y si se desea iniciar una nueva tarea se debe terminar con algo que ya se estaba haciendo o haciendo espacio retirando algo que ya se había comprometido. Para esto se usa elementos visuales que explicitan el flujo de trabajo, las limitaciones, la carga de trabajo. No se requiere de sistemas sofisticados, se pues tener una pizarra con notas o una pizarra electrónica, lo importante de ello es que todos los involucrados pueden tener una idea clara del trabajo y su estado






Kanban esta demostrando su utilidad en los equipos de trabajo que están usando metodologías ágiles, adicionalmente también puede utilizarse por los equipos de trabajo que utilizan métodos más formales, pues su propósito es explicitar el proceso, sus limitantes, sus cuellos de botella y el estatus de avance.

En los equipos de trabajan en tareas de mantenimientos o en las salidas a producción, donde el número de bugs o issues levantados por los usuarios puede representar un problema de gestión de prioridad y atención, kanban podría ser una buena herramienta para mejorar el proceso de atención.

Referencias
Kanban and Scrum making the most of both, Henrik Kniberg & Mattias Skarin, 2009, http://www.infoq.com/minibooks/kanbanscrum-minibook
Kanban Applied to Software Development: from Agile to Lean, 2008, http://www.infoq.com/articles/hiranabe-lean-agile-kanban

jueves, 21 de enero de 2010

Estimando el costo del proyecto usando las transacciones del caso de uso (1)

La pregunta para el Director de proyecto, siempre es la misma. Cuanto nos cuesta hacer el sistema?

Para tener una primera visión del alcance del proyecto, siguiendo las recomendaciones de RUP seria de concretar las aspiraciones de los usuarios y el entendimiento del equipo técnico en el documento llamado Visión. A estas alturas del partido se tienen identificadas únicamente características que son comprendidas por los usuarios y no existe el detalle del como se implementaran técnicamente.

Siguiendo la recomendación de la metodología se debería llegar a tener una identificación de los casos de uso que soportarán las características comprometidas en el documento de visión. Se hace una primera redacción rápida del escenario principal del caso de uso, que será la base para realizar la estimación. Debido a la incertidumbre originada por la falta de conocimiento detallado del caso de uso, el analista debe apoyarse en su experiencia o al estilo del PMBOK apoyarse en el juicio de los expertos que son los colegas con experiencia en proyectos y temáticas similares.

El caso de uso describe la “conversación” que hace el actor con el “sistema”, así a una acción del actor recibe una respuesta del sistema, y de acuerda a ella el actor vuelve a interactuar con el sistema. Esta pareja acción/reacción constituye una transacción en el caso de uso (un punto) y para comprender este tema se hace las siguientes aclaraciones de lo que NO es:

  • Una transacción de caso de uso no es un paso en el detalle del caso de uso
  • Una transacción de caso de uso no es una transacción en la base de datos.
  • Una transacción de caso de uso no es cada acción iniciada por el actor

Igualmente los escenarios alternos o los flujos de excepción implican otros diálogos actor-sistema por lo que ellos constituyen otra transacción del caso de uso. Hay que recordar que cuando un caso de uso es utilizado por más de un actor, implica interacciones diferentes, las mismas que pueden ser expresadas en flujos alternos y contados por lo tanto como transacciones diferentes. También se debe tomar en cuenta que un caso de uso con muchas transacciones (más de 12) es un síndrome de los casos de uso Superman (que lo hacen todo), y por tanto la recomendación es dividir el caso de uso.

Con todas estas aclaraciones entonces el analista estaría listo para contar las transacciones del caso de uso, no obstante en base a su conocimiento y experiencia puede ser que considere alguna transacción como “fácil”, y omitirla del conteo en el caso de uso.

Según las recomendaciones de puntos de caso de uso se tiene:

Caso de uso Simple 1 a 3 transacciones – Peso 5

Interface de usuario sencilla afectando a una entidad en la base de datos, manejando 5 clases.

Caso de uso Medio 4 a 7 transacciones – Peso 10

Interface de usuario versátil afectando a mas de una entidad en la base de datos, manejando 5-10 clases.

Caso de uso Complejo – más de 7 transacciones – Peso 15

Interface de usuario compleja afectando a mas de 3 entidad en la base de datos, manejando más de 10 clases.

Con la cuantificación del caso de uso, se puede tener un estimado de cuanto tiempo se estima la implementación, tomando en cuenta los elementos adicionales identificados en la metodología de los puntos de casos de uso(3).

  1. Factores ambientales del proyecto que toma en cuenta la madurez y estabilidad de la empresa en el manejo y ejecución de proyectos de TI (ejemplo respeto a los compromisos adquiridos, re-priorizaciones, estabilidad de requerimientos, etc.
  2. Tiempos adicionales de la gestión de los requerimientos, las pruebas de integración, el deployment, etc.
  3. Complejidad Técnica
  4. Factor de productividad

Con todos estos elementos se procede a la estimación del tiempo(2), se puede tomar en cuenta la recomendación que un punto de caso de uso (transacción) toma entre 15 y 30 horas del equipo de trabajo, el determinar este valor dependerá de cada lugar de trabajo en particular.

Con la estimación de tiempo realizada se procede a la valoración tomando en cuenta los costos de los recursos involucrados y utilizados en el equipo de trabajo. En base a los costos que nos proporcione la contabilidad tanto de los gastos directos (ejemplo sueldos de los técnicos) como de los indirectos (luz, Internet, etc).

1.- Software cost estimation using use case points: Getting use case transactions straight, Remi-Armand Collaris, Eef Dekker

2. Use Case Points an Estimation Aproach, Gautam Banerje, 2001-Aug.

http://www2.fiit.stuba.sk/~bielik/courses/msi-slov/reporty/use_case_points.pdf

3. Project estimation with use case points, RoyClem, 2005 Mar

http://www.codeproject.com/KB/architecture/usecasep.aspx

sábado, 16 de enero de 2010

La carrera por el PMP (Project Management Professional)

Después de que ha sido confirmado el día y la hora del examen de certificación, entonces empieza la verdadera carrera, el estudio del portafolio, programa y proyectos, de los 5 grupos de procesos, de las 9 áreas de conocimiento, de los 50 procesos, del libro de 506 páginas

Para saber cual era mi estado físico y mental, hice los tests del curso de preparación de certificación. Esto me dio una idea de que áreas de conocimiento estaban más flojas, tuve desde 57% hasta 76%, con estos resultados priorice el estudio del libro.

Es importante coger una cadencia, me propuse 2 días cada área de conocimiento, y examen al final. Esto me permitió ganar confianza y llegar a superar el 78% de aciertos en un test, igualmente mis notas quedaron reflejadas en presentaciones powerpoint.

Pude también revisar el libro de Rita Mulcahy, súper interesante y de gran ayuda para el examen. La cadencia fue esta vez un día y medio cada área de conocimiento y prueba al final, ya estaba sobre el 80% de comprensión, la meta ya estaba cerca.

Como Murphy no podía estar ausente, tuve asuntos personales que atender por lo que los últimos estudios fueron forzados, y tuvo que romperse la recomendación de no estudiar el día anterior, así que me toco el código de ética para el último.

Y por fin el examen, mezcla de cansancio, esperanza, temor a no aprobar, las últmas charlas con amigos y los comentarios de tantos que se presentaron y no pudieron alcanzar la certificación a la primera.

El sprint final, sábado a las 9 de la mañana, examen en papel, hoja de respuestas, calculadora con las 4 operaciones y lápiz para poder borrar las respuestas dudosas, a las 2 horas, y estaba por la pregunta 105, preocupación por que faltaba casi mitad y ya estaba cansado, apretar el ritmo. Llegue a las pregunta 200 a las 3 horas 50 minutos. 10 minutos para la reflexión final, verificar dudas y no hay tiempo para más, el reloj marca las 4horas, the teacher said The time is over……

Los chismes pos parto, discusión de las preguntas que no tenían sentido, todos estábamos con la cara larga, nadie irradiaba satisfacción y convicción de que si conseguía la certificación. A esperar día a día hasta que llegue un mail con los resultados.

Ufff…. Al final llego el tan ansiado mail, tanto esfuerzo recompensado en una sola sentence, Usted a aprobado el test y es reconocido como PMP, realmente que alivio, un momento de orgullo interno y a prepararse para la siguiente carrera.

lunes, 15 de junio de 2009

La carrera de las Ultimas Noticias

La carrera de las Ultimas Noticias es toda una fiesta, por problemas con una rodilla no estaba bien preparado, y me había resignado a no participar. Solo al retirar el chip el día anterior, me contagie del ambiente festivo de la carrera, y tome la decisión de última hora: Hay que participar, y llegar así sea caminando.
El día de la carrera, realmente es una fiesta, me acompañaron a la partida mi esposa y mi hija, al acercarnos al sector de El Comercio en el Sur, se va percibiendo en las calles la alegría de hacer deporte, de ser un actor y no un observador, como en años anteriores. Ya en la línea de partida se conjugan muchas sensaciones: el olor a limento reina en el ambiente, los empujones de confianza, los relatos de los grupos, los grupos de amigos de empresas, los padres con sus hijos, hacen de la espera, un momento especial.
Como son tantos participantes, después de lanzada la carrera, se inicia con un caminar apretado, y a pasitos pequeños. Sabiendo de mis limitaciones y dejando la novelería a un lado, decidí ir a paso lento, estar atento a la rodilla y su funcionamiento.

Afortunadamente, el dolor fue soportable, pero a medida que se avanzaba, el reto era mantener el ritmo y llegar. En los primeros kilómetros, la llegada parecía tan lejana que sino fuera por el respaldo de que todos avanzan, uno también tiene que seguir. Así, pasan los kilómetros, el cansancio se hace más presente que nunca y el agua escasea. Estando en la Carolina, ya era cuestión de seguir o seguir, faltan 2, falta 1, y al Estadio.
Llegar al estadio y sentir que de a poco se consiguió la meta, fortalece el espíritu. El saber que la meta planteada fue alcanzada, satisface un fuero interno y anima a seguir en la práctica del atletismo.

Estaba leyendo el arte de la guerra de Sun Tsu, donde toma en cuenta 5 principios: la moral, el clima, el terreno, el mando y la doctrina. La moral se refleja en la confianza en los entrenamientos previos de que el cuerpo estaba listo y el deseo interno de llegar. El clima, es una hora temprana y el sol no es tan fuerte. El terreno era algo de cuidar, la mayoría era plana y había unas pocas cuestas. El mando era la mente que estaba censando cualquier malestar de la rodilla que era el punto flaco, y la doctrina que se constituyó desde el inicio en avanzar siempre, lento pero seguro.

Igual pensaba en los proyectos, al inicio parece tan largo y no entran en ritmo, pero superada la primera fase de incepción, el equipo se conoce, se define la arquitectura, se conoce el problema, se alinea la solución y se difunden las reglas de juego. Luego de ello todo el equipo empieza a caminar al ritmo de la programación. Los sponsors tienen que seguir apoyando al proyecto y llegar a la meta: El sistema que sea aceptado por el querido usuario.
En fin such is life

martes, 26 de mayo de 2009

Inicio del blog

Ahora, y no por la noveleria de lo que es el blog sino por una intenciòn de compartir los trickis y trakes de la vida y en particular de la vivencia del desarrollo de sistemas y de la gestion de la información, que es la actividad que más tiempo me demanda por ahora.

So, espero poder darle forma y estructura a tantas ideas que florecen durante la ejecución de los proyectos de desarrollo de sistemas y el lidiar con los bites y los bytes
Adicionalmente entendiendo que 'mente sana en cuerpo sano', es bueno e importante compartir la aventuras deportivas que permiten al cuerpo y la mente nutrirse con espacios alternativos de des-estres como las caminatas, las carreras, las bicicletas, las montañas, la natación, and so on.