Crear un modelo de proceso al implementar software


En el último artículo " ¿Qué es un sistema de información de computadora? ", Planteé una pregunta importante sobre los conceptos básicos y la comprensión de la terminología en la interacción de un usuario (cliente) y programadores. Según lo prometido, continúo expandiéndome sobre este tema. Y quiero hablar sobre la planificación adecuada del proceso de desarrollo e implementación de productos de software.

Por la naturaleza de mi actividad, constantemente encuentro trabajo de diseño. Y al comienzo de cualquier proyecto, enfrento la difícil tarea de una planificación competente. ¿Por qué es esto tan importante? Un buen plan es casi la mitad del éxito. Sin planificación, es casi imposible construir un trabajo de manera clara y armoniosa para lograr objetivos y cumplir con los plazos. Esto es especialmente importante cuando se trata de trabajo en equipo.

En principio, se ha escrito mucho sobre la importancia de la planificación. Y no repetiré las verdades conocidas aquí. Es simple: si sabe a dónde necesita llegar y puede establecer la ruta correcta, alcanzará la meta. Si no, por desgracia, nadie puede adivinar de antemano dónde terminará.

Errores de la planificación de TI


Cualquier plan para lograr el objetivo debe tener en cuenta tales factores:

  1. El objetivo declarado, es decir resultado a obtener.
  2. Factores externos: materiales, entorno, características de los participantes del proyecto y futuros consumidores, y mucho más.

Si hablamos de objetos del mundo material, por ejemplo, de construir una casa, todo es relativamente simple. Hay un cliente que dice sus deseos. Hay una parcela de tierra con ciertas características. Hay materiales de construcción con varios parámetros y costos. Y hay un cierto presupuesto. En base a esto, la versión final del proyecto, se determina la estimación, se planifican las etapas de trabajo. Incluso si nunca se ha encontrado con la construcción, ha visto muchas casas, incluso durante el proceso de construcción. El resultado es material, como lo son los factores externos. Por lo tanto, la elección de soluciones y la preparación del plan rara vez causan dificultades.

Al trabajar con sistemas informáticos, se enfrenta al problema de la ausencia de factores materiales y resultados. Aquí no funcionará, como, por ejemplo, al elegir la base de una casa, confiar en datos iniciales inequívocos y las leyes de la física. Además, la introducción de cada producto de software es un proyecto único.

Cada equipo, como cada persona, es único a su manera. Y siempre tienen sus propias necesidades y deseos especiales. Ordenan el desarrollo y la implementación de software para obtener una solución "por sí mismos" cuando los programas estándar existentes no son suficientes.

Al planificar un proyecto en el campo de TI, es necesario:

  1. Estudiar las características y necesidades del cliente;
  2. Comprenda claramente la tarea y tenga en cuenta todos los deseos;
  3. Coordinar con el cliente las soluciones seleccionadas.

Y solo después de eso podemos proceder al desarrollo de un plan de acción. En este caso, el cliente puede ser cualquier persona, organización comercial o sin fines de lucro. Lo principal es que siempre hay alguien que ordena el proyecto y lo usará en el futuro.

La práctica muestra que solo el trabajo preparatorio con el cliente a menudo causa dificultades. Y aquí, un enfoque basado en la definición puede venir al rescate:
Un sistema de información por computadora es una idea expresada a través de un lenguaje de programación.
Di una descripción detallada y una justificación para tal definición en el artículo "¿Qué es un sistema de información de computadora?" . Para una mejor comprensión, le recomiendo que se familiarice con cualquier persona que no lo haya leído.

Idea y selección de productos de software.


Lo primero y más obvio de entender: para que un producto de software seleccionado o creado para cumplir con su idea, sea necesaria una combinación de dos factores:

  • La presencia de la idea misma;
  • Su descripción clara e inequívoca para otros participantes del proyecto.

Y en la etapa de una descripción inequívoca y comprensible para terceros de la idea del proyecto, los llamados esquemas BPM resultan ser muy útiles. En otras palabras, anotaciones gráficas para describir procesos de negocio. Puede encontrar más detalles sobre lo que es y cómo se hacen las anotaciones BPM en mi artículo " ¿Qué es un proceso de negocios y la descripción de un proceso de negocios? ".

Al mismo tiempo, es importante comprender que esto no se trata necesariamente de procesos de negocios, utilizando las herramientas BPM puede describir con éxito cualquier trabajo y otros tipos de procesos, es decir. Simule claramente opciones para traducir ideas.

Se pueden usar dos enfoques para describir un negocio o realizar una tarea: proceso y funcional. También escribí sobre sus diferencias y características en detalle en el artículo " Modelado de negocios. Enfoques clave ".

Al buscar una solución (formular la idea en sí), muchos prefieren una versión funcional de modelado. Se ayuda a sí mismo a comprender la esencia del problema y las herramientas necesarias para resolverlo. Y para la solución efectiva de la tarea y la preparación del plan de trabajo, como lo demuestra mi experiencia personal, el modelado de procesos es óptimo.

Cómo hacerlo:

  1. Se crea una notación gráfica (descripción) del proceso de negocio. Recomiendo usar el formato BPMN 2.0 como la herramienta más avanzada y sofisticada, cuyo uso reduce la probabilidad de errores y soluciones ambiguas.
  2. La idea expresada en forma de anotaciones BPMN se discute con las partes interesadas (clientes, usuarios, en algunos casos, desarrolladores).
  3. Según la idea acordada, eligen el software o deciden escribir un producto de software desde cero.
  4. Se elabora un plan de trabajo teniendo en cuenta las herramientas seleccionadas, las soluciones y una idea detallada (notación BPMN).

Cómo crear un modelo BPMN


