¿Qué es SAKM? Software Architecture Knowledge Management

TL;DR

Software Architecture Knowledge Management (SAKM) son un conjunto de procesos para preservar, evolucionar, mantener y aprovechar a nivel global de la organización todo el conocimiento y buenas prácticas desarrollados a lo largo del tiempo en lo que respecta a arquitectura de software.

Las ventajas claves que justifican una iniciativa de SAKM son:

  • El ahorro de costes al evitar la reinvención de la rueda en cada proyecto de software que se aborda, evita repetir errores y trabajo duplicado.
  • El ahorro de costes al subcontratar un desarrollo a un proveedor. Incrementándose notablemente el control sobre cómo se realizan estos proyectos y abaratando su posterior mantenimiento.
  • La estandarización en la generación de software de la organización, ya que todos los proyectos se sustentarán sobre bases comunes.
  • Minimización del proceso de on-boarding de nuevos fichajes, ya que se facilita toda esta información sobre la SAKM en una plataforma única, revisada y perfectamente documentada.

Por lo que, si imaginamos las necesidades en lo referente a arquitectura de software de una organización de una manera panorámica, veremos que tener acotado, ordenado y estandarizado todo lo referente a este ámbito revierte en grandes beneficios a la hora de no repetir la creación de patrones en cada uno de los proyectos que se abordan, en estandarizar la forma de desarrollar software, en abaratar los desarrollos que se encarguen a proveedores y en facilitar la incorporación de nuevos fichajes a los departamentos de desarrollo, teniendo un single point of truth en lo referente al conocimiento de arquitectura de software de la organización.

Y después de esta breve y práctica introducción, ya podemos extendernos.

¿Qué el Software Architecture Knowledge Management?

Una arquitectura de software manifiesta las principales decisiones iniciales de diseño, que determinan el desarrollo, la implementación y la evolución del sistema. Por lo tanto, tomar las mejores decisiones arquitectónicas es uno de los grandes desafíos en la ingeniería de software.

La gestión del conocimiento de la arquitectura de software (Software Architecture Knowledge Management) consiste en capturar la experiencia práctica y traducirla en conocimiento arquitectónico generalizado y utilizar este conocimiento en la comunicación con las partes interesadas durante todas las fases del ciclo de vida del software.  

Este post presenta una descripción de la gestión del conocimiento en la disciplina de arquitectura de software. Explica la importancia de las prácticas sólidas de gestión del conocimiento para mejorar los procesos y productos de arquitectura de software, y deja claro el papel de la gestión del conocimiento en la arquitectura de software y los procesos de desarrollo de software. Es un enfoque para mejorar los resultados del proceso de arquitectura de software mediante la introducción de prácticas para identificar y capturar el conocimiento y la experiencia en arquitectura, y ponerlo a disposición para su reutilización en todos los proyectos.

Entonces, la información aquí presentada puede ser interesante para clientes que cuenten con profesionales de la tecnología de la información y la ingeniería de software, en particular arquitectos de software. Se ofrece una comprensión amplia y concisa de la importancia de la gestión del conocimiento para mejorar el proceso de arquitectura de software y desarrollar capacidades en el diseño y evaluación de mejores arquitecturas para los sistemas de misión crítica del negocio.

¿Cómo funciona?

La gestión del conocimiento en arquitectura de software dentro de una organización se basa en ocho tareas divididas en:

Tareas estratégicas

  • Establecer metas del conocimiento en arquitectura, en donde se describen los objetivos de gestión del conocimiento y los beneficios esperados. Por ejemplo, algunos de los objetivos estratégicos para gestionar el conocimiento arquitectónico pueden ser mejorar el proceso de arquitectura de software, proporcionar un mejor soporte para la toma de decisiones arquitectónicas, la reutilización de los artefactos arquitectónicos y el mantenimiento y evolución efectivos y eficientes de la arquitectura.
  • Establecer métricas del conocimiento en arquitectura, es otra tarea de nivel estratégico destinada a garantizar la calidad del proceso de gestión del conocimiento mediante la comparación de los resultados con los beneficios esperados. Esta tarea necesita definir y evaluar varias métricas para ese propósito. Por ejemplo, el número de escenarios concretos instanciados a partir de escenarios generales, el número de opciones de diseño transformadas en decisiones de arquitectura aplicadas en diferentes proyectos, y el número y puestos de empleados que accedieron o contribuyeron al depósito de conocimiento organizacional. La retroalimentación de la medición del conocimiento arquitectónico da como resultado modificaciones en los objetivos del conocimiento arquitectónico.

