Si tuviera que proporcionar a un desarrollador de aplicaciones una maqueta que sea una réplica exacta de cómo debería verse la aplicación, junto con instrucciones para las funciones de la aplicación y cómo deberían interactuar con la interfaz de usuario que he proporcionado, ¿podrían hacerlo? ? ¿Qué tan difícil es encontrar un desarrollador de aplicaciones altamente calificado?

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:

  • 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!

Resumen ejecutivo: SÍ pueden hacerlo, pero no le gustará el resultado.

Skot dio una respuesta muy completa, la mayoría de las cuales estoy de acuerdo, excepto que desdibujaría un poco más las líneas entre el diseñador y el desarrollador. Ese es su punto final. Los desarrolladores siempre toman algunas decisiones de diseño porque es ridículamente antieconómico especificar cada detalle de comportamiento, a menos que trabajen para la NASA. Decidir cuánto le queda al desarrollador es un baile de confianza y profesionalismo.

No tiene sentido gastar mucho tiempo y dinero construyendo la maqueta definitiva porque hay muchas posibilidades de que se convierta en la persona que “rompe el diseño”. Con esto quiero decir, hasta que tenga al menos el código que funciona parcialmente en sus manos, no puede finalizar el diseño; pensará en cosas una vez que tenga la aplicación.

Entonces, una forma de lidiar con estos dos factores principales es ser intensamente iterativo.

Realice un diseño y colóquelo en manos del desarrollador lo antes posible y comience a obtener versiones preliminares para jugar.

¿Cómo decides primero los bits importantes?

CUENTOS

Diseño publicitario
Un enfoque que he recomendado durante muchos años y recientemente vi a alguien en una importante empresa de EE. UU. Decir que también el corazón de su proceso es imaginar anuncios.

¿Cómo se ve una campaña de vallas publicitarias, un anuncio en una revista impresa, un anuncio de TV o Youtube para su producto?

¿Cuál es la historia que cuenta sobre cómo las personas usan su aplicación y los problemas que les resuelve?

¿Cuáles son las historias de fondo de las personas en los anuncios? ¿Quiénes son, por qué son creíbles para el público publicitario? ¿Cómo se relaciona el público con ellos?

Si no puede imaginar anuncios para su producto, entonces no tiene una idea lo suficientemente clara de lo que está haciendo como empresa para poder crear una aplicación.

Reúna los anuncios, las historias detrás de los anuncios y cualquier otro requisito comercial (por ejemplo: los costos por usuario para el backend deben ser inferiores a $ 1 por cada mil usuarios). Eso es lo que le das tanto a tu diseñador como a tu desarrollador.

Luego iterar.

La capacidad de trabajar de manera iterativa donde las cosas están cambiando entre usted, el diseñador y el desarrollador también es un factor clave para contratarlos: si no están dispuestos o no tienen experiencia en trabajo altamente iterativo, elija a otra persona .

Otra forma de ver lo anterior es decir que está audicionando para contratistas: está tratando de hacer que su proyecto sea atractivo. Créame, es muy raro que las empresas tengan este grado de comprensión de lo que quieren (normalmente entrenaría a las personas a través de este tipo de proceso). Si puede colocar algún tipo de paquete frente a los diseñadores y desarrolladores que es como lo que describí anteriormente, obtendrá mucho respeto.

Nota: No es necesario que sean anuncios brillantes: bocetos a lápiz o recortes de revistas para armar guiones gráficos. La intención es mostrar el mensaje. El trabajo del diseñador es lograr un atractivo visual y un buen flujo; no los haga pensar que es uno de esos clientes que intentan dictar la apariencia.

¡Seguro! Mi compañía está enfocada en desarrollar aplicaciones para iOS y Android. También proporcionamos diseño Dribbble – Yalantis.
Puede ver nuestros trabajos en nuestro sitio web Mobile iOS (iPhone, iPad) y compañía de desarrollo de aplicaciones de Android en Ucrania
Si desea algunas referencias de nuestros clientes, estaremos encantados de proporcionarlas. En caso de que esté interesado, ¡envíeme una nota!

