martes, 29 de enero de 2008

Organicémonos...

Muchas veces nos encontramos abrumados con la cantidad de requerimientos de sistemas que recibimos de nuestros usuarios, adicionales a la cantidad de problemas que nos reportan día a día, todo el equipo, toda el área de sistemas, esta abocada a atender las diferentes necesidades de nuestros usuarios, pero aún así, faltan manos para atenderlos todos. Finalmente, la situación conlleva a incumplimiento de fechas, postergación de la atención del requerimiento, insatisfacción del usuario, mala calidad del producto, estrés en el equipo de trabajo, etc.

En principio, debemos establecer una organización adecuada para la atención en el área de sistemas, si bien es obvio y la teoría lo dice, en la práctica, debido a nuestra desesperación, los roles en la organización no están definidos o no se cumplen. Tener claridad en cada uno de los servicios que el área de sistemas ofrece o es responsable, por ejemplo, soporte en la atención de incidentes tecnológicos de la compañía, atención de requerimientos de hardware y software, atención de requerimientos funcionales de las aplicaciones, desarrollo de proyectos tecnológicos, etc. Para cada uno de estos servicios tendremos definidos los procesos, perfiles, funciones y responsabilidades. Estos perfiles serán cubiertos por personas a quienes se les asignarán las funciones y responsabilidades para cumplir con la atención de los servicios del área. Debemos definir las responsabilidades para cada uno de los integrantes de nuestro equipo de trabajo, evitando que todos cubran todas las funciones o que todos realicen todas las tareas.

Ante la abrumadora cantidad de requerimientos, un punto muy importante, es establecer el procedimiento y las políticas de atención de cada uno de los servicios, donde se establece, quién debe solicitarlos, a través de que canal, como por ejemplo,

  1. La atención de requerimientos, que corresponden a pedidos de nuevo hardware, software o funcionalidad adicional para las aplicaciones, en estos casos, debe ser solicitado o aprobado por el dueño del presupuesto del área solicitante, en vista que debe asumir el costo de la inversión o el gasto de la atención.
  2. Para la atención de un requerimiento de funcionalidad adicional para una aplicación, deberá tener la aprobación del usuario dueño responsable de la aplicación, quien debe mantener el modelo conceptual definido para la aplicación, si no es así, cualquier persona solicitaría alguna funcionalidad sin los criterios del modelo conceptual.
  3. Todos las solicitudes deben quedar registradas en una fuente de información o en todo caso a través de un solo canal de comunicación, o integrándolos, como Sistema de Mesa de Ayuda, a una cuenta de correo mesadeayuda@... o un número telefónico o anexo de la empresa que permita registrar la solicitud, eliminando cualquier pedido a través de un canal informal.
  4. La solicitud debe ir acompañado de una prioridad o un orden de atención respecto a las solicitudes pendientes anteriormente ingresadas.
  5. Toda atención completada debe tener la conformidad de la atención por parte del solicitante.

Para los servicios habrá un procedimiento de solicitud y atención que permitirá establecer el orden de los pasos a seguir, mientras que las políticas establecerán los principales requisitos para la atención.

Finalmente el registro centralizado permite no sólo tener la información en un sólo punto para hacer seguimiento a las atención, sino también permitirá explotar la información mediante estadísticas, para detectar y analizar los patrones de comportamiento, por ejemplo,

  1. Incidentes por errores en las aplicaciones. Detectar patrones para priorizar la corrección del problema, en función al número de errores producidos y/o al impacto funcional del problema.
  2. Requerimientos de hardware y software. Analizar compras periódicas para concentrarlos en compras por volumen.
  3. Tiempos de atención de incidentes y requerimientos, que permitirá optimizar el número de personas para el área, así como definir el estándares de niveles de servicios para con el usuario cliente.
  4. Estrategia de implementación de soluciones. La relación de los requerimientos de hardware y software priorizados, permitirá una adecuada planificación de la implementación y de inversión.

En resumen, organicémonos... de acuerdo a las funciones y responsabilidades por los servicios que brindamos, con ayuda de políticas y procedimientos, que son mejorados de acuerdo al análisis de estadísticas e indicadores, para identificar patrones y priorizar soluciones.

miércoles, 2 de enero de 2008

Un Momento para la Gestión...

En nuestros proyectos, somos buenos desarrolladores, conocemos diferentes técnicas de desarrollos, amplia base metodológica, estándares claros, estimaciones precisas, pero un defecto, muchas veces, nuestros planes de trabajo no consideran tiempos para la gestión, tiempo para controlar y hacer el seguimiento a los planes de trabajo, tiempo para administrar las actividades detalladas del plan de trabajo. Estos tiempos, también son parte del proyecto, son tareas del jefe de proyecto.

No tener estos tiempos considerados en el plan de trabajo, implica mayor esfuerzo para el jefe de proyecto para realizar sus tareas de desarrollo y las tareas de gestión (no considerados en el plan), con la finalidad de cumplir con las fechas comprometidas, o en todo caso, sinceraremos el plan de trabajo moviendo las fechas o ingresando un recurso adicional al proyecto.

Para evitarlo, es necesario e imprescindible, considerar los tiempos para la gestión, control y supervisión. A continuación un grupo de actividades que considero deben estar incluidos dentro de los tiempos de gestión, con estimados de tiempos, que dependen del tipo de proyecto, de las características de los perfiles del equipo de trabajo, y de las características del usuario:
  1. Resolver dudas, consultas y/o coordinaciones diarias de cada uno de los participantes del equipo de trabajo. (0.50 horas por día por recurso)
  2. Resolver dudas, consultas y/o coordinaciones diarias del cliente y/o usuarios. (1.00 hora por día)
  3. Revisar los reportes de horas semanales de los participantes del equipo de trabajo.(0.10 horas por semana por recurso)
  4. Actualizar semanalmente el plan de trabajo, registrar los avances, reestructurar las actividades y asignaciones de recursos. (0.40 horas por semana por recurso)
  5. Elaborar reportes e informes de avances semanales, (0.50 hora por semana)
  6. Reuniones semanales de reporte de avance con el cliente y/o usuarios. (1.00 horas por semana)
  7. Reuniones semanales de reporte de avance con mi gerente supervisor. (1.00 horas por semana)

Para un ejemplo de proyecto con un equipo de cinco recursos podríamos necesitar 22.5 horas semanales del jefe de proyecto, insisto en que, de acuerdo a las características del proyecto, del equipo de trabajo y del usuario deben evaluarse las actividades de gestión, así como los estimados de tiempo de cada una de ellas. Pero en general, siempre necesitaremos de Un Momento para la Gestión...