Para una compilación exitosa de anotaciones BPM, una persona debe tener cierto conocimiento:

  • Comprender las características de la organización (interacción del usuario). Sin esto, la encarnación de la idea probablemente contendrá errores. Como resultado, el sistema será inconveniente o imposible de usar.
  • Conozca las características de los algoritmos y, como mínimo, los conceptos básicos de la programación. Esto es necesario para establecer requisitos correctos y realistas para los sistemas de software.
  • Tener habilidades para trabajar con anotaciones gráficas. Este formato, como cualquier infografía, es la opción más visual y comprensible para que todos los participantes del proyecto muestren la tarea.

En cooperación con empresas u organizaciones sin fines de lucro, el proceso de cooperación se estructura de la siguiente manera:

  1. La declaración general del problema es formulada por el jefe de la empresa;
  2. Aclaración de las etapas del trabajo y las características de implementación: jefes y empleados de los departamentos que trabajarán con el producto de software.

En algunos casos, la declaración del problema en su conjunto y los detalles pueden ser realizados por una persona suficientemente informada sobre todos los matices importantes.

Además, la descripción resultante se realiza en forma de notación gráfica, donde también están presentes varios niveles de detalle. Su número depende de la complejidad del sistema.

La siguiente etapa es el refinamiento y la coordinación. Aquí, la notación terminada es estudiada por los líderes y empleados de la organización, si es necesario, hacen aclaraciones. En la misma etapa, son posibles cambios en los detalles de la idea en sí, lo que ayudará a optimizar el trabajo, incluso a nivel de los empleados y la interacción de los departamentos. Es importante entender aquí: el modelo gráfico ayuda a ver muchas "asperezas", duplicación innecesaria de funciones, etc. Y, por supuesto, al formular la idea en forma de notación, podemos y debemos analizar estas deficiencias del flujo de trabajo y pensar en cómo optimizarlas.

Selección de productos de software


Ya tiene una idea coherente y detallada, incorporada en forma de notación gráfica. Lo que es muy importante: la notación pasó por todas las discusiones, la gerencia de la compañía firmó la versión final. Es posible proceder con confianza en la comprensión mutua de la selección o creación de un producto de software.

Hoy en día, es extremadamente raro que las organizaciones comerciales y sin fines de lucro escriban soluciones de software desde cero. Es caro y largo. Además, para la mayoría de las ideas existen soluciones listas (estándar) que son suficientes para configurar y / o modificar un poco.

Y aquí es muy importante que de todos los sistemas de software que sean adecuados para el tema y la funcionalidad, deba elegir el que tenga una idea más cercana a la idea del cliente.

Por ejemplo, la idea es: "necesitamos automatización del departamento de ventas".

Etapa 1. Un sistema CRM es el más adecuado para la implementación. Estas soluciones de software están desarrolladas específicamente para equipos de ventas.

Etapa 2. De todos los CRM existentes, debe seleccionar aquellos cuya funcionalidad sea más adecuada para el algoritmo de trabajo seleccionado (implementación de la idea).

Etapa 3. La elección de CRM adecuados de la lista es estudiar su funcionalidad adicional: soluciones preparadas para la integración con otros productos de software, la presencia de herramientas integradas útiles para la idea, relación precio / calidad.

Es importante comprender: en la implementación de cualquier idea, las personas son una parte integral del proceso. Y si no toman la decisión elegida, el producto de software, por todos sus méritos, desde el punto de vista de los desarrolladores, resultará inadecuado para implementar la idea.

Además, la descripción del proceso de negocio (la encarnación de una idea) es, en primer lugar, una descripción de las actividades de las personas. Las ideas se relacionan con la actividad humana. La automatización es solo un factor auxiliar. Por lo tanto, cualquier descripción de los procesos comerciales es, en primer lugar, una descripción del trabajo de las personas. Y solo entonces, la parte técnica de la pregunta.

Desafortunadamente, en la práctica, me encontré con un enfoque erróneo cuando la notación BPMN está completamente dedicada a la parte técnica y, de hecho, es una forma alternativa de escribir un algoritmo para programadores. En este caso, las personas y su interacción con las soluciones de software están detrás de escena. Y al poner en práctica una solución, a menudo surgen superposiciones y malentendidos. Como resultado, la idea se realiza durante un tiempo largo y difícil. O resulta ser un fracaso. Solo porque en su descripción se olvidaron del factor más importante: las acciones de las personas.

Ventajas del enfoque por procesos


El hombre piensa secuencialmente. Al mismo tiempo, es extremadamente difícil pensar en varias acciones diferentes y cubrir varias tareas o instrucciones. El hombre piensa paso a paso, resolviendo tareas una tras otra a medida que llegan. Y por lo tanto, la encarnación de la idea en forma de una secuencia de acciones es la más adecuada. Te permite pensar en todos los detalles y no perderte nada importante.

Singularidad de decisión y facilidad de coordinación por parte de los participantes del proyecto. Las anotaciones gráficas son fáciles de leer, son intuitivas para el jefe de la compañía del cliente, están cerca de los diagramas de flujo de la algoritmización y, por lo tanto, son convenientes para los desarrolladores. Como resultado, son fáciles de coordinar y, durante la implementación, prácticamente no hay discrepancias.

El formato BPMN ayudará a evitar errores. El entorno de desarrollo de anotaciones gráficas y la simplicidad de visualización ayudan a notar la mayoría de los errores a tiempo, para evitar contradicciones lógicas y procesos "incompletos".

Puede obtener más información sobre las anotaciones BPMN, los elementos básicos y los principios de su uso, así como un ejemplo práctico en mi artículo " Una breve descripción de BPMN con un ejemplo ". Más ejemplos estarán en futuras publicaciones.

Source: https://habr.com/ru/post/es426513/


All Articles