sábado, 16 de noviembre de 2013

CONVERSATORIO REDES CO-CREATIVAS PARA EMPRENDIMIENTO DIGITAL 2.0



martes, 5 de noviembre de 2013

Gerencia de proyectos ágiles en la nube (parte 2)

De acuerdo al PMI (2013) la gerencia de proyectos se divide en cinco grupo de procesos, considerando el enfoque ágil podría considerarse en cada grupo lo siguiente:

Inicio: es importante comenzar con propósitos claros, integrar a los clientes-usuarios-proveedores en el equipo de trabajo y formalizar la información clave del proyecto en un documento (Acta Constitutiva del proyecto) 

Planificación: detalla lo que se hará de forma adaptativa y iterativa, generando un plan de dirección del proyecto y planes detallados en cada iteración.

Ejecución: el foco es agregar valor al cliente con entregas tempranas y frecuentes, con un líderazgo servicial (no controlador), una comunicación efectiva, equipos colaborativos de trabajo y adaptación a los cambios.

Control y Seguimiento: se diluye, está distribuido en equipos e involucrados empoderados. Se genera la documentación necesaria, informes e indicadores de avance y control.

Cierre: entrega de valor al cliente, por etapas. Documentación de lecciones aprendidas a lo largo de la ejecución (Pase a Producción progresivo).

En relación a las área de conocimiento de la gerencia de proyectos (PMI, 2013) con enfoque ágil, podría decirse:

Alcance: es adaptativo más que predictivo, enfocado en entender las necesidades, recopilar los requisitos, definir entregables, utilizando un pensamiento analítico y enfoque colaborativo.

Tiempo: desarrollo de cronogramas cortos por iteración, seguimiento diario de actividades, adaptación a los cambios, uso de tableros y gráficos de seguimiento decrecientes. La planificación es gradual.
 
Costo: estimación de costos de infraestructura, equipos, servicios. Uso de la técnica del Valor Ganado para control de costos.

Calidad: los procesos de mejora continua están auto-contenidos en las iteraciones. Se utilizan herramientas de automatización de pruebas. 

Recursos Humanos: los equipos de trabajo son auto-gestionados, involucrados, motivados, equipos de alto desempeño cuyas capacidades aumentan gracias a la colaboración.

Comunicaciones: los interesados son parte integral del proyecto, hay una comunicación constante y solución colaborativa de problemas. Uso de tableros y sistemas de tarjetas que comunican lo que agrega valor al proyecto.

Riesgos: diariamente se pregunta qué bloquea el trabajo de cada miembro del equipo, es decir está incluido en la dinámica diaria de trabajo. Se recomienda incluir gestión de riesgos del contexto.

Adquisiciones: se realiza evaluación y selección de proveedores. Los proveedores seleccionados trabajan en equipo y en modo colaborativo con el resto del equipo de trabajo.

Involucrados: se identifican e integran los interesados en el equipo de trabajo según corresponda, agregando siempre valor. Los involucrados son parte activa del equipo de trabajo.

Integración: el proyecto es un todo único, sistémico, simple, participativo y colaborativo.

Dicho lo anterior, algunos retos de los proyectos ágiles en la nube son:

a) Disponer de propósitos claros alineados a estrategias del negocio.

b) Integrar equipos de trabajo multidisciplinarios y de alto desempeño, comprometidos y enfocados en agregar valor al negocio. Cliente involucrado y disponible.

c) Generar confianza y eficiencia incorporando tecnología y metodología basada en las mejores prácticas de la ingeniería del software y de la gestión ágil de proyectos.

d) Gestionar el manejo del cambio y la transferencia tecnológica fortaleciendo el capital humano y tecnológico de la organización.

e) Proveer soluciones oportunas (ágiles) y adaptativas, acordes a las exigencias del negocio y del mercado, en forma iterativa e incremental.-

Gerencia de proyectos ágiles en la nube (parte 1)

La gerencia de proyectos es una disciplina que puede ser presentada en forma de metodología, procesos, normas y procedimientos, con la intención de aplicar conocimientos, técnicas y herramientas que permitan identificar, definir, analizar, planificar, dirigir y controlar las actividades, recursos, personas y eventos de un proyecto, utilizando para ello teorías, estándares y las mejores prácticas internacionalmente aceptadas.-

Los proyectos son de naturaleza única, temporales, con recursos limitados y se formulan para cumplir objetivos y generar productos o entregables, cumpliendo especificaciones de alcance, tiempo, costo y calidad.

Este es el propósito de la gerencia de proyectos cumplir los objetivos, alcance y calidad de un proyecto, usando eficientemente los recursos, valorando la satisfacción de todos los clientes (stakeholders), integrando y armonizando las unidades involucradas, para asegurar el cumplimiento de cronogramas y presupuestos a través del control y seguimiento de los recursos, y aplicando las mejores prácticas para establecer objetivos, actividades y productos SMART (eSpecíficos, Medibles, Alcanzables, Retadores y Relevantes, y acotados en el Tiempo.

La gerencia de proyectos se aplica a todo tipo de proyectos: proyectos de inversión, sociales y de gastos, proyectos pequeños, medianos y grandes (mayores), internos y externos, proyectos personales, familiares, sociales, proyectos comunitarios, científicos, académicos, empresariales y gubernamentales, y obviamente proyectos tecnológicos.

Los proyectos tecnológicos, informáticos, se formulan para implementar estrategias de negocio que apoyen la visión de una empresa, ejecutar planes estratégicos para administrar o sub-contratar los recursos de TIC de una empresa (recursos humanos, procesos, hardware, software, datos y recursos de redes) e implantar arquitecturas de tecnología de información diseñada para apoyar las iniciativas de negocio/TI de una empresa. Incluyen sistemas de información empresariales, aplicaciones, software de operación y gestión, recursos de datos, redes, arquitectura de aplicaciones y estructura organizacional de la función de SI/TI.

Actualmente se ofrecen servicios de computación en la nube, también conocida como informática en la nube, nube de cómputo o Cloud computing. La computación en la nube es un paradigma que permite ofrecer servicios de computación a través de la Nube de Internet. Se ofrecen distintos niveles de servicio: Software como servicio (SaaS), con aplicaciones completas ofrecida como un servicio, en-demanda en la nube, plataforma como servicio (PaaS), con ambientes de desarrollo y ejecución de aplicaciones codificadas en varios lenguajes y tecnologías como Google App Engine, .NET, Java, HTML 5 y PHP, en la Web, e infraestructura como servicio (IaaS), ofreciendo almacenamiento básico y capacidades de cómputo como servicios estandarizados en la red.

Las nubes en cloud computing pueden ser nubes públicas, mantenidas y gestionadas por terceras personas no vinculadas con la organización, nubes privadas que están en una infraestructura bajo demanda gestionada para un solo cliente que controla qué aplicaciones debe ejecutarse y dónde, y nubes híbridas que combinan los modelos de nubes públicas y privadas.

Entre los beneficios del cloud computing destacan el acceder a aplicaciones y datos desde cualquier sitio, la actualización sencilla de versiones, compatibilidad y migración, el uso de estándares web, la independencia del computador personal o dispositivo, no son necesarias las copias de seguridad, mejores controles ante virus y otras amenazas

Algunos retos del cloud computing son ganar la confianza de los usuarios en la estabilidad y seguridad de sus aplicaciones y datos, gestionar la dependencia de Internet y de los proveedores, transferencia tecnológica que no limite las libertades y creatividad del usuario, el control cambiario en Venezuela dado que estos servicios se suelen ofertar en doláres, y la agilidad que exigen los proyectos tecnológicos.

Para dar respuesta a este último reto, surge el manifiesto ágil para el desarrollo de aplicaciones informáticas, el cual establece una preferencia en los individuos e interacciones sobre los procesos y herramientas, en el software funcionando sobre la documentación extensiva, la colaboración con el cliente sobre la negociación contractual, y la respuesta ante el cambio sobre seguir un plan.

Las metodologías ágiles se basan en un desarrollo iterativo e incremental, dividiendo el proyecto en iteraciones cortas. Utiliza métodos de la ingeniería del software (cada iteración tiene su planificación, análisis de requerimientos, diseño, codificación, revisión y documentación). Los requerimientos y soluciones evolucionan durante el desarrollo, el cual está fundamentado en la colaboración de grupos auto-organizados y multidisciplinarios. Se valora la agilidad, la flexibilidad, el desarrollo Iterativo e incremental, el cual está orientado hacia las personas y su interacción, el producto que funciona, la colaboración con el cliente y la respuesta al cambio.

Los métodos ágiles exigen equipos de alto desempeño, auto-organizados y auto-gestionados, un liderazgo y control que se diluyen en la planificación y ejecución de los equipos de trabajo. 

El reto es integrar las mejores prácticas de la Gerencia de Proyectos y de las Metodologías ágiles para la ejecución y gestión de proyectos tecnológicos en la nube.