El análisis de negocio nos permite tomar mejores decisiones para construir el software, pues nos permite comprender mejor las necesidades que se deben satisfacer.

Esto se consigue por una razón muy simple: entendemos a las personas para las que estamos desarrollando (lo que muchos conocen como Empatía). Cuando las comprendemos y entendemos sus alegrías y frustraciones, nos es más fácil pensar en alternativas para generarles valor; también nos permiten prevenir situaciones en las que les generaremos problemas por decisiones erróneas.

En este momento, quizás te estás preguntando: ¿qué debo hacer, en el contexto del desarrollo de software, para poder lograr esa empatía con mis usuarios? Debes fijarte en cuatro cosas. Acompáñame a conocerlas.

¿En qué contexto están mis usuarios y el software que hago?

El desarrollador del software debe ser consciente del contexto en el que estará su producto. Esto es, el ambiente de operación, que incluye:

  • La ubicación geográfica de los usuarios
  • Demografía de los usuarios
  • Otro software que está funcionando y con el que se tendrá interacción
  • El hardware existente que se estará usando
  • Políticas, reglas, creencias y aspectos culturales de la comunidad de usuarios
  • Los límites y fronteras del sistema

Entender esto nos permite tomar decisiones acertadas para el contexto en que se van a implementar. Así, evitamos problemas como: elegir una tecnología inadecuada para el ambiente y el hardware, liberar una actualización para la que los usuarios no están preparados, o diseñar una arquitectura inapropiada para el ambiente.

man standing in front of people sitting beside table with laptop computers
El sistema involucra personas, software y hardware

 

Este trabajo debe hacerse continuamente, pues el contexto cambia con el tiempo. Debes recordar que, con cada línea de código que colocamos en producción, estamos cambiando el mundo; por lo tanto, debemos estar conscientes del contexto todo el tiempo.

¿Cuál es el Dominio de la información?

El “dominio” de la información se refiere al nombre y significado que tienen las palabras en el contexto del usuario. Es decir, debemos trabajar en entender cómo hablan y se expresan nuestros usuarios, pues las mismas palabras y conceptos cambian con el contexto; por ejemplo, no es lo mismo un Cliente, en términos del software, que se refiere a un programa, a un Cliente del negocio, que es una persona o una empresa.

Conocer y comprender el vocabulario del usuario nos permite varias cosas: presentar los mensajes adecuados en nuestra interfaz, diseñar los flujos de información correctos, diseñar estructuras de información eficientes y presentar los datos o resúmenes relevantes.

opened book on brown table
Las personas usan conceptos y palabras con un significado en cada contexto

Esto, al igual que el análisis de contexto, debe hacerse continuamente, pues el dominio también cambia con lo que hacemos y con lo que las personas realizan.

¿Cuáles son las interacciones y actividades en este contexto?

En un par de ocasiones, participé en el desarrollo de software organizacional, que iba a ser usado por personas en diferentes áreas y departamentos. Sin embargo, yo no sabía cómo trabajaban entre ellos: qué interacciones tenían, qué información compartían y de qué forma colaboraban para obtener objetivos organizacionales; sin embargo, así hice el software, con base en suposiciones. Sobra decir la enorme cantidad de imprecisiones que tuvimos y las horas de retrabajo en las que incurrimos.

En tu trabajo de análisis del negocio, debes entender cuáles y cómo son las interacciones entre los diferentes elementos del ambiente de operación: personas, grupos, entidades, hardware y software. Quién interactúa con quién y de qué manera lo hace: ¿comparten información? ¿Son una línea de proceso? ¿Su participación es síncrona o asíncrona? ¿De dónde viene la información y hacia dónde va? ¿Cuáles son las herramientas que emplea cotidianamente? ¿Dónde están ocurriendo las acciones de procesamiento, transformación de la información y toma de decisiones?

El software que estamos construyendo participa en estas interacciones, así que busca comprenderlas.

person working on blue and white paper on board

 

¿Cuál es el comportamiento esperado?

Una vez, acudí a la charla del dueño de una empresa; habló de la ética en el desarrollo de software y cómo aplicaban esto en el producto que desarrollan y venden, que se trata de un sistema para administración de gobiernos municipales. Recuerdo sus palabras: nuestro software se apega a la ley y la debe de seguir en su operación, sin permitir desviaciones o presiones externas (que las tenía frecuentemente). Es decir, había un comportamiento definido para el sistema en situaciones normales y extraordinarias y éste estaba implementado en el software. Es algo que no he olvidado y suelo compartirlo para explicar este concepto.

Entender el comportamiento significa definir cómo reacciona el sistema ante ciertos estímulos; por sistema, me refiero a todo el conjunto de software, hardware y personas. No es solamente si tu software debe presentar mensajes en las pantallas de los usuarios, sino cuál es la respuesta general de todo el sistema ante ese evento.

Para esto, debes conocer tres cosas:

  • Los eventos que ocurren en el sistema (por ejemplo, iniciar una venta o la manifestación de un problema) y las reglas de negocio que aplican
  • Los procesos o actividades que son iniciados con los eventos
  • Los estados del sistema en diferentes momentos y circunstancias

Así, puedes comprender cuáles cosas deben suceder ante un cambio en la información o la manifestación de que un evento ha ocurrido; además, será más fácil entender cuáles son las acciones y actividades permitidas o prohibidas si el sistema se encuentra en un estado determinado.

Por ejemplo, en el software de gestión municipal, nos describieron un evento llamado “Cambio de partida presupuestal” en un estado conocido como “Presupuesto cerrado”; los usuarios querían modificar los montos aprobados en esa partida, pero la ley indica que el presupuesto cerrado no se debe modificar. El comportamiento esperado del sistema es mantener la información sin modificar e impedir cualquier intento de hacerlo por otros medios.

No Trespassing sticker on brown surface
¿Cuáles cosas están permitidas y cuáles no? – Photo by

En tus actividades de desarrollo de software diarias, debes mantener un modelo actualizado del negocio y el sistema con los cuatro elementos que te describí. Esto lo logras mediante las técnicas de análisis, que pueden ser apoyadas con diversas herramientas y métodos. Pero esto ya te lo describiré en una siguiente entrada.

¡Hasta la próxima!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.