Datos personales

Mi foto
Quito, Ecuador
Ingeniero en Informática / Magíster en Gestión Tecnológica / Máster en Gestión de las TIC

viernes, 30 de noviembre de 2012

Gestión de proyectos TIC - Parte III

PARTE I | PARTE II  | PARTE III | PARTE IV  | PARTE V 

DESARROLLO = PLANIFICACIÓN ANÁLISIS + DISEÑO CONTROL


PLANIFICACIÓN

Al tratarse de un proyecto TIC, se abarca la temática del software, de los sistemas de información empresariales, de las telecomunicaciones, de dispositivos o artefactos que puedan ser considerados tecnologías de la información o de comunicaciones, por ello durante la lectura del presente documento encontrará los términos "solución TIC" o "producto" en general.

Una vez que se ha pactado, acordado o establecido claramente las expectativas del cliente, se ha definido el modelo de relación a nivel ejecutivo, de usuarios y técnico, se han identificado y formalizado responsabilidades, canales de comunicación e interlocutores, es el momento de el inicio operativo del proyecto.  

Probablemente el contrato ya establezca un cronograma, en ese caso no hay mas que ajustarse a los tiempos establecidos, aunque se sepa a partir de los análisis de riesgos que por imprevistos o cambios de los requisitos en mitad del proyecto pudieran aparecer dilataciones de tiempos, es importante asumir lo que esta escrito en el contrato, negociar cuando sea el momento y conocer los procedimientos formales para anticiparse y lograr las aprobaciones necesarias en el caso de cambios en las fechas de entrega, esto es importante especialmente si el cliente es empresa pública y el proyecto es de gran tamaño tanto en tiempo como en precios, ya que existen normativas de control interno y causas establecidas en las leyes y reglamentos que pueden permitir aplazamientos o por el contrario aplicar multas al proveedor.

Muchos podrían cuestionarse y decir si se hace un buen cronograma, no es necesario aplazar nada, sin embargo la realidad indica que, aunque se diga lo contrario, el cliente de soluciones TIC suele percatarse de fallas en sus propias definiciones, carencias en los requisitos originales, observa que lo que esta hecho podría incorporar mas utilidades y en esta situación hay que saber la manera de gestionar los cambios mas los costes asociados.  

Por esta razón se debe tener claro que "elaborar un cronograma no es planificar" aunque es una actividad inherente a la planificación.

Planificar es, una vez conocida la línea de tiempo o los plazos del proyecto, usar la experiencia para anticiparse y definir mecanismos de acción ante situaciones que se presentarán con mayor probabilidad, con la finalidad de asegurar los recursos y actuaciones necesarias para lograr los objetivos del proyecto.  Esto implica determinar la manera en que se van a reducir riesgos, optimizar costes, corregir desviaciones.

