El desarrollo de aplicaciones móviles personalizadas es económico: realidad o ilusión

Cuando se toma la decisión de crear una aplicación móvil sin tener experiencia en el desarrollo, surge inevitablemente la cuestión de contratar desarrolladores. La pregunta en sí no da una respuesta, por lo que debe analizar los pros y los contras de los servicios de personal o outsourcing de varios artistas. El primer indicador a considerar al analizar es el precio. Quiero más barato, pero ¿costará barato al final? Con este artículo, en Omega-R queremos mostrar dificultades que pueden estar ocultas detrás de los precios bajos que se encuentran con frecuencia.



2019 fue un año récord para el mercado global de aplicaciones móviles. Echemos un vistazo a los indicadores: 204 mil millones de descargas de aplicaciones, que es un 45% más que en 2016, 3 horas y 40 minutos cada día que los usuarios pasan en dispositivos móviles, que es un 35% más que en 2017.

En las clasificaciones más altas de las OPI exitosas de 2019 se encuentran empresas cuyo negocio principal es precisamente las tecnologías móviles: Alibaba Group, Prosus & Naspers y Uber. En general, las compañías que usan tecnologías móviles son muchas veces y diez veces más exitosas que las compañías tradicionales.

Parece que 2020 cambia la actitud hacia las tecnologías de una vez por todas: para casi todas las empresas, la integración de las tecnologías móviles en los procesos comerciales se ha convertido en una cuestión de supervivencia. Pero el desarrollo de aplicaciones móviles tiene la otra cara de la moneda: el precio.

¿Porque tan caro?


Gracias al trabajo independiente, uno tiene la impresión de que puede crear cualquier aplicación móvil llave en mano dentro de los 100 mil rublos. En algunos casos, realmente puede contar con tal cantidad: si el presupuesto asignado es extremadamente limitado, lo que implica aceptar muchas deficiencias en la calidad del trabajo, errores ocultos y explícitos (errores), falta de originalidad o funcionalidad mínima de la aplicación. Con un enfoque integrado de la aplicación, tal precio es imposible. Veamos de dónde provienen cientos de miles y millones de rublos y cómo se justifican.

Hora


En cualquier empresa de profesionales, el precio está claramente calculado y firmado por los componentes. La forma más común y universal de calcular es la cantidad de horas multiplicada por el costo del trabajo de la hora (tarifa) de un especialista. Por lo tanto, el tiempo empleado determina el costo del proyecto. Como saben, un estudio de calidad de cualquier negocio puede garantizarse por la cantidad de tiempo dedicado a él.



Se requiere tiempo para cada etapa del trabajo en el proyecto: investigación, diseño, desarrollo de diseño de aplicaciones, desarrollo frontend (parte del cliente), desarrollo de backend (parte del servidor), pruebas y puesta en servicio. Estas etapas requieren necesariamente un estudio detallado al crear una aplicación exitosa.

La hora del trabajo de un especialista en outsourcing de TI puede diferir dramáticamente: de 300 rublos por hora a 10,000 rublos por hora. Es difícil para cualquiera que no esté conectado con el mundo de TI comprender esta dispersión. La tasa real de un programador web en Rusia hoy es de 1600-3500 rublos por hora, dependiendo de sus calificaciones.

Si el "especialista" ofrece una tarifa más baja, lo más probable es que haya comenzado a trabajar recientemente y no represente el valor de mercado del trabajo. La poca experiencia de su trabajo le permite solo "volcar", coqueteando con la alta competencia en el mercado de servicios de TI. En el próximo proyecto real, el "estudiante" podrá ganar experiencia gracias a los errores, por lo que incluso un contrato oficial sin una tarea técnica clara no es tan malo para él en el caso de "bloqueo", porque mañana vendrá un nuevo cliente, "picoteando" a bajo precio.

