13 min read

Imagen nota 2

Desarrollo de Software: ¿cómo crear una aplicación para tu empresa?


Todo parece indicar que lo digital llegó para quedarse. Con la Pandemia por el Coronavirus el mundo entero se vio obligado a migrar a lo online. Tanto empresas proveedoras de servicios como de productos se volcaron a la virtualidad para operar hacia adentro pero también, hacia afuera en el vínculo con sus clientes. Por eso, es importante que si aún no lo hiciste, adaptes tu negocio a este nuevo escenario comercial y para ayudarte, te contamos todo sobre el desarrollo de software en etapas y en particular sobre la creación de aplicación con la colaboración de todo el equipo de XOOR

¿Qué es el desarrollo de software? Para empezar hay que tener en cuenta que un Software es un sistema que contiene un conjunto de componentes lógicos necesarios para la realización de tareas específicas. Desarrollar estos sistmeas implica construir esos sistemas. Un ejemplo de Software son las aplicaciones ya sean web o móviles.

¿Cómo se crea una aplicación? Crear aplicaciones no es una tarea sencilla. Requiere de la intervención de muchos profesionales para desarrollar el producto a la medida de lo que la empresa necesita. Además, es un trabajo que necesita mucha coordinación y comunicación entre el cliente y el equipo de desarrolladores para que la ejecución de la tarea sea exactamente lo que se solicitó, incluso mejor. Es clave que el proveedor entienda la esencia del producto a elaborar para adelantarse a posibles incongruencias y a las necesidades de la marca.

In this article:

¿Cómo crear una app desde cero?

Todo el equipo de XOOR describió sus tareas para que podamos contarte el proceso de desarrollo de software o "ciclo de vida del desarrollo de software". En particular, te indicaremos paso a paso cómo desarrollar aplicaciones móviles o web.

Hay que aclarar que existen diferentes modelos de desarrollo de software: paradigma tradicional;el orientado a objetos; y el Desarrollo Ágil. A su vez,se pueden identificar 5 etapas de desarrollo de software. La primera, implica recibir al cliente con sus ideas y comprender qué desea ejecutar para su negocio.

Cómo crear una app desde cero

La segunda, contempla la confección del proyecto en función de lo conversado en la instancia anterior y del presupuesto para ser presentado a la espera de su aprobación.

En tercer lugar, el desarrollo en sí mismo. El armado de cada una de sus partes, el diseño, sus funcionalidades. A continuación, el testeo del producto para encontrar posibles errores y ajustarlo con el equipo.

En quinto lugar, la presentación de la aplicación al cliente a la espera de su feedback. Y por último, el mantenimiento del producto.

Etapa 1 para crear una aplicación

Lo primero que se necesita para comenzar el proceso de desarrollo de software es un cliente con el deseo de inventar una aplicación. Las empresas que están deseosas de adaptarse a la virtualidad, entran en contacto con el proveedor del servicio de desarrollo para agendar una reunión.

crear una aplicación

La primera reunión se divide en dos partes: la presentación de la empresa que provee el desarrollo de la futura aplicación; y el esbozo del producto que desea el cliente. Esto último es central para poder vislumbrar si el proveedor cuenta con la tecnología necesaria para llevar a cabo el proyecto y si pueden cumplir con la necesidades esperadas.

En nuestro caso, desde XOOR aprovechamos esta instancia para contar nuestra modalidad de trabajo, valores y presentar a nuestro equipo, para asegurarnos de estar alineados con lo que el cliente desea. Para nosotros es central que quien contrate nuestros servicios esté dispuesto a escuchar nuestras propuestas, sugerencias y nos permita involucrarnos. Contamos con un equipo de profesionales capaces y con expertise en sus respectivas áreas con ideas para optimizar los proyectos, aunque nuestra política es que “la palabra final siempre la tiene el cliente”.

Es bastante usual que los proveedores no reciban información detallada del producto que se desea llevar a cabo porque los futuros clientes suelen exigir acuerdos de confidencialidad o “non-disclosure agreement” (NDA) antes.

En este primer paso, el futuro cliente debe presentar los tipos de desarrollo de software que está pensando y al menos un listado de funcionalidades que esperan que tenga la aplicación. Si ya tienen avanzado el diseño y pueden aportar mockups, la confección del proyecto y la cotización del mismo será mucho más precisa. Además, si puede brindar información que ayude a comprender cuál es el objetivo de la misma, qué tareas busca ocupar y a quiénes está dirigido es de gran ayuda para que el equipo pueda comprender qué se quiere lograr.

Etapa 2 para planificar el proyecto de creación de una app

planificar el proyecto de creación de una app