Como tengo conocimiento sobre Android, responderé la respuesta desde una perspectiva de Android. Comente si me pongo demasiado técnico a mitad de camino.

Para la primera pregunta, sí, esa información debería ser suficiente para que el desarrollador desarrolle la aplicación, siempre que sea posible desarrollar dicha aplicación.

En cuanto a la segunda pregunta

Respuesta corta: Realmente dependerá del tipo de aplicación que desee y la calidad del desarrollador que pueda encontrar.

Respuesta larga: para hacer una aplicación de maquetas a realidad, los principales problemas que enfrenta un desarrollador son

  1. Algunas funciones como las listas deslizantes horizontales que podría haber dado por sentado no están disponibles en Android de forma nativa.
  2. Algunas funcionalidades están disponibles en Android de forma nativa, pero el desarrollador podría no tener experiencia en desarrollarlas, por lo que tomaría tiempo aprenderlas.
  3. Si la aplicación requiere que el usuario se conecte con otros usuarios, puede ser necesario un servidor / servidor para almacenar datos
  4. Si la aplicación requiere conectarse con otros servicios como Facebook, Twitter. El desarrollador deberá integrar esto, por lo que el conocimiento sobre estas interacciones también llevará tiempo.

La respuesta está incompleta, escribiré el resto en algún momento.

More Interesting

Quiero desarrollar una aplicación de seguimiento familiar en Android. ¿Cuáles son las cosas que debo saber antes de comenzar el desarrollo?

Actualicé Android y cambió mi teclado virtual. ¿Cómo vuelvo al teclado que estaba usando antes de la actualización?

Si creo una aplicación y muchas personas la utilizan, ¿cómo obtendrán ganancias los creadores de la aplicación?

Tengo 1 año de experiencia como desarrollador de Android. ¿Debo aprender la tecnología Xamarin para desarrollar aplicaciones de Android, iPhone y Windows? ¿Hay posibilidades futuras para la tecnología Xamarin?

He creado una aplicación para Android y todavía no quiero subirla porque me temo que alguien copiará la idea, ¿qué debo hacer para protegerla?

Estoy interesado en el desarrollo de Android. El estudio de Android necesita 2 GB de RAM, mientras que solo tengo 984 MB y no puedo permitirme aumentarlo. ¿Como lo instalo?

Tengo 19 años, cumpliré 20 el próximo año, y deseo crear una aplicación de Android simple, pero no tengo ninguna educación oficial en dichos campos. Entonces, con solo mi computadora portátil delante de mí, ¿por dónde empiezo y qué necesito aprender?

Hice una aplicación de Android y sus descargas son más de 500 descargas y no recibí ningún anuncio hasta ahora, ¿es esto normal?

Si quiero hacer una aplicación de Android, ¿se requiere conocimiento del lenguaje C?

Estoy aprendiendo Java a ser un programador de Android. ¿Debo aprender patrones de diseño? ¿Son necesarios en la programación de Android?

Tengo 18 años y soy de la India. ¿Qué problemas legales, si los hay, tendré que enfrentar si desarrollo y publico una aplicación de Android simple en Play Store?

Mi aplicación está en la etapa final de desarrollo, ¿puedo obtener algún comentario?

Tengo una aplicación de Android que me puede ayudar a buscar texto por voz. ¿Cómo puedo calcular la tasa de precisión (tasa de error de palabras)?

Soy veterinaria Estoy interesado en desarrollar aplicaciones. ¿Qué cursos debo tomar para aprender el desarrollo de aplicaciones?

He aprendido el núcleo de Java. Han pasado tres meses y ni siquiera estoy cerca de hacer una aplicación. ¿Cómo aprendo a desarrollar aplicaciones para Android?