Será difícil rechazar a un especialista "barato"; es poco probable que alguien más se comprometa a remodelar muchos errores. Incluso si la tasa es la mitad, debido a los errores que pasará buscando, el lanzamiento se retrasará muchas veces y la cantidad de horas que paga aumentará de 2 a 3 veces. Como resultado, la cantidad total de gastos sigue siendo igual a la opción de contratar profesionales con experiencia, un trabajo que no se convierte en un dolor de cabeza.

Una situación diferente es posible. Cuando se ofrece una tarifa, por ejemplo, a 1000 rublos por hora, se obtiene un programador que está obligado a cerrar el reloj. Esta tasa incluye gastos por licencia por enfermedad, vacaciones, impuestos sociales, impuesto sobre la renta personal y otros impuestos, por lo que con tal tasa de dinero por salarios habrá poco. Administrar un equipo de desarrollo y controlar sus acciones con su propio gerente no siempre salva la situación. El resultado es un mal producto, dinero gastado, dolor de cabeza, numerosas mejoras o un nuevo desarrollo desde cero.

Se puede crear una aplicación teóricamente excelente en la versión básica para nada, pero un equipo de desarrolladores que saben lo que valen siempre trabaja en productos realmente exitosos.

Estructura de aplicación compleja


¿De qué depende la cantidad de tiempo? Puede haber muchos factores, desde la lista de dispositivos y plataformas que admitirán la aplicación hasta la lista de sus funciones.

La estructura compleja de la aplicación aumenta la complejidad. La parte del servidor es necesaria si la aplicación, por ejemplo, sincroniza datos con el servidor o es controlada por el panel de administración a través de la interfaz web. Las API de terceros, la capacidad de trabajar sin conexión, la animación en la interfaz, los problemas de almacenamiento de datos, los controles no estándar y la presencia de varios roles de usuario también complican la estructura de la aplicación.

Qué componentes requieren más tiempo:

  1. Grandes cantidades de datos, muchas pantallas y acciones en la aplicación;
  2. Lado del servidor;
  3. Panel administrativo;
  4. Uso de hardware del dispositivo: NFC, barómetro, Bluetooth, acelerómetro, giroscopio, etc.
  5. Conexión a dispositivos externos;
  6. Integración con sistemas y servicios de terceros;
  7. Desarrollo de AR / VR y aplicación de tecnologías innovadoras como IA, blockchain, redes neuronales , etc.

Por lo tanto, el grado de complejidad puede representar aproximadamente la complejidad:

  1. Aplicaciones simples (pequeño conjunto de funciones, desarrollo rápido, puede faltar la parte del servidor): 300-700 horas.
  2. Aplicaciones de complejidad media: 700-1200 horas.
  3. Aplicaciones complejas (arquitectura compleja, problemas de seguridad, muchas integraciones, etc.): más de 1200 horas.

¿Una o más plataformas?


¿Interesado en desarrollar aplicaciones para Android o iOS? ¿O tal vez necesitas una aplicación web? Hay varios puntos a tener en cuenta. En el desarrollo de Android, a diferencia de iOS, tienen muchos dispositivos con diferentes especificaciones y versiones de sistemas operativos. La adaptación para tabletas y el soporte para versiones anteriores de plataformas y dispositivos, limitados por el rendimiento, la funcionalidad y la falta de actualizaciones, conducen a un mayor costo del proyecto.

Los teléfonos inteligentes son tan similares entre sí que parece que se puede desarrollar una sola aplicación para Android e iOS. Pero esto está lejos del caso. La misma apariencia de aplicaciones en diferentes plataformas se logra a través de espinas de diferentes lenguajes de programación, SDK y herramientas de programación.

Sin embargo, en algunos casos, puede desarrollar una aplicación multiplataforma para dos plataformas. En nuestra experiencia, esta solución le permite reducir el costo de desarrollar aplicaciones para dos sitios en un 25-30% y acelerar el tiempo de comercialización.

El diseño no se trata solo de belleza


Esbozamos principalmente los momentos más relacionados con el desarrollo, y tuvimos la impresión de que solo se necesitan programadores para crear una aplicación genial. De hecho, el trabajo siempre comienza con el análisis de productos y el diseño de UX / UI. Dudamos de que el programador pueda resolver estos problemas de manera integral. Aquí estamos hablando de cómo conectar las necesidades de las empresas y los usuarios en la aplicación y cómo hacerlo lo más simple y claro posible para el usuario.



Ningún usuario subirá a la naturaleza del código para evaluar si lo usará. Lo principal para él es qué tan rápido y claramente la aplicación resuelve su problema. Y la cuestión no es tanto la velocidad del software, sino el desarrollo del Mapa del recorrido del cliente, el Flujo de usuarios, la Usabilidad, la Experiencia del usuario y el desarrollo de la interfaz de la aplicación. Si nunca ha oído hablar de esto, le sugerimos leer un artículo experto de nuestro diseñador de UX / UI Maxim Skvortsov. En él, responde ampliamente la pregunta de por qué es necesario estudiar profundamente los temas de diseño y diseño y cómo crear una aplicación verdaderamente exitosa.

Si solicitó la aplicación, esto no significa que a partir de mañana el contratista comience a escribir el código. Al igual que en la construcción de una casa, es importante dibujar "planos", diseño interno y externo, y pensar en la vida de la casa en dinámica. Las aplicaciones visualmente poco atractivas o insuficientemente pensadas se eliminarán inmediatamente después de la instalación o ni siquiera se descargarán.

Hay seguridad en los números.


Las aplicaciones de alta calidad no se crean solas, un equipo completo de profesionales con gran experiencia está trabajando en ellas. Cuanto más complejo sea el proyecto, mayor será la composición del equipo de desarrollo. La lista mínima puede incluir un gerente de proyecto, diseñador de UX / UI, programador y probador.

¿De dónde vino el probador? Todo debe verificarse antes de que se lance la aplicación, incluido el funcionamiento de las funciones, los servicios conectados y los módulos. La aplicación en sí puede ser verificada por el cliente. Pero encontrar la línea con el error es más difícil en el código de otra persona, y es más fácil corregirlo cuando conoce el código escrito y las soluciones de plataforma utilizadas.

Los proyectos complejos pueden involucrar a un analista, un equipo de diseño, un diseñador de diseño, un equipo de programadores, un probador y un gerente de proyecto. En este caso, la tasa de cada especialista puede diferir. Pero esta tasa siempre incluye profesionales capacitados con experiencia, de lo contrario, la empresa enfrentará la pérdida de reputación obtenida por muchos proyectos y una caída en las agencias de calificación. Por lo tanto, el desarrollo móvil es costoso y el bajo costo puede hablar directamente sobre la violación de los procesos.

Es imposible que una persona entienda profundamente todas las áreas al mismo tiempo. Por lo tanto, cuando se contrata a un programador independiente, es probable que se necesiten otros especialistas. Naturalmente, con este enfoque, puede haber inconsistencia e irresponsabilidad entre especialistas en cuya experiencia no está seguro. Incluso si contrata a un gerente de proyecto, inevitablemente tendrá que profundizar en todos los detalles del proyecto usted mismo.



Vamos a reunir todas las ventajas de elegir un desarrollador de aplicaciones móviles que cubra el costo aparentemente alto.

1. La capacidad de probar.Para cualquier desarrollo (desarrollo web, desarrollo para iOS o Android), las compañías de TI a menudo ofrecen la oportunidad de probar las capacidades de un equipo dedicado de desarrolladores de aplicaciones en una pequeña cantidad de horas libres, lo que no se puede decir sobre el trabajo independiente.

2. Frescura de la tecnología. La compañía cuenta con una gran cantidad de empleados intercambiables con experiencia que periódicamente reciben certificación y capacitación. Un solitario no podrá mantenerse al día con el desarrollo de la tecnología en varios campos. Las tecnologías obsoletas pueden conducir, entre otras cosas, a vulnerabilidades y menor seguridad para los usuarios.

3. Fechas.La compañía firma obligaciones bajo un acuerdo, cuya violación conlleva enormes riesgos corporativos. El profesional independiente siempre tendrá una razón para abandonar el proyecto en cualquier etapa del desarrollo de la aplicación: enfermedad, reubicación, problemas familiares, empleo. Sin embargo, el abismo es posible sin ningún motivo especial.

4. Profesionalismo. Las empresas, por regla general, están sujetas a verificación y certificación profesional de las agencias de calificación, que asumen la evaluación de la experiencia de las empresas. No es difícil para un profesional independiente "ganar" críticas para sí mismo, especialmente en colaboración con otros profesionales independientes.

5. El costo del tiempo.Con una empresa de TI, puede ahorrar tiempo y centrarse en su negocio, en lugar de en un proyecto. Cada miembro del equipo conoce claramente su papel en el proyecto, cualquier resultado intermedio del trabajo está sujeto a una revisión interna antes de enviarlo al cliente. Con un profesional independiente, tendrá que asumir el papel de gerente de proyecto.

6. Seguridad. Una empresa de TI tiene el estado de una entidad legal registrada. Esto le impone un margen de responsabilidad más estricto y reduce en gran medida el riesgo de fraude. Una persona aleatoria en Internet puede proporcionar fácilmente la cartera de otra persona y, posteriormente, convertir sus planes de "movilización" en un caos.

7. Control.La compañía de TI ya tiene un proceso de trabajo totalmente depurado que se puede personalizar de manera flexible para satisfacer las necesidades del cliente. El trabajo con un profesional independiente probablemente tendrá la naturaleza de un proceso incontrolado, cuando muchas cosas se alargarán, luego se reanudarán repentinamente o se interrumpirán.

8. Participación. El profesional independiente no siente ninguna conexión con el proyecto y solo establece el objetivo de ganar dinero. La compañía de TI está interesada en la lealtad del cliente, lo que implica la alta calidad de los servicios para desarrolladores y la satisfacción del cliente. Además, la participación de cada miembro del equipo está garantizada por el sistema de motivación de los empleados corporativos.

Por lo tanto, cuando solicita servicios en una empresa de TI, obtiene:

  1. Servicios de alta calidad
  2. Interacción 24/7
  3. Experiencia comprobada
  4. Cumplimiento de plazos y requisitos.
  5. ,

Además de las ventajas descritas, tenemos informes disponibles sobre el progreso de los proyectos de acuerdo con el modelo de contrato de Tiempo y Materiales para el cliente. Con este modelo, el pago es por el resultado, basado en los costos laborales, es decir el cliente puede ver en qué tarea se dedica el número de horas y comparar esto con el historial de confirmaciones de código (porciones). El esquema es tan transparente que el cliente ve cada línea de código escrita por el desarrollador diariamente.

Puede parecer mejor no meterse con la digitalización. Sin embargo, debe considerarse como una inversión en el futuro de su negocio, que puede perder mucho más que el costo de desarrollar una aplicación. La "movilización" inevitablemente conduce a un aumento de los ingresos y la eficiencia empresarial en cualquier campo: minorista ,medicina , educación , bienes raíces , servicios públicos , ciudad inteligente, etc.

A lo largo de los años de nuestro trabajo, se han acumulado tantos proyectos que las sutilezas de cada uno de ellos no se pueden describir con precisión en un solo artículo. Esperamos que la experiencia de nuestra empresa descrita en el artículo lo ayude a elegir el camino correcto de interacción con el contratista. Si las formas propuestas no le convienen, cuéntenos su problema en los comentarios, para que pensemos juntos cómo resolverlo y al mismo tiempo tengamos en cuenta todos los detalles del proyecto.

All Articles