Con la idea general en mente, se avanza con un boceto de cada una de las pantallas que tendrá el producto y se elabora un listado de las “features” o funcionalidades. A su vez, toda la programación que requiere para poder funcionar correctamente y el diseño para ofrecer al público una propuesta estéticamente atractiva. 

En XOOR, todos los datos son volcados a una hoja de cálculos y allí además se estima el tiempo que demora en ejecutar cada una de esas acciones. Con fórmulas ya pre-programadas pueden realizar los cálculos y se puede obtener una cotización bastante precisa del proyecto. 

Le compartimos el documento al cliente para que pueda “jugar con él”, es decir calcular cuánto costaría y demoraría la ejecución, eliminando o agregando las features optativas. De esa manera se puede lograr adecuar el proyecto final a sus posibilidades económicas y temporales.

Como última tarea de esta etapa, se elabora un contrato con el fin de dejar en claro los alcances y limitaciones del trabajo a realizar por el proveedor y, las responsabilidades de las partes.

¿Qué aspectos encarecen la cotización del desarrollo de un software?

cotización de una aplicación

Calcular los precios del desarrollo de software en Argentina tiene sus complejidades. Los valores pueden encarecerse de acuerdo a algunas variables. Lo primero que se determina es qué tipo de tecnologías se van a usar para cumplir con los requerimientos del cliente; después, se contempla si el desarrollo requiere algún tipo de investigación adicional que pueda requerir varias horas.

A  continuación se evalúan qué uso va a tener el producto para poder decidir cuestiones de infraestructura; y además, si el diseño ya está disponible, o si es parte también de esta cotización.

Finalmente la cotización junto con el proyecto y el contrato se presentan al cliente a partir de una reunión en donde presentan la propuesta. Una vez que las partes firman el convenio de trabajo ya se puede pasar a la siguiente instancia que es la de calendarización y ejecución del plan.

Etapa 3 para desarrollar una aplicación

desarrollar una aplicación

Para comenzar con el proceso de creación de la aplicación en sí misma, primero es importante que los líderes de proyecto se reúnan con los y las desarrolladoras que van a encargarse del mismo para poder planificar las semanas de trabajo y los modos.

Planificación del proceso de producción del software

Se programa un primer periodo de trabajo y se comienza a trabajar para calcular el “velocity del equipo”, es decir cuánto tiempo demoran en realizar una unidad de trabajo. Con esta información, el equipo ya está en condiciones de calendarizar de manera más precisa el tiempo total del proyecto.

Es importante aclarar que la calendarización o planificación del desarrollo del producto no es estricta. Los líderes de cada proyecto están permanentemente controlando si los plazos efectivamente se van a cumplir y en caso de ser necesario se modifican en función de los imprevistos que vayan surgiendo. A la vez que, se acompaña el proceso adelantándose a la necesidad de los desarrolladores para que no se traben con ninguna situación inesperada.

Cada día se realiza una reunión muy breve entre los integrantes del proyecto para poner a todas las partes al tanto de los avances de cada uno. En caso que haya algo que esté trabando algún proceso, entre todos intentan arribar a soluciones.

Las tareas de los desarrolladores de una app

tareas de los desarrolladores

El trabajo de los devs o desarrolladores comienza cuando un Project Manager (PM) lo notifica que tiene un proyecto asignado. Al hacerlo además le informa todos los datos recolectados producto de la investigación.

Para comenzar necesitan el detalle de los flujos que tendrá el producto, sus funcionalidades y toda la información del mismo.  Debaten y deciden las herramientas y tecnologías con las que se va a desarrollar la aplicación.

Conjuntamente particionan el producto y confeccionan un listado de tareas, secciones, componentes y unidades de producto. Una vez que se van cumpliendo las etapas, se va calendarizando el avance de las siguientes tareas.

Informes sobre el avance del desarrollo de un software

Informes sobre el avance del desarrollo de una aplicación

Al finalizar cada unidad de trabajo se realiza una reunión con el cliente para hacerle una demostración de lo avanzado, en pos de recibir su feedback, despejar dudas y plantear observaciones.

Esta instancia es crucial porque los clientes tienen la oportunidad de dialogar directamente con los desarrolladores, hacerles llegar su visión y transmitir los ajustes que consideran; así también como, los profesionales pueden contar por qué han tomado determinadas decisiones.

Este intercambio se traduce a tareas concretas que se incorporan a la calendarización y planificación del desarrollo del producto.

Aspectos claves del diseño de un software

La parte del diseño es tan importante como el desarrollo porque es el medio a través del cual el usuario va a conocer las funcionalidades del producto.

diseño de una aplicación

