¿Alguna vez se te ocurrió una aplicación que, si existiera sería muy útil? Creo que todos hemos pensado, o seguimos pensando en alguna aplicación con un objetivo claro, para simplificarnos la vida en algún punto.
Sin embargo, saber cual es el objetivo no es todo lo necesario que se debe conocer para desarrollar la misma.
Normalmente pongo como ejemplo la construcción de una propiedad. Podes tener muy en claro que tipo de casa queres, incluso algunos detalles. Pero sin un plano, sin detalles de que colores las habitaciones, que tipo de ventanas colocar, sería muy difícil que la casa quede como inicialmente nos la imaginamos.
El requerimiento formal con su análisis, diseño y requisitos es lo que nos da el «plano» de la aplicación.
Las aplicaciones de software normalmente llevan etapas necesarias, las cuales detallaremos a continuación.
Etapas de un proyecto:
Una aplicación, sea utilizando una metodología ágil o no, necesita en etapas. Estas etapas la define la Ingeniería de Software:
- Obtención de requisitos
- Análisis de requisitos
- Definir limitaciones
- Realizar especificaciones
- Diseño de software
- Desarrollo de software.
- Testing
- Implementación
- Mantenimiento.
Dentro de cada uno de estos, hay distintos pasos a evaluar, herramientas a utilizar que nos ayudan a poder escribir lo necesario para que, al momento de «construir», tengamos las definiciones necesarias.
Consultoría:
La consultoría ayuda a simplificar todos estos pasos. Es necesario contar con un know how sobre cómo realizarlos, preguntas claves, tecnologías disponibles, para poder realizarlo. Una de las actividades realizadas por Tultix es esto.
Acompañamos a los clientes a definir sus objetivos y a plasmar el requerimiento para poder construir la aplicación.
Los pasos normalmente abarcados en una consultoría son:
- Obtención de requisitos.
- Análisis de requisitos
- Definir limitaciones
- Realizar especificaciones.
- Diseño de software
Pero dicho de forma mas simple, les ayudamos a definir lo siguiente:
- Objetivos de la aplicación.
- Alcance inicial útil para que puedan realizar un prototipo.
- Etapas siguientes al prototipo ideales.
- Pantallas, colores. UI y UX.
- Tecnologías: ver alternativas, porque una u otro según sus prioridades.
Una vez finalizado este proceso, se obtiene el documento necesario como «plano».
Con este plano, ademas de poder construir nuestra aplicación, podemos obtener información muy útil previa a la construcción: Costos y tiempo.
Desarrollo de software
Una vez que se tienen el «plano» de la aplicación, es momento de pasar al desarrollo de software.
Para iniciar a desarrollar una aplicación, antes de tocar código, hay que desarmar en tareas, priorizarlas según importancia o dependencia.
A modo de ejemplo con la construcción de una casa, una dependencia es haber construido la planta baja antes de poder hacer los pisos superiores.
Por otro lado, una prioridad, la cual define el cliente, es por ejemplo, tener una habitación y cocina antes de tener una piscina y parrilla.
Estas dependencias y prioridades nos terminan definiendo el orden de desarrollo.
A medida que se va desarrollando, se van realizando «entregables» de funcionalidades. De esta forma se puede ir conociendo el avance que hay y viendo como se va «materializando» la aplicación.
Al finalizar el desarrollo existe una etapa de pruebas las cuales se aseguran que la aplicación realice el objetivo de las mismas. Depende la rigurosidad de la aplicación, son la rigurosidad de las pruebas y que enfoque tienen.
Una vez aprobado todo lo anterior, la aplicación está lista para entregar al cliente.
Si queres conocer mas acerca de la forma de desarrollar aplicaciones, te recomendamos que leas nuestro artículo de Scrum, metodología ágil la cual aplicamos en Tultix.
Mantenimiento
Antes que nada, hay que dejar claro que ninguna aplicación de software es perfecta. Todas necesitan en algún punto mantenimiento. El objetivo del mantenimiento es:
- Pruebas de nuevas plataformas donde la aplicación va a funcionar. Ej: Nueva pantalla mobile que no era común en algún momento o un nuevo sistema operativo.
- Soportar nuevos datos no pensados en el momento inicial de la aplicación.
- Agregar / modificar cosas sencillas.
- Modificaciones de datos erroneos.
- Dar soporte en casos críticos.
Esas son las principales, pero existen muchos mas, dependiendo de la aplicación.
Conclusión
El desarrollo de software puede ser una tarea compleja. No solo involucra «sentarse y codear», si no que va mucho mas allá del desarrollo en sí.
Tultix provee servicios que involucran la gran mayoría de las etapas de la Ingeniería de Software:
- Consultoría
- Desarrollo de software
- Mantenieminto
Si necesitas ayuda, podes contactarnos dejándonos tus datos a continuación.