¿Qué hay que considerar a la hora de plantear los alcances funcionales de un desarrollo de Software?

Por Alejandro Aparicio

Novedades Abstract Solutions

Definición de los alcances funcionales, el punto de partida de un desarrollo de software personalizado


El primer paso, luego de la concepción de la idea, al crear una aplicación móvil, aplicación de escritorio o plataforma cloud, se trata de definir qué alcances funcionales contemplará nuestro sistema.

Los alcances funcionales de un software indican todo lo que el sistema debe hacer, qué acciones puede realizar y cómo se va a comportar.

Por otro lado, los alcances no funcionales son todos aquellos elementos que no tienen un impacto directo en lo que puede hacer el sistema, como lineamientos de diseño, seguridad, tiempos, costos, legales, calidad, entre otros.

 

¿Por qué es importante comprender qué tipos de alcances funcionales existen?

 

Este listado de puntos funciona como documento medular de nuestro sistema, debido a que plasma todos los requerimientos funcionales y modelos en un lenguaje intermedio, entre coloquial y técnico, a la hora de desarrollar un Software.

Cuando bajamos a papel estas ideas, nos permite ordenar nuestros pensamientos y poder transmitirlos con mayor facilidad.

A su vez, en muchos casos también aparecen “puntos ciegos” dentro de nuestra diagramación que se detectan en esta etapa  y que resultan vitales para el desarrollo de un Software de calidad. 

 

En esta faceta es vital que el equipo de ingeniería, nos asesore sobre la viabilidad de nuestros alcances y que nos recomiende mejoras y optimizaciones para garantizar el éxito de nuestro proyecto.

 

¿Qué preguntas nos debemos hacer a la hora de diagramarlos?

 

  • ¿Qué tiene que hacer mi sistema?
  • ¿Tiene registro de usuarios? ¿Se hace a través de redes sociales?
  • ¿Tiene pagos dentro de la plataforma? ¿Qué sistema de pagos utilizaría?
  • ¿Tiene integraciones con otros sistemas externos?
  • ¿Cómo es el flujo de mi sistema? ¿Qué pantallas va a tener?
  • ¿Qué tipo de roles de usuario va a tener? ¿Van a ver información distinta?
  • ¿Necesito una plataforma de administración interna?
  • ¿La voy a monetizar? ¿Cómo lo voy a hacer?
  • ¿Cómo es mi modelo de negocio?
  • ¿Tengo definido un manual de marca?
  • ¿A qué público quiero llegar?
  • ¿En qué dispositivos quiero que funcione?
  • ¿En qué contexto el usuario final accedería a mi sistema?
  • ¿Administro información sensible?
  • ¿Tengo alguna restricción de cyber seguridad?
  • ¿Tengo que acceder a algún sensor físico del dispositivo? (GPS, teléfono, cámara, etc)

 

Terminología útil

 

Muchas veces nos vamos a encontrar hablando con equipos de desarrollo que utilizan términos con mucha naturalidad, pero que para nuestros oídos son solo una catarata de siglas sin fin que nos obliga a googlear cada cinco minutos.

Para ello, les dejamos un listado de palabras comúnmente utilizadas en este ambiente:

 

  • MVP: Minimum viable product. Es un prototipo que tiene las funcionalidades mínimas necesarias para que el sistema pueda ser utilizado de acuerdo al modelo de negocio definido.
  • ABM: Alta, baja y modificación.
  • Onboarding: Introducción explicativa sobre cómo utilizar una herramienta por primera vez.
  • CRM: Customer Relationship Management. Es una herramienta que le permite a las empresas realizar un seguimiento de sus posibles clientes (leads) y gestionar sus clientes actuales.
  • ERP: Enterprise Resource Planning. Plataforma de software destinada a la administración de los recursos operativos, productivos e incluso económicos de una empresa.
  • Agile: Metodología de ingeniería de software basada el desarrollo iterativo e incremental.
  • KickOff: Inicio del proyecto
  • Front-end: Parte visible del sistema con la que tiene interacción el usuario final.
  • Back-end: Parte no visible del sistema. No tiene interfaz gráfica. Es el “cerebro” de la aplicación y el encargado de recibir todas las peticiones del front-end.
  • Servidor: Medio físico donde se almacena cada parte del sistema.
  • Back-Office: Parte visible del sistema (comprendido dentro del front-end). Tiene una interfaz gráfica a la que solo acceden usuario internos de la empresa, para la administración de parámetros generales y específicos de la aplicación así como también para obtener estadísticas de uso de la misma.
  • Responsive: Capacidad de la interfaz gráfica para adaptarse de forma estética a los cambios de resolución de pantalla. Sobre todo se busca que funcione bien en desktop y mobile.
  • Cloud Server: Servidor en la nube. Servidor físico accesible desde cualquier lugar del mundo.
  • AWS: Amazon Web Services. Una serie de servicios que ofrece Amazon para alojar tus aplicaciones en su nube, entre otras cosas que hacen a la infraestructura del software.

 