Esta instancia requiere sí o sí trabajar en conjunto con las otras áreas de desarrollo. Por un lado con el Project Manager (PM) ya que es quien define los lineamientos en base a los deseos del cliente. A su vez con los desarrolladores porque marcan el rumbo en lo técnico y funcional y ya que son quienes materializan el diseño; y por último con los QA Taster ya que son quienes encuentran fallas o aspectos a mejorar.

El elemento central para diseñar la interfaz de una aplicación es el usuario (cómo interactúa, cómo se siente, qué espera de la misma) y el objetivo que planteó el cliente. Por eso, en esta instancia es clave la investigación del paso 2.  Aquí, se suma la necesidad de indagar en productos similares para ver cómo funcionan, qué diferencias tiene, qué cosas en común,  si comparten target de usuario final y a partir de estos datos se decide qué herramientas y recursos se emplearán.

Por lo general, se hace una pre-entrega de Wireframes y mockup para plantear las funcionalidades principales. Luego se muestra el prototipo inicial, es decir se muestra un producto más avanzado que es puntapié para saber si es lo que planteó inicialmente el cliente. Y por último, la entrega final. Esas etapas son las ideales, pero muchas veces por imprevistos o diferentes imponderables (como el tiempo), se fusionan y mezclan, entonces culminan realizándose casi en simultáneo.

Según los expertos de XOOR es menester encontrar un balance entre los deseos del cliente que solicita el producto, el usuario final, el tiempo para realizarlo y el presupuesto que aceptaron las partes.

Etapa 4 para el correcto funcionamiento de una app

correcto funcionamiento de una app

La última instancia del desarrollo de una aplicación ya sea móvil o web, es el testeo. Lo que se hace en esta instancia es probar el total del producto para corroborar que la finalidad por la cual este se creó se cumpla y funcione correctamente, asegurando la calidad del mismo.

Las especialistas de XOOR ponen todo su empeño en detectar cualquier incongruencia, error, bugs que pueda dañar la experiencia de los usuarios al utilizar el producto.

Primero, se hace foco en los requerimientos solicitados y aprobados previamente por el cliente. Con eso en mente, se dividen las funcionalidades del producto para poder probarlas individualmente y detectar tempranamente los posibles errores y fallas.  En lo que respecta específicamente al desarrollo de software es importante corroborar que el producto sea intuitivo y fácil de usar, ya que generalmente las aplicaciones están dirigidas a un público muy heterogéneo de usuarios.

En caso de encontrarse alguna falla, se observa si es reproducible, es decir, que si vuelvo a realizar el proceso dos veces, la falla se vuelva a manifestar. Luego, se describe paso a paso cómo se llegó a ese punto para que los desarrolladores puedan detectar el problema en el código de programación.

Una vez que se corrigen, se notifica al área de QA y se vuelven a probar primero individualmente y si se corrigió**, se vuelve a mirar a un nivel más macro** para corroborar que ese arreglo no haya “roto” algún otro lugar.

Etapa 5 para poner a disposición una aplicación

subir una aplicación al play store

Cuando el producto está finalizado, todos los bugs fueron resueltos y el Project Manager da el visto bueno, se considera que el producto está terminado.

Lo último que resta es presentarlo al cliente y a la empresa en cuestión y ponerlo a disposición en las Stores. Para esta última parte, hay que registrarse como desarrollador o la empresa debe hacerlo en las tiendas online, pagar una suscripción y subir el nuevo producto al mercado.

Luego desde estas tiendas realizan una revisión y aprueban o no el contenido, una vez aprobada, queda disponible para su descarga ya sea gratuita o paga. El tiempo desde que se sube hasta que está lista para bajar, no depende de los proveedores de este servicio sino, de la tienda algunos “usos” por parte de los consumidores. Pero esto es parte de otra instancia del proyecto que también difiere del mantenimiento.

La etapa de mantenimiento contempla arreglos pequeños de fallas que surgen en producción y que no se detectaron antes; y actualizaciones de las tecnologías y las bases sobre las que se desarrolló el producto como las versiones de librerías, frameworks o sistemas operativos en los servidores. Esta instancia requiere sólo algunas horas de trabajo mensual pero son necesarias para garantizar el correcto funcionamiento del mismo. Es importante señalar que no se contempla aquí el desarrollo de funcionalidades nuevas.en sí es decir, del Play Store, Apple Store, etc.

Para cerrar, es importante aclarar que esta es una de las tantas formas en las que se desarrollan aplicaciones. Esta es la que venimos empleando hace algunos años en XOOR y es lo que nos resulta más efectivo. Esperamos haber despejado tus dudas respecto de cómo es el proceso de planificación, producción, desarrollo, diseño y testeo de una aplicación. Pero si tenes alguna consulta o incluso, querés pedirnos una reunión para conversar ideas, podés escribirnos a hello@xoor.io.