El tema de una correcta toma de requerimientos impacta a cualquier ingeniero, la literatura que aborda los casos de proyectos que han fracasado y el costo no es ajeno a las noticias diarias e incluso a esos memes que hacen mofa de una realidad que evidencia frustración, mala calidad, tiempos perdidos y por supuesto el dinero que pierde el cliente y el ingeniero.

“La formulación de un problema es más importante que su solución”. Albert Einstein

Si se considera el caso de la construcción de una vivienda, sin dudarlo se incluye la contratación de un arquitecto y un ingeniero civil para el levantamiento de planos, además se solita un diseño que muestre la ubicación de cada elemento, con el mayor detalle posible. Esta etapa tan crítica esta tasada con un porcentaje de la obra. Empero, en el área de la informática, después de un par de reuniones se estima un costo y tiempo para un proyecto de TIC.

El siguiente artículo de opinión, busca considerar la importancia de los requerimientos a la luz de un prototipo, como una actividad crítica para la culminación exitosa de los proyectos.

Un prototipo es, tiene los siguientes beneficios

Los requerimientos

Entender el proceso actual primero, documentar la situación actual de procesos de negocio y validar los cambios que van a ocurrir con el sistema.

Considere alguna de las siguientes técnicas (Siqueira Simões & Vazquez, 2018), donde las habilidades blandas son críticas para el éxito:

  • Observación: estudie el entorno de trabajo de los usuarios, clientes e interesados de proyecto (Stakeholders).  Puede ser de dos tipos, pasiva o activa, donde en observación pasiva, el observador no hace preguntas, limitándose solo a tomar notas y a no interferir en el desempeño normal de las operaciones y por el contrario en observación activa, el observador puede conversar con el usuario.
  • Entrevistas: se realizan con los usuarios o interesados clave, donde se direcciona al usuario hacia aspectos específicos del requerimiento a levantar. Son útiles para obtener y documentar información detallada sobre los requerimientos y sus niveles de granularidad, en dicha técnica una clave es mantenerse enfocado en los objetivos de la entrevista. Considere que las preguntas abiertas son útiles para identificar información faltante y las preguntas cerradas son útiles para confirmar y validar información.
  • Recuerde que el éxito de las entrevistas depende del grado de conocimiento del entrevistador y entrevistado, disposición del entrevistado de suministrar información, buena documentación de la discusión y en definitiva de una buena relación entre las partes.
  • Encuestas o cuestionarios: la favorita de muchos ingenieros, y muchas veces la más difícil de obtener. La clave para el éxito es que tengan un propósito y audiencia claramente definida, establecer fechas topes para llenar la encuesta, con preguntas claras y concisas. Deben enfocarse en los objetivos de negocio que se necesitan identificar, pero pueden apoyarse con entrevistas de seguimiento con usuarios individuales.
  • Mesas de trabajo (Workshops): Es una técnica efectiva para obtener información rápidamente de varias personas, recomendable siempre contar con una agenda predefinida y preseleccionar a los participantes, siguiendo buenas prácticas para reuniones efectivas, se puede utilizar un facilitador neutral y un transcriptor (que no sea el mismo facilitador). Es útil disponer de un material común sobre el cual enfocar la atención y conversar, por ejemplo, una presentación con un desglose del proceso que se está estudiando o un flujograma.
  • Tormenta de ideas: Es una sesión de trabajo estructurada orientada para obtener la mayor cantidad de ideas posibles, recomendable limitarlas en el tiempo, utilizar ayudas visuales y designar un facilitador. Existen reglas importantes, como los criterios para evaluar ideas y asignarles un puntaje, no permitir las críticas a las ideas y limitar el tiempo de discusión.
  • Historia del usuario: son una aproximación simple al levantamiento de requerimientos de software, en la cual la conversación pasa a ser más importante que la formalización de requerimientos escritos; es recomendable que sean escritas por el mismo cliente o interesado (con apoyo del facilitador si es necesario), con énfasis en las funcionalidades que el sistema deberá realizar. Al redactar una historia de usuario deben tenerse en cuenta describir el Rol, la funcionalidad y el resultado esperado de la aplicación en una frase corta. Las historias de usuario son una de las técnicas más difundidas para levantar requerimientos de software en metodologías ágiles.

Toda la información obtenida durante el levantamiento de requerimientos puede ser incluida en una matriz de trazabilidad de requerimientos y en una especificación de requerimientos de software. Al levantamiento de requerimientos le sigue el análisis de los mismos, por medio de técnicas como la descomposición funcional, modelado de procesos, casos de uso, inspecciones y prototipos.

La RAE define prototipo como un “Ejemplar original o primer molde en que se fabrica una figura u otra cosa ó el ejemplar más perfecto y modelo de una virtud, vicio o cualidad.”

En el caso particular de un programa, queremos considerar algunos elementos claves como:

el uso de la aplicación

 

La viabilidad

Uso de la aplicación

 

Viabilidad

 

 

 

El uso por parte el usuario

 

La infraestructura

Uso del Usuario

 

Infraestructura

 

 

 

La seguridad

 

La experiencia del usuario

Seguridad

 

Experiencia de usuario

 

 

 

Los posibles riesgos

 

El diseño gráfico

Posibles riesgos

 

Diseño gráfico

 

Existe una herramienta “Oracle Application Express (APEX)” que consiste en una plataforma de desarrollo de código bajo que le permite crear aplicaciones, escalables y seguras, con características de clase mundial, que se pueden implementar en cualquier lugar. Con la herramienta APEX puede desarrollar un prototipo considerando la alta productividad, mayor consistencia y mayor fidelidad, todo con menos esfuerzo. Esto permite que el desarrollador se centre en resolver el problema comercial y brindar soluciones superiores, en menos tiempo.

El sitio oficial (Oracle, 2019) indica cómo se desarrolla en 4 etapas: obtener un ambiente, diseñar el modelo de datos, desarrollar el app y finalmente implementar la aplicación. Cada etapa incluye videos de cómo realizar cada etapa. Fortalece la propuesta con una serie de ejemplos, casos de éxito y una comunidad de desarrolladores que ofrecen eventos y recursos.

En resumen, sus ventajas son: es ligero, flexible en sus capacidades y usos, es rápido de aprender con cualquier Oracle o base de datos, es fácil desarrollar en él, por otra parte las desventajas mencionadas en otros foros indican que algunas utilidades específicas no están bien documentadas y los complementos podrían ser ampliados.

En Costa Rica, el grupo de usuarios de Oracle (ORAUG CRC) brinda charlas gratuitas y eventualmente talleres para aprender a usar la herramienta. Síga la información del ORAUGCRC para más información.