Tareas operacionales

  • Identificación del conocimiento en arquitectura, tiene la intención de determinar los tipos y fuentes de conocimiento que están disponibles en un determinado contexto, claves para lograr los objetivos estratégicos de la gestión del conocimiento de diseño de arquitectura.
    • Fuentes humanas: arquitectos, líderes técnicos y desarrolladores.
    • Fuentes no humanas: patrones de diseño, estudios de casos y documentos de diseño de software.
  • Adquisición del conocimiento en arquitectura, teniendo en cuenta, consiste en el proceso de extracción de información de las fuentes humanas y no humanas.
  • Desarrollo del conocimiento en arquitectura, pretende empaquetar, consolidar y mejorar el conocimiento arquitectónico disponible. Esta tarea generalmente se logra mediante la comunicación del conocimiento, la integración de diferentes fuentes y su posterior representación en un determinado formato.
  • Distribución del conocimiento en arquitectura, apoya la distribución de conocimiento a los consumidores relevantes en su contexto. El conocimiento adquirido y desarrollado necesita ser distribuido a aquellos actores que lo necesitan. Puede haber varias formas de distribuir el conocimiento. Las organizaciones necesitan identificar, desarrollar e implementar los mecanismos más efectivos y eficientes para ello. 
  • Uso del conocimiento en arquitectura, tiene como objetivo mejorar el retorno de la inversión realizada en las iniciativas de gestión del conocimiento. Se sabe comúnmente que incluso si el conocimiento se adquiere y distribuye eficazmente, no hay garantía de que el conocimiento también se utilice de manera óptima. Un desempeño con éxito de esta tarea puede requerir varios incentivos para aumentar el uso del conocimiento, por lo que los recursos de la organización pueden optimizarse mejorando el uso / reutilización del conocimiento disponible.
  • Conservación y protección del conocimiento en arquitectura, tiene la intención de prevenir la pérdida incontrolada de conocimiento arquitectónico. Esta tarea incluye la selección y el almacenamiento de nuevos conocimientos, así como la adaptación de los conocimientos existentes (incluida la eliminación controlada). Esto respalda uno de los factores clave para motivar el uso y que el conocimiento se mantenga actualizado. Si el conocimiento no se mantiene actualizado o preservado, tiende a perder su valor para los usuarios potenciales o desaparece a medida que las personas olvidan o se trasladan a otros proyectos o trabajos.
SAKM
SAKM

La lista típica de medidas en las que podemos valorar la iniciativa de nuestra organización de SAKM podrían ser:

Consecuencias

  • Ahorro en tiempo, dinero o tiempo personal.
  • Porcentaje de proyectos exitosos en comparación con los anteriores a SAKM.
  • Tiempo y número de empleados capacitados.

Resultados

  • Evaluación por parte de los usuarios con encuestas útiles de cómo de útil ha sido la iniciativa SAKM ayudándolos en conseguir sus objetivos.
  • Conclusiones sobre el uso del SAKM donde los usuarios describen cómo la iniciativa ha contribuido a sus tareas diarias y la eficiencia general y efectiva de la organización.

Sistema

  • Tiempo de permanencia por página o sección.
  • Latencia (tiempo de respuesta)
  • Número de descargas
  • Número de acceso al sitio
  • Encuesta de usabilidad
  • Frecuencia de uso
  • Análisis de la ruta de navegación.
  • Número de llamadas al servicio de asistencia
  • Número de usuarios
  • Frecuencia de uso y / o actualización.
  • Porcentaje del total de empleados que utilizan el sistema.
Vicente García Diez

Autor: Vicente García Diez

Trusted Advisor en abstratio

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *