Mostrando entradas con la etiqueta OSIMM. Mostrar todas las entradas
Mostrando entradas con la etiqueta OSIMM. Mostrar todas las entradas

lunes, 25 de marzo de 2013

Preguntas por Dimensión para SIMM


En uno de los artículos anteriores (SIMM) se examinó la matriz de madurez para SOA SIMM. Modelo que fue creado por Ali Arsanjani y Kerrie Holley el 20 de septiembre del 2005 en IBM donde expertos de IBM publicaron tutoriales, código de ejemplo, estándares y otros recursos para ayudar a desarrolladores de software.

El modelo SIMM consta de dimensiones y niveles de madurez. En este nuevo artículo publico algunas preguntas generales que deben ser contestadas en cada una de las dimensiones de SIMM.


Negocio:

  1. ¿Cuáles son los mejores procesos de negocio para la iniciativa SOA?
  2. ¿Cuál es la visión y los objetivos, y cómo están relacionados a lo que IT está actualmente haciendo?
  3. ¿Está documentada, definida y gobernada la actual arquitectura de negocio?
  4. ¿Es su arquitectura de negocio completa y moderna?
  5. ¿Cómo se mide el retorno de la inversión?
  6. ¿Qué tan agiles son los procesos de negocio?
  7. ¿Cuáles son las actuales prácticas de financiamiento?
  8. ¿Cuál es el actual costo modelo?
  9. ¿Quiénes son los dueños del portafolio de procesos, aplicaciones y servicios?
  10. ¿Existe un modelo de costo por el uso que los clientes hacen a los servicios?
  11. ¿Como hace actualmente para definir el costo total de arrendamiento (incluido software, hardware y futuros mantenimientos)?
  12. ¿Cómo son medidos los actuales servicios de negocios?
  13. ¿Cuál es la actual práctica para transformar SLAs de negocio hacia SLAs de IT?
  14. ¿Esta formalizada la arquitectura empresarial?
  15. ¿Esta formalizado el gobierno de su arquitectura empresarial?
  16. ¿Existen múltiples líneas de negocio? ¿Cada una de esas líneas tiene sus propios procesos?
  17. ¿Se comparte información entre los procesos de sus diferentes líneas de negocio?
  18. ¿Comparte servicios de las líneas de negocio con clientes, proveedores y socios?

Organización:

  1. ¿Qué tipo de características son comunes en el grupo de IT?
  2. ¿Cómo gobierna actualmente IT la arquitectura empresarial?
  3. ¿Qué tan alineado esta IT con el negocio?
  4. ¿Existen procesos para gobernar la arquitectura, están esos procesos documentados, si es así, son esos procesos usados como servicios?
  5. ¿Existen roles y responsables relacionados a la ejecución de los procesos de negocio?
  6. ¿Cuáles son las funciones y responsabilidades para quien gobierna?
  7. ¿Cómo se debería describir el costo de mantenimiento de  IT?
  8. ¿Qué tipo de entrenamiento SOA está disponible en la organización?
  9. ¿Qué tipo de relación existe entre el grupo de desarrolladores de la organización y el grupo de infraestructura?
  10. ¿Qué autoridades existen para gobernar la arquitectura?
  11. ¿Se ha solucionado los problemas de comunicación entre los departamentos internos, socios y proveedores?

Métodos y Procesos: 

  1. ¿Cuáles son las actuales practicas para manejar los requerimientos de sistemas o requerimientos de aplicaciones?
  2. ¿Qué metodologías de diseño y mejores practicas están actualmente adoptadas?
  3. ¿Se practica alguna técnica de diseño SOA?
  4. ¿Cuáles son las practicas actuales para diseñar y manejar servicios?
  5. ¿Cuál es el actual Framework para manejo de proyectos?
  6. ¿Cómo están organizadas las personas que manejan los Proyectos de IT?
  7. ¿Qué procesos de aseguramiento de la calidad tiene la organización?
  8. ¿Existe un grupo activo que trabaja por mejorar los procesos y prácticas de SOA?
  9. ¿Tiene la organización desarrollado un repositorio para mejores prácticas y reutilización de recursos?
  
Aplicación:

  1. ¿Cuál es el actual estilo de desarrollo de aplicaciones?
  2. ¿Cómo se reúsa los recursos o funciones comunes?
  3. ¿Qué tipo de reutilización se realiza y cómo se mide la reutilización?
  4. ¿Cómo se integran las aplicaciones y sistemas?
  5. ¿Qué tipo de lenguajes de programación se utilizan?
  6. ¿Qué tipo de tecnologías de integración se utilizan?
  7. ¿Cómo está representada la lógica de negocio dentro de las aplicaciones?
  8. ¿Qué tan seguras son las aplicaciones más importantes de la organización?
  9. ¿Que tanto se usa XML?
  10. ¿Cuál es la taza de cambios y requerimientos en las aplicaciones?
  11. ¿Se están usando las tecnologías habilitadas por SOA, tales como ESB, compartimiento de datos, registro de servicios?

Arquitectura: 

  1. ¿Cómo caracterizaría la actual arquitectura?
  2. ¿Qué tipos de repositorios de datos utiliza la organización?
  3. ¿Cuál es el estilo de comunicación estándar dentro de la arquitectura?
  4. ¿Cómo se está cumpliendo con la integración en la actual arquitectura?
  5. ¿Qué métodos se utilizan para desarrollar bajo la actual arquitectura?
  6. ¿Cómo maduran las implementaciones de servicios?
  7. ¿Qué tan extensa es la arquitectura actual?
  8. ¿Qué principios de arquitectura definen su actual enfoque?
  9. ¿Qué tan extensa y sofisticada esta el uso de Frameworks en la actual arquitectura?
  10. ¿Cómo se realizan las decisiones de arquitectura?
  11. ¿Hace uso la organización de referencias de arquitecturas?
  
Información:

  1. ¿Hay un modelo de datos común entre todas las aplicaciones?
  2. ¿Hay modelos de datos independientes para diferentes aplicaciones?
  3. ¿Se utilizan reglas de mapeo para conversiones entre diferentes modelos de datos?
  4. ¿Hay dificultad en mover datos entre una aplicaciones y otra? ¿Para todas las aplicaciones?¿Para solamente algunas aplicaciones?
  5. ¿Cómo se intercambian los datos? ¿A través de API's? ¿Por XSD? ¿Por documentos escritos? ¿Por herramientas externas?
  6. ¿Están los modelos de datos en forma de Modelos de Objetos de Negocio, comprensibles para el negocio, o como modelo de objetos de IT, comprensible únicamente por el grupo de IT?
  7. ¿Los modelos de datos están definidos por un lenguaje que incluye taxonomías, ontologías u otra representación de alto nivel?
  8. ¿Se mantiene un directorio global o base de datos de objetos, con identificadores globales? ¿O se tienen mecanismos para mapear esos objetos entre diferentes directorios o bases de datos? Son estos mecanismos electrónicos o manuales?  Son todos los objetos mapeados o solamente algunos de ciertas aplicaciones?
  9. ¿Se tienen mecanismos para buscar objetos globalmente buscándolos por sus características?
  10. ¿Cómo se completa la transformación de los datos entre las aplicaciones? Se está usando un ESB para realizar la transformación, utilizando API's o llamando a un webservice?
  11. ¿Existe o está en desarrollo un Modelo de Información de Negocio para estandarizar datos, formatos de mensajes y conceptos entre todas las aplicaciones?
  
 Infraestructura:

  1. ¿Qué directrices está usando actualmente la infraestructura?
  2. ¿Cómo son derivados los SLA's de IT desde los SLA's del negocio?
  3. ¿Cómo se está monitoreando y midiendo la calidad de los servicios?
  4. ¿Se tienen SLA's sobre seguridad y privacidad? Como se está monitoreando y midiendo?
  5. ¿Qué nivel de monitoreo se tiene actualmente? Que herramienta de gestión están utilizándose actualmente?
  6. ¿Qué plataformas están actualmente en uso y que puedan ser integradas?
  7. ¿Qué recursos están situados bajo versionamiento?
  8. ¿Qué procesos de gestión de cambios se están utilizando?
  9. ¿Qué herramientas se están usando para gestión de la configuración?
  10. ¿Qué recursos son considerados como bienes de la organización?
  11. ¿Cómo es su actual arquitectura operacional?
  12. ¿Cómo soporta la arquitectura operacional los requerimientos no funcionales para aplicaciones y servicios?

lunes, 10 de septiembre de 2012

¿Es ágil su empresa? ¡Evalúela usted mismo!

¿Se ha preguntado alguna vez qué tan ágil es su empresa? ¿Qué tan rápido se adapta a los cambios del mercado? ¿Qué tan rápido crea un nuevo producto o servicio? ¿IT tiene la capacidad de soportar la innovación que exige las personas de negocio?
Usted puede evaluar el estado actual de su empresa con la ayuda de la Matriz de Madurez OSIMM (Open Group Service Integration Maturity Model), la cual ayudará a crear un Mapa para la transformación incremental hacia un nivel más maduro de integración de servicios para que los beneficios de su empresa incrementen por medio de la agilidad. OSIMM es usado para determinar características de la organización y determinar si existen problemas en el nivel actual, cómo solventarlos y así poder evolucionar al siguiente nivel de madurez.

OSIMM se enfoca en el análisis de siete Dimensiones críticas de una organización o empresa:
  • Negocio
  • Organización
  • Métodos y procesos
  • Aplicaciones
  • Arquitectura
  • Información
  • Infraestructura
Y para cada Dimensión existen siete niveles de madurez. A continuación se dan a conocer los niveles, desde el nivel menos maduro (1) hasta el nivel más maduro (7):
  1. Silo
  2. Integrado
  3. Por componentes
  4. Servicios
  5. Servicios Compuestos
  6. Servicios Virtualizados
  7. Servicios Dinámicamente Reconfigurables
DIMENSIONES: A continuación se describe el concepto de cada una de las dimensiones para así tener claro qué características de la organización son tomadas en cada una de ellas:

Negocio: Está enfocada en las actuales prácticas y políticas de la organización. Cómo son ejecutados y diseñados los procesos de negocio. Cómo están estructurados, implementados y monitorizados. Qué tanto costo implica la modificación o creación de procesos. Qué tan flexible es IT para soportar las solicitudes de las personas de negocio. Estrategias y tácticas de la organización.

Organización: Está enfocada en la estructuración y diseño de la organización y su efectividad. Qué capacidad, experiencia y conocimientos poseen sus empleados para aprovechar una empresa ágil, existencia de gobernanza en sus procesos, alineación entre el negocio e IT. Como está manejado IT y que tanto presupuesto se le asigna.

Métodos y Procesos: Está enfocada en los métodos y procesos empleados por la organización para su crecimiento y su madurez alrededor del Ciclo de vida del desarrollo del software, tales como el uso de manejo de requerimientos, técnicas de estimación, manejo de proyectos, calidad de los procesos, uso de metodologías y herramientas certificadas.

Aplicación: Se enfoca en el estilo de las aplicaciones, su estructura y funcionalidad, reusabilidad, flexibilidad, confiabilidad, seguridad y escalabilidad. Si existen aplicaciones con la misma función, aunque sirvan a partes del negocio distintas (funcionalidad duplicada). Uso de buenas prácticas.

Arquitectura: Está enfocada en la topología, tipos de los datos, modelo de información del negocio, técnicas de integración, estándares y políticas.

Información: Se enfoca en aspectos del modelado de la información, acceso a los datos, abstracción de los datos, transformación de los datos, definición de procesos y servicios, manejo de identidad y credenciales de seguridad.

Infraestructura: Se enfoca en la capacidad de la infraestructura de la organización, manejo de los servicios, capacidad de transaccionalidad, operaciones de IT, manejo y administración de IT. Creación de SLAs, monitoreo, plataformas de integración.

NIVELES DE MADUREZ: Para las dimensiones anteriores, se debe tratar de ubicar cada una de ellas en alguno de los siguientes niveles:

Silo: Partes individuales de la organización están desarrollando software de manera independiente, sin integración de datos, sin procesos ni estándares. Esto limita la capacidad de la organización para implementar procesos de negocio que requieran cooperación entre las diferentes partes, y los sistemas IT no pueden ser integrados sin intervención manual, reconfiguración o recodificación.

Integrado: Se ha logrado la comunicación entre las islas de aplicaciones. La construcción de un sistema IT que integra datos a través de diferentes aplicaciones de la organización se convierte posible. Sin embargo, la integración no está basada en estándares. Además, para conectar dos sistemas, cada conexión puede requerir código a la medida y adaptadores provocando muchas veces proliferación de código, el cual es muy difícil de manejar y además los nuevos desarrollos se vuelven cada vez más complejos y costosos.

Por componentes: Los sistemas IT en islas han sido partidos en varias partes o componentes. Aunque los componentes interactúan entre sí a través de interfaces bien definidas, la manera en que esos componentes interactúan juntas no poseen Bajo Acoplamiento, el cual limita la interoperabilidad entre sistemas en diferentes partes de la organización o incluso con otras organizaciones, el cual es una limitante para el crecimiento de la empresa (adaptarse al mercado rápidamente).

Servicios: Aplicaciones compuestas pueden ser ahora construidas con Bajo Acoplamiento. La manera en que los servicios pueden ser invocados está basado en estándares, son independientes de la tecnología y están ejecutándose en una infraestructura que soporta los servicios con protocolos adecuados, mecanismos de seguridad, transformación de datos y monitoreo de servicios. Los servicios además pueden interoperar con las otras partes de la organización fácilmente o incluso con otras organizaciones externas. Además pueden ser creados SLAs para partes relevantes del negocio. Sin embargo, el flujo de control dentro de un servicio compuesto esta todavía definido por programación a la medida, en lugar de utilizar un lenguaje declarativo. Además los servicios han sido nombrados de tal manera que el nombre implícitamente indique la operación que realiza, permitiendo la creación de un Catalogo de Servicios.

Servicios Compuestos: Ahora es posible construir procesos de negocio por medio de un conjunto de servicios interactuando entre sí. Ya no se realiza código a la medida, sino que se hace uso de un lenguaje declarativo como BPEL. Esto permite ensamblar servicios simples o complejos con mucha facilidad y rapidez ya que no se necesitará escribir ni una línea de código y los cambios pueden ser entendidos por cualquier persona de negocio. Esto provoca que el diseño de servicios sea ágil y que puedan ser desarrollados tanto por las personas técnicas como las no-técnicas.

Servicios Virtualizados: Los servicios IT están ahora siendo accedidos por una fachada, un nivel de induración. Los consumidores de servicios no invocan un servicio directamente, sino que invocan un Servicio Virtual. La infraestructura realiza el trabajo de convertir la invocación virtual en una invocación física al servicio real y puede realizar cambios en los datos, ruteo, la red, el protocolo, entre otros. Los servicios virtuales también favorecen el Bajo Acoplamiento ya que elimina la reconfiguración de todos los servicios dependientes cada vez que un servicio independiente cambie.

Servicios Dinámicamente Reconfigurables: En el nivel anterior, los ensamblados de servicios, aunque son ágiles, son realizados en tiempo de diseño usando adecuadas herramientas. Ahora en este nuevo nivel, los cambios en el ensamblaje de los servicios compuestos son realizados en Tiempo de Ejecución, y con ello la organización se convierte en una: Organización totalmente ágil.

Una vez explicado cada una de las dimensiones y cada uno de los niveles de madurez, se presenta la matriz de madurez OSIMM:

¡EVALUE SU EMPRESA!





Oracle ACE Director Award - Deiby Gómez

Thanks #OracleACE Program for this awesome certificate recognizing the work I have done in the community for the last year. Looking forwa...