
Publicamos una traducción del
material de Alexander Savchenko, un empleado de Django Stars. Explica cómo evaluar el costo de crear aplicaciones móviles, teniendo en cuenta los ítems de costo directo e indirecto.
Determinar el costo de desarrollar una aplicación específica es una tarea importante tanto para la empresa como para el programador que trabaja de forma independiente. Vale la pena decir de inmediato que es poco probable que alcance el 100% de precisión, pero esta revisión lo ayudará a acercarse a la exactitud máxima de la estimación.
Skillbox recomienda: Curso práctico "Mobile Developer PRO" .
Le recordamos: para todos los lectores de "Habr": un descuento de 10.000 rublos al registrarse en cualquier curso de Skillbox con el código de promoción "Habr".
No está evaluando líneas de código, sino el producto en su conjunto.
Cuando hablo del desarrollo de aplicaciones, me refiero al proyecto como un sistema único, no como líneas de código individuales. En consecuencia, su implementación incluye arquitectura, comunicaciones, pruebas, evaluación de calidad y todo lo que generalmente se incluye en este proceso.
Además de los costos directos (tiempo que se dedica exclusivamente a trabajar en la aplicación), existen costos indirectos que no siempre se tienen en cuenta:
- Además del desarrollo, deberá probar la aplicación, analizarla y estar listo para realizar una campaña de marketing, si es necesario. Además, siempre hay diferentes tipos de gastos imprevistos, que analizaremos a continuación.
- Análisis de la viabilidad de la idea y métodos para su implementación. Lo que inicialmente parece una idea genial, en la práctica puede ser difícil de implementar. Además, definitivamente debe evaluar la competitividad de su aplicación: si hay muchos análogos, puede valer la pena pensar de nuevo y decidir si poner en práctica su idea.
- Lanzando ideas a los inversores. Los inversores solo están interesados en una cosa: si el proyecto podrá aportar dinero. Incluso si el concepto es interesante, pero no existe un argumento en forma de plan de negocios o prototipo, es poco probable que los inversores lo respalden. Es necesario evaluar los posibles ingresos y costos basados en estas realidades.
- Trabajo en equipo. Las aplicaciones de alta calidad son posibles gracias a la colaboración entre diferentes miembros del equipo, cada uno de los cuales es un experto en su campo.
También debe tener en cuenta cosas tan importantes como:
- Comunicaciones Para la conciliación de las partidas de gastos, siempre debe estar atento al pulso del flujo de trabajo. Y esto significa comunicación constante con otros miembros de su equipo. Entre otras cosas, deben tener una buena comprensión de en qué están trabajando y conocer los matices del posicionamiento del proyecto.
- Planificación y lluvia de ideas. Las ideas nuevas siempre son buenas, pero, desafortunadamente, nadie puede garantizar que la próxima sesión de lluvia de ideas dará respuestas a todas las preguntas y ayudará a seguir trabajando.
- Tareas adicionales. Durante el desarrollo, puede obtener nuevas ideas y sugerencias. Algunos de ellos requerirán el uso de tiempo y recursos laborales adicionales.
Tomamos en cuenta factores implícitos
El principal problema en el proceso de evaluar el costo de crear una aplicación es que al comienzo del camino no sabemos qué dificultades encontraremos. Esto es especialmente cierto para las ideas que nadie ha implementado todavía.
Para evaluar la mayoría de los factores conocidos que afectan el proceso de desarrollo y su costo, es necesario realizar un análisis, y también debe incluir el supuesto de que surgen nuevos problemas y tareas durante el trabajo, como se mencionó anteriormente.
Los factores se pueden dividir en tres categorías:
- Todo lo que se sabe exactamente en este momento es, por ejemplo, la necesidad de registrar un dominio, alquilar un hosting con ciertas características, etc.
- Factores que aún se desconocen, pero su apariencia puede predecirse, por ejemplo, la transferencia de la fecha límite o el trabajo técnico en el servidor.
- Factores desconocidos y difíciles de predecir.
Estimación de costos de desarrollo paso a paso.
Historias de usuarios y tareas de desarrolladorEn esta etapa, es necesario describir la funcionalidad del sistema desde el punto de vista de varios grupos de usuarios. Esto es, más o menos, la documentación de los requisitos externos para el desarrollo de productos. Además, debe distribuir las tareas para que los desarrolladores individuales implementen estas funciones.
Especificamos el alcance del trabajo.Inicialmente, es necesario formular una visión clara de la aplicación y garantizar que todos los participantes del proyecto entiendan esta visión. También es necesario que cada miembro del equipo conozca su papel en el proceso de desarrollo de nuestra aplicación web.
El desarrollador front-end debe saber qué versiones de navegador deben ser compatibles, si se necesita una versión móvil, etc. El especialista en backend debe comprender qué capacidades tendrá el administrador, el usuario "invitado" y si es necesaria la integración con otros sistemas. Del mismo modo, un arquitecto, un diseñador de interfaces, un analista de negocios y otros representantes del equipo deben conocer los matices de la tarea que son importantes para ellos.
Estimación del tiempo de implementación de cada tarea.Después de que todo el proceso de desarrollo se divide en tareas separadas para miembros específicos del equipo, procedemos a calcular el marco de tiempo para la implementación de cada una de estas tareas. Es aconsejable proporcionar un período optimista, normal y pesimista, es decir, cuando surgen problemas y la fecha límite se rompe.
Puede verse así: para desarrollar un sistema de gestión del tráfico en una situación óptima, lleva 10 días; realmente, en algún lugar alrededor de 20 días; Si surgen problemas, entonces un mes. También debe considerar el factor de corrección, que es aproximadamente el 95%.
Estimación de términos
Cálculo del tiempo de entrega teniendo en cuenta el factor de corrección del 95%Las ilustraciones muestran un ejemplo de cálculo del tiempo de ejecución de tareas individuales. Para la gestión del tráfico, esto es 33 días, y también son posibles desviaciones de las fechas estimadas.
Qué hacer si la calificación de la aplicación web es demasiado alta o baja
Si no le gusta demasiado el resultado final, es decir, el precio de la aplicación resulta ser demasiado alto o bajo (en el último caso, puede resultar que no tiene sentido trabajar por esa cantidad), intente realizar el cálculo nuevamente.
Si la aplicación es demasiado barata, piense en cuántas personas participan en su creación, si se tienen en cuenta todas las etapas y tareas.
Si, por el contrario, resulta mucho, busque más soluciones presupuestarias, reduzca el número de miembros del equipo involucrados en el proyecto, establezca prioridades ligeramente diferentes.
Como conclusión, diré que al evaluar el costo de crear una aplicación web, es necesario tener en cuenta todos los detalles, incluidos los factores conocidos y desconocidos que pueden afectar el proceso de desarrollo.
El error de cálculo en sí mismo permite al equipo comprender el alcance del trabajo y minimizar los riesgos. La regla principal no es apresurarse, sino también tener cuidado con sus deseos.
Skillbox recomienda: