viernes, 6 de enero de 2012

Exploraciones de factibilidad técnica al comienzo de una iniciativa SOA

Para mitigar los riesgos inherentes a un cambio de paradigma, y sobretodo uno como SOA que podría tener un impacto en toda la organización, resulta altamente recomendable realizar una exploración de factibilidad técnica las durante fases tempranas de la iniciativa. Esta es una práctica generalmente realizada cuando la tecnología es poco conocida o no se ha probado previamente, y existe un grado de complejidad que no permite incorporarla en un plan de proyecto sobre la base de conjeturas o analogías.

Las exploraciones de factibilidad técnica generalmente se materializan a través de una serie de pruebas de conceptos. Estas exploraciones debieran ser identificadas y acotadas en su alcance durante las fases iniciales del proyecto, ejecutadas, para luego utilizar sus salidas y resultados para obtener un adecuado conocimiento de la complejidad tecnológica, las complicaciones de implementar un servicio en ella y para refinar las decisiones de arquitectura y diseño. Este entendimiento extra es un gran apoyo para la adecuada asignación de recursos (tiempo, personal, pericia) conmensurable a la complejidad de la implementación de servicios.

En mi experiencia, si la organización tiene como política externalizar el desarrollo de sus aplicaciones, entonces resulta altamente conveniente externalizar la realización de estas pruebas de concepto, solicitando a potenciales proveedores que realicen ejercicios en la tecnología dada, o muestren implementaciones echas por ellos donde se demuestre que han utilizado exitosamente la tecnología. La razón detrás de esto, es que muchas veces las empresas desarrolladoras presentan propuestas donde aseguran contar con los conocimientos necesarios para realizar el proyecto, pero una vez adjudicado, se evidencian severas faltas de pericia en herramientas claves, lo que puede ser agravado por la indisponibilidad de expertos reales en el país e incluso en el continente.

Independiente de si el desarrollo es interno o externalizado, un enfoque que parece ser altamente efectivo en la reducción de riesgos es la utilización de las fases del Proceso Unificado Rational (RUP) de IBM, donde en su fase de elaboración (en la que aún no se invierte más del 30% del presupuesto), se implementan uno o más requerimientos que aseguren que todas las decisiones tecnológicas son factibles. Cualquier problema detectado en esta actividad, que pueden ir desde la detección de la falta de competencias técnicas en el personal disponible hasta incompatibilidades entre los productos de middleware escogidos (incluso si son de un mismo proveedor), implica una alerta roja que debe llevar a una reflexión sobre la conveniencia de continuar el proyecto en esas condiciones, o realizar cambios a los planes y la estrategia de desarrollo.

Referencias:
SOA Governance: Achieving and Sustaining Business and IT Agility

No hay comentarios.: