Una parte esencial del desarrollo de software de calidad es entender el problema real que el cliente quiere resolver. Este artículo presenta el punto de partida, un ejemplo de solicitud de proyecto para un caso de estudio: una petición de un cliente para una aplicación GTD. Esta servirá como hilo conductor para muchos de nuestros contenidos técnicos.
A diferencia de los típicos artículos que parten de requisitos técnicos ya definidos, aquí veremos el texto tal como lo recibiría un equipo de desarrollo en una situación realista: una petición escrita en lenguaje natural, sin tecnicismos, desde la perspectiva de quien necesita la solución.
Antes de entrar en la solicitud en sí, veamos brevemente qué es GTD y por qué muchas personas buscan una herramienta que se adapte a su flujo de trabajo personal. Quizás este método de productividad te resulte, además, útil para tu día a día.
¿Qué es GTD (Getting Things Done)?
GTD, siglas de Getting Things Done, es un método de productividad personal creado por David Allen quien lo documentó detalladamente en su libro «Getting Things Done: The art of stress-free productivity» Su propósito es ayudarte a liberar tu mente del caos organizativo y mejorar tu capacidad de ejecución con un sistema externo de gestión de tareas.
El método se basa en cinco pasos fundamentales:
- Capturar: anotar todo lo que llama tu atención (tareas, ideas, recordatorios)
- Procesar: decidir qué significa cada cosa y qué hacer con ella
- Organizar: clasificar las tareas por contexto, prioridad, fecha, etc.
- Revisar: mantener el sistema actualizado, revisando lo pendiente regularmente
- Hacer: ejecutar las acciones según tu energía, tiempo y prioridades
GTD no te dice “qué hacer”, sino cómo tomar decisiones sobre lo que tienes que hacer, de forma consciente, eficiente y sin estrés.
Muchas personas intentan aplicar GTD con herramientas genéricas (listas, agendas, apps de tareas), pero no siempre logran mantener el hábito. A veces, la herramienta resulta demasiado limitada… o tan compleja que se vuelve un sistema en sí misma.
Este caso de estudio nace precisamente de esa frustración.
Solicitud original del cliente para una aplicación GTD
Llevo tiempo intentando aplicar el método Getting Things Done (GTD) para organizar mi trabajo y mis tareas personales, pero las aplicaciones que existen no terminan de servirme.
La mayoría me resultan frustrantes: algunas son tan básicas que no aportan estructura ni seguimiento, y otras tan complejas que me hacen perder tiempo configurando etiquetas, contextos y prioridades que acaban distrayéndome del trabajo real.
Lo que quiero es una herramienta personal que me ayude a mantener el foco, que me guíe paso a paso en la revisión y procesamiento diario de mis tareas, siguiendo el flujo del método GTD, sin distracciones ni complicaciones innecesarias.
En esta primera fase busco una versión inicial, simple y funcional, que sirva como base sólida y escalable sobre la que podamos construir mejoras futuras.
Qué necesito ahora (versión inicial de la aplicación)
1. Bandeja de entrada (“Inbox”) para la captura rápida de cualquier tarea, idea o recordatorio, sin clasificaciones al momento de ingresar.
2. Revisión diaria de tareas: Nada de listas extensas ni paneles distractores, quizás con una notificación diaria para revisar tareas pendientes y que me permita revisar mis tareas de una en una para clasificarlas adecuadamente, sin distracción de otras.
3. El orden de revisión sería primero la bandeja de entrada (tareas nuevas) para clasificarlas, luego pasará a la revisión de todas bandejas, primero las tareas planificadas (con etiquetas como «retraso»). Luego debe mostrar las tareas bloqueadas o en espera, luego me mostrará tareas de proyectos y finalmente la lista de «algún día»
4. La aplicación debe permitirme configurar la frecuencia de revisión de cada bandeja
5. Quiero que las tareas puedan asignarse a proyectos y tengan un campo de «tiempo estimado»
6. Durante la revisión diaria, el sistema ofrecerá: «Hacer», «Eliminar», «Delegar», «Archivar» y «Planificar». Según el tipo de tarea, las acciones inmediatas (<10 min) se clasificarán aparte, las planificadas se agendan con fecha límite y duración, las indefinidas van a algún día y las reuniones bloquean tiempo específico en agenda.
7. Se podrá registrar prioridad y decisiones tomadas
8. Además, quiero que si una tarea no avanza, la aplicación sugiera desglosarla en subtareas y si el día está sobrecargado, me advierta visualmente.
9. El panel organizativo diario me mostrará las acciones inmediatas por prioridad y fecha. Indicará visualmente el tiempo total estimado para el día, el tiempo completado y pendiente y alertas de tareas sin duración definida.
10. Quiero tener un registro diario de tareas procesadas, decisiones tomadas (hacer, archivar, delegar…) y que no esté visualmente recargado, solo información clara.
11. En cuanto a la apariencia, que sea limpia y moderna, que den ganas de usar la aplicación y que tenga un flujo rápido, no quiero tener que esperar más de 5 s cada vez que cambie de tarea.
12. En el futuro, es posible que quiera incorporarla con calendarios externos y otras herramientas de gestión de proyectos como Notion, Asana, Jira, etc. Quizás también de cabida a otros usuarios para que la usen, que se permita el seguimiento de las tareas delegadas y otras funcionalidades extra.
En resumen
Este es el texto original que usaremos como caso de estudio base para múltiples artículos técnicos. A diferencia de muchos ejemplos académicos, aquí partimos de una necesidad realista, expresada en el lenguaje del cliente.
Desde este punto, en artículos futuros:
- Aplicaremos ingeniería de requisitos
- Exploraremos técnicas de modelado y diseño arquitectónico
- Implementaremos módulos reales con código limpio
- La usaremos como base para ejemplos de código
Este es el origen. Desde aquí empieza la ingeniería del software.
