Si la aplicación está diseñada por un diseñador experto y la documentación del diseño es exhaustiva, entonces quizás un gran desarrollador pueda cumplir con las especificaciones. Sin embargo, esto todavía no significa que así es como debe abordar la creación de una aplicación. Déjame desglosar esto:
Documentación de diseño exhaustiva
Quizás la parte más difícil de crear una aplicación es la comunicación entre el equipo. Todos tienen una idea ligeramente diferente sobre la característica X y el diseño Y. Si le dice a un desarrollador que desea que el botón sea “verde”, ¿adivina qué? Tienes una posibilidad entre un millón de que sea el valor de color RGB “correcto” que imaginaste.
Tienes muchas variables para definir al diseñar una aplicación. La forma tradicional de abordar esto es hacer que un diseñador genio (o un equipo de ellos) pase meses para crear documentación muy detallada para describir cada pequeño detalle del diseño. Para cada pequeño elemento, y cada combinación de elementos, esto incluye contenido, tipografía, color, estilo gráfico, animación, sonido y comportamiento. Para lograr esto, tenemos una amplia gama de artefactos de diseño que podemos emplear:
- Estoy pensando en desarrollar una aplicación de juegos para Android. ¿Qué sugerencias sobre los motores de juego son mejores que Unity?
- Tengo una idea para una aplicación móvil, pero nunca he creado una antes. ¿Cuáles son algunos elementos que deberían estar en mi lista de "cosas por hacer"?
- ¿Cuál es la forma más fácil de comenzar a desarrollar aplicaciones de Android?
- He creado un juego Swift, pero la mayoría de las personas que lo quieren tienen Android. ¿Cómo podría convertir el proyecto a Android sin reescribirlo todo?
- Quiero empezar a desarrollar ¿Es fácil comenzar a desarrollar para dispositivos móviles (Android) o para la web?
- inventario de contenido / mazo de contenido (una descripción de todo el contenido de la aplicación, y / o un documento que especifica la copia específica y las imágenes que se utilizarán)
- mapa del sitio / mapa de la aplicación (un diagrama que muestra las relaciones jerárquicas de las páginas o pantallas)
- casos de uso (cómo los usuarios interactuarán con el sistema, dados varios escenarios)
- flujos de usuarios (diagramas de flujo técnicos detallados de cómo funcionan las interacciones anteriores, incluidos los árboles de decisión)
- wireframes anotados (diseños de página anotados para describir varios detalles en cada pantalla)
- composiciones de diseño (cada página, en todos los estados posibles)
- maquetas de animación y especificaciones (videos o animaciones de JavaScript que demuestran el movimiento en la aplicación)
- historias de usuario o documento de requisitos del producto (descripciones detalladas de todas las características de la aplicación, incluidos los criterios de aceptación)
Hay algunos problemas con este modelo. Incluso si contrata a la mejor diseñadora y le da varios meses para crear toda esta documentación, todavía queda el problema de la interpretación. Si un diseñador trabaja en algo durante mucho tiempo y se lo entrega a un desarrollador, ¿cómo sabe que el desarrollador puede entender esa documentación? Desde mi experiencia, no importa cuán detallado intentes ser, algo se perderá en la traducción. Para agregar una patada, una gran ironía aquí es que cuanta más documentación creen los diseñadores, es menos probable que los desarrolladores la lean y comprendan.
Otro problema es la viabilidad técnica. Incluso un diseñador digital altamente experimentado no sabrá los detalles de cómo se implementará técnicamente su diseño. Esto significa que pueden diseñar inadvertidamente algo que será muy costoso de desarrollar. Cuando el desarrollador descubra esto más adelante, tendrá que retroceder y rediseñar esa sección. Este suele ser uno de los grandes contribuyentes al deslizamiento de la línea de tiempo.
Encontrar un gran desarrollador
Este sería tu próximo desafío. Si no eres una persona técnica, es casi imposible evaluar si un desarrollador es bueno o no. Realmente, lo mejor de lo que tienes que salir es su cartera. No solo mire las capturas de pantalla: insista en usar las aplicaciones que han creado y asegúrese de que funcionen a fondo. Si puede navegar por la aplicación y comprende lo que está sucediendo, es un buen comienzo.
Sin embargo, hay dos cosas que no sabes en la superficie. El primero es cuánto tiempo se tardó en llegar y cuánto se requería de ida y vuelta con el diseñador. Pregunta por estas cosas. Comprenda el costo real, no solo desde el punto de vista de los dólares, sino también desde el punto de vista del tiempo. La otra cosa que no sabes es cómo se ve el código debajo de la superficie. Para la primera versión de la aplicación, esto no importa mucho. Pero, si la aplicación gana popularidad, la mala calidad del código puede generar problemas de rendimiento y limitar severamente su capacidad de cambiar, mejorar o agregar a la aplicación en el futuro. La mayoría de las veces, si su aplicación es exitosa, deberá ser reconstruida. No necesariamente es algo malo, solo algo que debe esperar.
La parte más difícil de encontrar un gran desarrollador es encontrar a alguien que sea más que un programador. Los grandes desarrolladores de aplicaciones piensan más allá de “¿funciona?” y “¿está limpio mi código?” De hecho, tomarán lo que les das y lo mejorarán. Pensarán cosas como, “bueno, cuando hice cómo especificaba el diseño, la animación se sintió extraña, así que la modifiqué” y “¿cómo podría cambiar esta funcionalidad en el futuro y cómo me preparo para eso?” ¿Cómo encuentras a alguien así? Bueno, todo se reduce a la confianza. Debe encontrar a alguien en quien confíe para hacer miles de pequeñas llamadas de juicio durante el curso del proceso de desarrollo. Si puedes encontrar eso, entonces tienes un ganador.
Una mejor manera
Después de muchos años de crear software, he aprendido que la forma más efectiva de crear excelentes aplicaciones es no tratar de controlar cada detalle del diseño y luego obligar a un ingeniero a implementarlo según las especificaciones, sino más bien encontrar buenas personas que puede tomar una visión de alto nivel y algunos requisitos comerciales, validar cualquier suposición arriesgada inherente a la visión y eliminar de manera colaborativa los detalles basados en la experiencia, el buen juicio y la confianza. Se necesita mucho tiempo para encontrar un equipo como este, pero si desea crear una aplicación de calidad, este es el camino correcto.
Buena suerte con todo!