Redacción de alcances

Teniendo en cuenta las preguntas y terminología adecuada que debemos considerar, será muy sencillo redactar los alcances funcionales de nuestro software. Para ello se deberán listar todas las funciones que queremos que tenga nuestro sistema.

Esto quiere decir que tenemos que especificar qué pantallas vamos a tener y qué información se  mostrará  en cada una de ellas, así también como los elementos que vamos a tener que administrar (ABM), funciones claves del modelo de negocio, requerimientos especiales, formas de registrarse en la aplicación, uso de recursos como geolocalización, entre otros factores. 

 

Ejemplos sobre el tipo de alcances que podría tener una aplicación

 

  • Onboarding al ingresar por primera vez
  • Capacidad de adaptarse al modo oscuro y al modo claro de los dispositivos
  • Geolocalización del usuario
  • Pantalla principal con mapa que muestra la información de los negocios a su alrededor
  • Sistema de votación al estar dentro de un local
  • Visualización del estado reportado
  • Categorización de los locales
  • Capacidad del usuario para agregar nuevos locales

 

Si se tratara de una aplicación más compleja

 

  • Login con redes sociales
  • ABM de usuarios
  • Estadísticas de uso de la aplicación
  • ABM de categorías
  • Sistema de “match” entre A y B
  • Modificación de perfil
  • Restricción de horarios de uso

 

Queda expresado en un lenguaje semi-coloquial, se redacta de manera detallada lo qué pretendemos de nuestro sistema.

 

Con este documento el equipo de desarrollo puede asesorarnos y armar un presupuesto que se ajuste perfectamente a nuestras necesidades, asegurando el éxito de nuestra aplicación.

¡Lee otra nota de nuestro blog!

Abstract Solutions

La nueva frontera de las pymes: cómo la digitalización redefine el comercio y multiplica las ventas

No dejes que la tecnología reemplace tu negocio tradicional Por años, las pequeñas y medianas empresas (pymes) fueron el motor silencioso de las economías locales. Tiendas de barrio, ferreterías, locales gastronómicos, servicios profesionales: todos forman parte de una red que sostiene empleo, cultura y comunidad. Sin embargo, en los últimos cinco años el entorno cambió […]

Por Jazmín Leiva

Abstract Solutions

Construir una cultura laboral que prioriza el bienestar

Una nueva cultura laboral: poner el bienestar en el centro Vivimos un momento de transformación profunda en el mundo del trabajo. Las nuevas generaciones —y también quienes llevamos años en el ámbito laboral— estamos resignificando qué significa “trabajar bien”. Ya no alcanza con cumplir horarios ni con perseguir metas de productividad: hoy, la calidad del […]

Por Candelaria Fonterosa

Abstract Solutions

Cómo atraer leads calificados en una software factory

Atraer leads calificados es un desafío constante para las Software Factories. No se trata solo de tener mucho tráfico, sino de conectar con empresas y clientes que realmente necesitan tus servicios de desarrollo de software. Las tendencias actuales se centran en un marketing más inteligente y automatizado, donde la calidad del contenido y el uso […]

Por Juana Ferraro

Abstract Solutions

¿Cómo elegir el WMS ideal para tu empresa? Conocé Aurora, el software de gestión de almacenes elegido en Argentina

Cuando una empresa empieza a crecer, uno de los primeros cuellos de botella aparece en el almacén. Errores de picking, demoras en las entregas, falta de trazabilidad o desconocimiento del stock real son señales claras de que llegó el momento de implementar un WMS (Warehouse Management System). Pero no todos los sistemas de gestión de […]

Por Candelaria Fonterosa

Abstract Solutions

Performance Marketing más allá de las métricas: cómo generar impacto real con un partner tecnológico

En un mundo donde los dashboards dictan cada decisión, muchas empresas confunden medir con crecer. Pero la verdad incómoda es que esas métricas, aisladas, no cuentan toda la historia. El impacto está en lo que hacés con esos datos, no en los números en sí. El verdadero valor del Performance Marketing no está en acumular […]

Por AB Blog

Abstract Solutions

Performance Creativa: Cuando la inspiración y los datos convergen para convertir

En ABstract, combinamos creatividad visual, copywriting persuasivo y análisis de datos para diseñar campañas de alto impacto. Así es como lo hacemos. ¿Qué es la performance creativa? La performance creativa es la estrategia que une diseño, contenido y analítica para crear piezas que no solo se ven bien, sino que generan resultados medibles: clics, registros, […]

Por Candelaria Fonterosa