Desarrollar nuestra propias aplicaciones es algo que todos los programadores alguna vez nos lo hemos planteado.
Desde una pequeña aplicación diseñada durante nuestro tiempo libre, hasta un producto que tenemos en mente y puede llegar a tener un impacto, siempre va a existir algún tipo de motivación para desarrollar algún tipo de proyecto.
Si bien, en cierto que no hay una metodología de trabajo única desarrollar aplicaciones –incluso lo puedes hacerla como más se te apetezca–, en realidad es bueno tener al menos una idea de como comenzar tu propio proyecto.
Por esa razón, el día de hoy te traemos una lista de pasos que te pueden ayudar para desarrollar cualquier aplicación y/o software.
Aclaración: Esta metodología está basada en productos mínimos viables (MVP). Aplicaciones a más grande escala puede que requieran otra metodología como Agile o Waterfall.
1. La idea
Definir bien la idea
Tener una idea es posiblemente el paso más fácil de todos, ya que es en un primer lugar lo que nos motiva a desarrollar la aplicación. Sin embargo, el detalle no es solo tenerla, sino que es importante definirla bien.
¿A qué me refiero con definir la idea? Es decir, especificarla y darle sentido. Por ejemplo:
Idea: Hacer una app que me recuerde cuando regar las plantas
Idea definida: Desarrollar una app que permita al usuario registrar cada vez que riegue las plantas. Luego, de forma automática le manda una alerta la próxima vez que deba hacerlo y con la cantidad de agua adecuada.
Al definir bien la idea, ya podemos tener una idea más general de como será el desarrollo
Establecer los casos de uso
Ahora que sabemos de que trata nuestro programa, lo siguiente es especificar los casos de uso o historias que habrá.
Pero ¿Qué es un caso de uso? En términos simples es la forma en que el usuario interactuará con el sistema. Por ejemplo:
Usuario → Abre la aplicación
Usuario → Registra que ha regado las plantas
Usuario ← Recibe notificación de que debe regar las plantas
2. Diseño
Diseño de bases de datos
El primer paso de la fase de planificación y diseño es el establecer los datos que tendrá nuestra aplicación y como se guardarán, es el primer plazo.
La mejor opción en estos casos, es usar papel y lápiz para bosquejar los datos que tendrá tu aplicación. Puedes usar diagramas entidad relación o incluso un formato de tablas (similar a excel).
Luego de que tengas una idea de las entidades u objetos que tendrás, lo siguiente es realizar el diseño de la base de datos. Si es una base de datos relacional de tipo SQL, puedes usar un Modelo Relacional de tablas. En el caso de bases de datos NoSQL, agrupa las entidades por colecciones.
Diseño de interfaz
Lo siguiente es establecer bocetos o mockups de la apariencia.
Puedes hacerla de forma manual o con algún software como Figma o Adobe XP. Lo ideal es que tengas definidas cada una de las pantallas en función a los casos de uso que definiste en la fase de “Idea”.
Como consejo, si no sabes mucho de diseño, te recomiendo que busques como inspiración.diseños de apps similares a la tuya o de algún diseño en Dribbble o Behance.
Recuerda, el éxito en la mayoría de las apps está más en la interfaz que en la funcionalidad.
Establecer librerías y tecnologías
Ahora ya estamos a punto de iniciar el trabajo de picar código, pero primero que nada es nada tenemos que saber qué bibliotecas (librerias), frameworks, tecnologías y modelos de qruitectua se usarán.
Este paso puede ser muy sencillo como complicado, esto dependerá de la experiencia del desarrollador. Por eso hay que tomarlo con un poco de calma.
3. Código
Establecer tareas a desarrollar
Antes de escribir tus primeras líneas de código, es una buena idea establecer una lista de tareas a desarrollar.
Como consejo, estas tareas deberían de ser lo más específicas posibles, para así evitar que te termines abrumando.
Por ejemplo:
En vez de marcarte tareas muy generales del tipo: “Realizar un login” o “Crear un sistema de recomendación”, Deberías de fragmentarlas en tareas más específicas como: “Crear el diseño del login”, “Llevar a código la interfaz gráfica”, “Establecer los controladores de la autenticación”, etc.
Una opción interesante es agrupar todas tus tareas en un kanban board. Será mucho más fácil para ti controlar todo el proceso.