Si se quiere una referencia para comprender la definición y el sentido de la planificación, Wikipedia (http://es.wikipedia.org/wiki/Planeamiento#cite_note-4) señala: 

"La planificación, la planeación o el planeamiento, es el proceso metódico diseñado para obtener un objetivo determinado. En el sentido más universal, implica tener uno o varios objetivos a realizar junto con las acciones requeridas para concluirse exitosamente. Otras definiciones, más precisas, incluyen "La planificación es un proceso de toma de decisiones para alcanzar un futuro deseado, teniendo en cuenta la situación actual y los factores internos y externos que pueden influir en el logro de los objetivos". Va de lo más simple a lo complejo, dependiendo el medio a aplicarse. La acción de planear en la gestión se refiere a planes y proyectos en sus diferentes ámbitos, niveles y actitudes."

El cronograma seguramente nos muestra las actividades a desarrollar, los hitos principales o puntos de revisión, los costos de cada actividad, los recursos necesarios de cada actividad, el inicio y fin de cada actividad.  Entonces ¿Qué más hay en una planificación?, pues documentos que dictan la forma de actuar, son documentos cambiantes que realmente se emplean para reflejar acciones durante todo el proyecto, y pueden ser los siguientes:

1. Un plan de comunicaciones, contiene las necesidades de información del cliente, los interlocutores y los mecanismos de comunicación, a nivel técnico, de usuarios y ejecutivo, aquí podrían definirse incluso los documentos y productos que se entregarán en el cierre del proyecto.

2. Plan de compras y contrataciones, si el proyecto requiere personal, que se monte una oficina, que se encargue partes del desarrollo a una factoría de software, que se entreguen como parte del mismo servidores y equipos, es necesario documentar como se llevarán a cabo las decisiones de compra o contratación, así como identificar quiénes son los proveedores, cuál es el presupuesto disponible, fechas de desembolso.

3. Plan de calidad, este documento refleja las normas, requisitos o exigencias que el ciente requiere formalmente que se cumplan para la aceptación del producto, y la manera en como se va a demostrar que efectivamente se cumplen.

4. Plan de gestión de riesgos, cada actividad del cronograma tiene asociado algún riesgo, cada objetivo del proyecto tiene asociado un riesgo, estos deben evaluarse de forma documentada y analizar si vale la pena preocuparse por los mismos.  Riesgo según el PMBOK versión 4 es : "Un evento o condición incierta que, si se produce, tiene un efecto positivo o negativo en los objetivos de un proyecto".

5. Plan de contingencia, servirá como fuente documentada que permita responder de forma eficiente ante riesgos que al materializarse provoquen efectos negativos.  Por ejemplo: pérdida de energía en el data center, borrado accidental o intencionado de datos, problemas con el versionamiento del software, daños en equipos (clientes, servidores, impresoras), pérdida de las comunicaciones, daños en las instalaciones del cliente, robo de materiales o información, accidentes laborales, abandono por parte de un miembro del equipo de trabajo, cambios el alcance del proyecto.


ANÁLISIS + DISEÑO

Un proyecto relacionado a las TIC, contempla fases de análisis y la de diseño, se debe tener en cuenta que el jefe de proyecto esta obligado a revisar el trabajo de otros o asegurar las formas de revisión, dado que se encuentra frente a un compromiso contractual con el cliente y será el responsable por parte del proveedor.

Tanto si el cliente adquiere un producto ya desarrollado, o contrata desarrollo a la medida, no se librará del "análisis" + "diseño", en el primer caso al tratarse de paquetes ya desarrollados usualmente se realizan personalizaciones, configuraciones y tratamiento de datos, en el segundo al ser a la medida queda todo por hacer.

¿Qué se considera análisis?

Son todas aquellas actividades encaminadas a detectar los objetivos y necesidades del cliente, sus particularidades y requisitos específicos que desea ver reflejado en el producto final.  Estas actividades deben tener resultados tangibles, reflejados en documentos que plasmen el entendimiento de lo que desea el cliente, por ejemplo: diagramas de procesos (BPM), catálogos de servicios, casos de uso, historias de usuarios, modelos lógicos de los datos, diagramas y definición de interfaces de usuario, definición de interfaces con otros sistemas internos o externos a la organización.  Es importante que el analista no solo capte necesidades, sino además plantee soluciones eficaces, eficientes, coherentes, completas, claras y que elimine contradicciones e incompatibilidades entre requisitos.  


¿Qué se considera diseño?

Consiste en definir los subsistemas con sus respectivas interfaces y dependencias, se debe responder al ¿cómo se hace?, y esto lo hacen los programadores de sistemas informáticos, siempre que se parta de un buen análisis, se define: un modelo físico de los datos, los entornos y arquitecturas de hardware y software, los módulos del sistema, los paquetes, las librerías, los frameworks.  Todo esto se enfocará en ir construyendo las partes mas pequeñas de la solución TIC objeto del proyecto para ir uniéndolas en un todo que cumpla los objetivos establecidos en los documentos de la oferta, contrato y proyecto.


CONTROL


Iniciar el desarrollo de soluciones TIC, significa emplear metodologías, que permitan reconocer errores, detectarlos de forma temprana, establecer secuencias de pasos que permitan organizar el trabajo y responder rápidamente a cambios inesperados.  Mantener el control del desarrollo es una tarea compleja que requiere experiencia.  

Los modelos de desarrollo son tema de arduo debate, se muestra  el resumen de cuatro, partiendo del mas clásico, hasta los más dinámicos y útiles entornos con alta incertidumbre.

"El modelo en cascada"

Llamado algunas veces ciclo de vida clásico, sugiere un enfoque sistemático, secuencial, hacia adelante, este modelo fue propuesto por Wiston Royce (http://en.wikipedia.org/wiki/Winston_W._Royce ), e incluía ciclos de retroalimentación,    la inmensa mayoría de quienes lo ponían en práctica lo hacían de forma estrictamente lineal, sin embargo y a pesar de las iteraciones,   se ha llegado a demostrar en proyectos reales que no se sigue un flujo secuencial, si se adopta estrictamente el modelo, en situaciones de cambios o modificaciones, el equipo de trabajo llegará a estados de bloqueo, donde unos miembros del equipo deben esperar a otros para terminar tareas dependientes.  Este modelo es útil en escenarios donde los requerimientos no van a ser modificados y el trabajo se realiza de forma lineal.




"Construcción de prototipos"

Cuando los clientes definen al inicio del proyecto, e incluso en el contrato, un conjunto de objetivos generales y requisitos que no están detallados dejando de entrada dudas por la falta de definiciones, pudiera funcionar correctamente este modelo, hay que estar conscientes de que un prototipo no es el producto final, entonces el cliente puede pedir cambios y no entender por que se tarda tanto en implementarlos de forma definitiva, es decir para entrar en operaciones, se debe a que un prototipo se consigue de forma acelerada con herramientas especiales para obtener "algo que mostrar", sin embargo esta lejos de ser una solución completa, por lo que el cliente debe tener muy claro que el prototipo sirve para definir requisitos y que una vez se llega a un acuerdo, se desarrollará la solución TIC definitiva con orientación a la calidad.





"Modelo en espiral"

No hay mejores palabras que las de su creador,  Barry Boehm (http://es.wikipedia.org/wiki/Barry_Boehm), para explicarlo:
   
"El modelo de desarrollo en espiral es un generador del modelo de proceso guiado por el riesgo que se emplea para conducir sistemas intensivos de ingeniería del software concurrente y con  múltiples usuarios. Tiene dos características distintivas principales. Una de ellas es el enfoque cíclico para el crecimiento incremental del grado de definición e implementación de un sistema, mientras disminuye el grado de riesgo.  La otra es un conjunto de puntos de fijación para asegurar el compromiso del usuario con soluciones de sistema que sean factibles y mutuamente satisfactorios".


Se trata de un modelo evolutivo, que en cada iteración consigue tener un sistema cada vez mas completo, el riesgo se reduce conforme se avanza.  Incluso este camino en espiral podría permitir generar nuevos productos a partir de otros conseguidos en iteraciones anteriores.  

Se considera un modelo útil para desarrollo de sistemas a gran escala, puede emplear también la elaboración de prototipos, sin embargo su finalidad principal se dirige a adaptarse mas a lo que ocurre en el mundo real, evitar que los riesgos se materialicen, lograr una participación mas activa del usuario en el proceso de desarrollo  y conseguir un producto cada vez mas completo.




"SCRUM"


Este método prueba su eficacia en proyectos con tiempos de entrega muy reducidos, requisitos cambiantes y condiciones críticas en los negocios.

En este caso los "retrasos" o "acumulados", es una lista que contiene los requisitos que son prioridad para el cliente, son las características de la solución TIC que le dan valor al negocio, en cualquier momento se pueden agregar elementos a esta lista y el ejecutivo que dirige el desarrollo del producto evalúa y re-asigna prioridades.
   
El "SPRINT" o ciclo, es la unidad de trabajo requerida para satisfacer un conjunto o paquete de requisitos (retrasos, acumulados) en un período de tiempo determinado, usualmente 30 días (entre 2 a 4 semanas), una vez iniciado el SPRINT, no puede introducirse mas requisitos ni cambios, esto proporciona al equipo de trabajo un ambiente estable y le da velocidad al desarrollo ya que al final de cada ciclo se tiene un resultado funcional.

Una vez lanzado el SPRINT, se lleva a cabo una reunión cada 24 horas, generalmente de 15 minutos, con la finalidad de descubrir y resolver problemas, el líder evalúa el avance y procura mantener al equipo como una unidad auto-organizada.  En esta reunión cada individuo responde a las tres preguntas siguientes:

¿Qué hiciste desde la última reunión ?
¿Cuáles obstáculos encontraste?
¿Qué esperas lograr para la siguiente reunión del equipo?



PARTE I | PARTE II  | PARTE III | PARTE IV  | PARTE V 

domingo, 25 de noviembre de 2012

Gestión de proyectos TIC - Parte II

PARTE I | PARTE II | PARTE III | PARTE IV  | PARTE V 

INICIO DEL PROYECTO TIC

Un proyecto, se formula para cubrir o satisfacer una necesidad tecnológica específica.  Y antes de la etapa de inicio, existe una etapa de toma de requisitos y formulación de pliegos para la invitación a ofertar, estos documentos son la base inicial y el verdadero punto de partida (Anteproyecto) que plasma la necesidad original del potencial cliente.  Como respuesta a esa necesidad suelen convocarse concursos para presentación de ofertas, y aquella que más se alinea a la necesidad del cliente en costos, cumplimiento de requisitos, experiencias previas, entre otras variables, suele ser elegida como adjudicada, este es otro tema y se tratará en posteriores artículos.  Asumimos para el presente el escenario en el que nos consideramos "la oferta adjudicada".

Primer paso, identificar los objetivos de la etapa de inicio.

Al ser adjudicados, se debe procurar el arranque, administrativo, fijando los objetivos de la etapa de inicio:

  • Identificar los aspectos logísticos necesarios para responder al cliente.
  • Establecer el modelo de relación con el cliente, las vías de comunicación, la estructura u organigrama del proyecto y su contraparte en el cliente, identificar claramente aquellas personas con capacidad de decisión sobre el proyecto, aquellas áreas, departamentos o personas que serán quienes aprueben o reciban los productos finales.
  • Identificar todos los elementos necesarios para un arranque del proyecto sin novedades.
  • Asegurar los recursos necesarios para cumplir la oferta.
  • Identificar claramente como se gestionarán los cambios, en el alcance, precio, nuevos requisitos.
  • Conocer las exigencias metodológicas del cliente, normas que se debe cumplir, certificaciones que exige.

Si hablamos de proyectos de gran tamaño, todo esto puede plasmarse en un documento que debe ser formalizado (firmas de responsabilidad), se conoce como Plan de Gestión del Proyecto (Normas de Gestión del proyecto) que incluye, entre otros aspectos, el establecimiento de los mecanismos de gestión del mismo.  Una plantilla elaborada con anticipación permitirá tener mucho trabajo adelantado, de tal manera que no se elabore con el cliente sino únicamente se revise, se realicen ajustes si es necesario y se formalizarse.

Una vez adjudicada la oferta se firma un "contrato" como documento mandatorio para ambas partes, y el "Plan de Gestión del Proyecto" plasmará la manera en como se logrará realizar las acciones necesarias para cumplir lo establecido en el "contrato" tanto del lado del cliente como del proveedor de tecnología.  

Segundo paso, llevar a cabo la reunión "KICK-OFF".


Se conoce también como reunión de arranque del proyecto y se lleva a cabo para conocer a los "stakeholders" o grupos de interés implicados, además suele presentarse el alcance y objetivos del proyecto, esta reunión permite presentar al cliente el equipo que estará a cargo del proyecto (Jefe, Director, Coordinador).


Esta reunión se planifica y se lleva a cabo en coordinación con el sponsor del proyecto (ejecutivo del cliente que auspicia el proyecto) y el proveedor (gerente, representante, mas jefaturas asignadas) , se debe tener cuidado de gestionar bien las expectativas de los grupos de interés y no tomar decisiones apresuradas en este tipo de reuniones, un compromiso mal dimensionado en estos eventos puede ser una carga durante todo el proyecto.

Todo documento que permita una trazabilidad de acciones es importante, y de ser posible debe obtenerse una lista firmada de los asistentes.

El mapa de poder, debe conocerse en esta reunión, el organigrama del cliente y qué personas serán interlocutores directos.  En el "KICK-OF" se debe definir y poner en marcha un plan de comunicación para el proyecto, el cual como mínimo debe contener:


  • Tipos de reuniones y frecuencias de reunión.
  • Categoría/Rol de los asistentes a cada una de las reuniones.
  • Protocolos de actuación (agendas, actas, etc.)
  • Modos de comunicación (in-situ, video-conferencia, audio-conferencia).


Para asistir con bases solidas a esta reunión debe conocerse las respuestas a las siguientes preguntas: ¿Qué tenemos que hacer? ¿Cuáles son los objetivos a alcanzar?, ¿Cuánto nos va a costar? ¿Cuál es el margen de rentabilidad esperado?, ¿Cuándo lo vamos a terminar? ¿Cuáles son los hitos principales?, ¿Cuáles son los principales riesgos identificados?.


Tercer paso, dimensionar y asegurar los recursos humanos y materiales.

Hay que tener muy claro que el arranque administrativo del proyecto no suele coincidir con el arranque operativo, y en esta situación por lo general, no se ha contratado a todas las personas o recursos necesarios ya que sin tareas a realizar se estaría perdiendo recursos financieros, se debe entonces:



Determinar el equipo de trabajo: Arquitecto, Analista, Programadores, Personal de Oficina, Analistas, Diseñadores.

Determinar el nivel de formación/cualificación de los recursos que van a trabajar en el proyecto (Junior, Senior), años de experiencia y las dependencias jerárquicas entre ellos, así como la cantidad de personas necesarias, puede ser que no se requiera en todas las etapas del proyecto la misma cantidad de personal e incluso que se necesite incorporar nuevo personal en ciertas etapas, u otras personas puedan ser retiradas del proyecto para ser asignadas a otro.


Determinar los entornos que se necesitarán en el proyecto, por ejemplo:
  • Desarrollo
  • Integración
  • Preproducción
  • Capacitación o entrenamiento de usuarios
  • Producción
Determinar la infraestructura de Hardware, en especial si se va a trabajar en casa del cliente:
  • Servidores.
  • Comunicaciones (líneas telefónicas, conexiónes VPN, internet, permisos en dominios).
  • PC/portátiles.

Asegurar el software de base necesario:

  • Sistemas Operativos
  • Herramientas de desarrollo a utilizar 
  • Herramientas de gestión del proyecto (planificación, seguimiento y control) 
  • Herramientas de control de versión.
  • Repositorios de datos.

Determinar claramente la forma de hacer el control económico y gestión del presupuesto:
  • Los recursos con los que se realizará el proyecto y su costo mensual.
  • Costo final de encargos a terceras empresas.
  • Costo de la infraestructura HW y de las herramientas SW a utilizar.
  • Dietas.
  • Desplazamientos.
  • Cursos de formación necesarios.
  • Compensaciones por horas extras.
  • Servicios de guardia.
  • Servicios auxiliares.

Determinar como se realizará la Gestión Documental, si bien suele ser una tarea poco valorada, en los momentos de entrega y recepción toma mucha importancia, por ello se debe controlar las actas de reunión y los manuales de usuario a entregar.  Es importante contar con un repositorio para gestionar la documentación interna y los entregables como pueden ser: software, documentos de requisitos, análisis, diseño, planes de prueba, actas de revisión, entre otros.


PARTE I | PARTE II PARTE III | PARTE IV  | PARTE V 

jueves, 22 de noviembre de 2012

Gestión de proyectos TIC - Parte I

PARTE I | PARTE II PARTE III | PARTE IV  | PARTE V 


En la actualidad, vivimos el resultado de la evolución acelerada de ciclos tecnológicos, y la sociedad se va adaptando con mayor rapidez a elementos abstractos que forman parte del día a día, las aplicaciones o el software, las tecnologías inherentes a las comunicaciones no han surgido de forma espontánea.  Responden a necesidades que en primer lugar fueron de origen militar o empresarial, y en los últimos setenta años, el resultado de esos desarrollos se ha visto reflejado en el software del diario vivir. 

Cuando alguien compra algo por Internet, paga sus facturas mediante una página web, usa un sistema de contabilidad informatizado, viaja en tren de alta velocidad, se desplaza en avión, hace una reserva de hotel, hay un grupo humano detrás de cada elemento que interviene en construir esos diferentes tipos de servicios.  A ese grupo de personas, las relaciones, buenas prácticas y procesos que permiten obtener un producto TIC se enfoca este tema. 

Lo primero que se debe comprender es que la obtención de un producto TIC, no ha logrado el nivel de madurez que tienen otras disciplinas como la Ingeniería Civil, la Química, la Arquitectura, por mencionar unas pocas, debido principalmente a la percepción de los clientes de productos informáticos que consiste en pensar que un aplicativo puede crearse y cambiarse rápidamente justo antes de ser entregado.  Esto es casi equivalente a aprobar los planos de un puente y cambiar los requisitos y dimensiones justo antes de la entrega, y pocas veces hemos escuchado por ejemplo que un "software se venda solo en planos", para hacer la construcción después.  

Sin embargo con el paso de los años los usuarios se han vuelto cada vez mas críticos y comprenden la problemática conocida como "Gestión del Cambio" que es el dolor de cabeza de muchos directores de proyectos TIC.

Ha de comprenderse que un proyecto TIC, se sujeta al igual que proyectos de cualquier naturaleza a lineamientos conocidos como mejores prácticas, entonces partimos de la definición de proyecto, del conjunto de buenas prácticas PMBOK en su cuarta edición elaborado por el PMI (Project Managment Institute, http://www.pmi.org/ )  se tiene que:
  


"Un proyecto es un esfuerzo temporal que se lleva a cabo para crear un producto, servicio o resultado único. La naturaleza temporal de los proyectos indica un principio y un final definidos. El final se alcanza cuando se logran los objetivos del proyecto o cuando se termina el proyecto porque sus objetivos no se cumplirán o no pueden ser cumplidos, o cuando ya no existe la necesidad que dio origen al proyecto. Temporal no necesariamente significa de corta duración. En general, esta cualidad no se aplica al producto, servicio o resultado creado por el proyecto; la mayor parte de los proyectos se emprenden para crear un resultado duradero. Por ejemplo, un proyecto para construir un monumento nacional creará un resultado que se espera que perdure durante siglos. Por otra parte, los proyectos pueden tener impactos sociales, económicos y ambientales que durarán mucho más que los propios proyectos."



Se debe, tener siempre presente que todo proyecto va a generar "algo", eso que se obtiene del esfuerzo temporal realizado puede ser un producto o un servicio, incluso la capacidad de brindar un servicio o un documento que da paso a otro proyecto.


Un proyecto se constituye de cinco etapas, Iniciación, Planificación, Ejecución, Seguimiento y Control, y finalmente el Cierre o finalización.  Suelen representarse en una secuencia lógica de la siguiente manera:


Así, en particular para el caso de generar productos TIC, la gestión de los proyectos completa suele representarse de la siguiente manera:


Estas dos formas de representar no son gráficos de cosas diferentes, es un mismo contexto metodológico, el segundo es el primero llevado a la particularidad de las  Tecnologías de la Información y las Comunicaciones.

En la siguiente publicación, se analizará cada componente y se tratará al final de las publicaciones de esta serie, la gestión del talento humano detrás de los proyectos TIC.

PARTE I | PARTE II PARTE III | PARTE IV  | PARTE V