De la idea a la implementación. Tercera parte - Crear TK (Términos de referencia)
Danilevsky KirillPido disculpas a los lectores por el largo descanso. Ahora estoy trabajando en un gran proyecto, no hay suficiente tiempo para nada. Entonces, estoy escribiendo una secuela de la serie de artículos "De la idea a la implementación". Aquí está el artículo anterior: “De la idea a la implementación. Segunda parte: el nacimiento de una idea ”Hoy quiero hablar un poco sobre cómo acortar mi camino desde una idea simple hasta obtener una inversión. Hay dos puntos importantes aquí. Por sí mismo, debe decidir quién actuará como inversor. Si puede financiarse, esto es muy bueno. Pero si tiene problemas con las finanzas, entonces no puede prescindir de la atracción externa de dinero.Pero para interesar a un inversor, debe proporcionarle documentos suficientemente detallados. Dado que hablar con una explicación, más o menos, con los dedos, no le da al inversionista la oportunidad de ver la imagen completa. En consecuencia, tampoco se puede hablar de dinero.Y nuestra tarea principal es preparar dichos documentos que lo ayudarán a obtener financiamiento y podrá aclarar la imagen con el futuro de su proyecto usted mismo.Lo primero que hay que hacer es articular claramente una idea de negocio. Esto no debería ser solo un pensamiento interesante, sino una especie de solución completa y cerrada que lo ayudará a alcanzar su objetivo. Para no participar en la palabrería, tomaremos como base un cierto ejemplo, sobre la base del cual construiremos nuestra documentación.Por ejemplo, hay un cierto laboratorio privado donde trabajan varios empleados. Estos empleados son especialistas en el campo de la física, tienen su propio equipo, lo que les permite realizar algunos experimentos complejos y producir resultados. Todos los datos de origen se ingresan en la base de datos, y los resultados también se almacenan en forma de algún tipo de datos estadísticos. Al realizar el número n de experimentos, se forma un cierto modelo de comportamiento, gracias al cual es posible predecir el resultado con una probabilidad bastante alta, incluso sin experiencia de laboratorio.Y en algún momento, se comprende que la demanda de experimentos no es tan grande, el laboratorio tiene una capacidad limitada, es bastante difícil recibir pedidos de diferentes países, cada vez que es necesario llevar a cabo una gran cantidad de negociaciones, celebrar contratos, etc. La idea principal del problema es que no puedes saltar por encima de tu cabeza. Y esos "saltos" que son bastante complejos, no móviles y caros.Y aquí los especialistas tienen una idea interesante. Pero qué pasa si toda nuestra experiencia y grandes cantidades de datos se aplican en un programa que será algún tipo de inteligencia artificial. Con este programa, será posible, con un alto grado de probabilidad, obtener el resultado correcto al ingresar sus parámetros. Por lo tanto, el programa calculará el resultado correcto sin involucrar al laboratorio, sino solo en base a los datos de experimentos que ya se han llevado a cabo anteriormente. Esto ahorrará mucho gastos generales y lo ayudará a obtener rápidamente nuevos clientes de todo el mundo.La idea es interesante, ya más o menos formada. La búsqueda comienza para un inversionista que esté listo para invertir en esta idea. Pero la primera pregunta es ¿cuánto dinero se debe invertir en este proyecto? Y no hay respuesta a esta pregunta. Y el segundo punto es que si el inversor no entiende la física, entonces no entenderá en absoluto lo que tratarán de explicarle. Y para invertir dinero en algo que el inversor ni siquiera puede comprender a grandes rasgos, ciertamente no lo hará.Y luego llega la comprensión de cómo y cómo puede evaluar la cantidad necesaria de financiación. Después de todo, los excelentes especialistas en física no entienden nada de TI y finanzas, los excelentes programadores no entienden nada de física y finanzas, y los financieros excelentes no entienden nada de física y TI. Resulta un círculo vicioso que, para muchos, a menudo sigue siendo un círculo vicioso.Para salir de esta difícil situación, necesita una persona que sea un intermediario entre el negocio y la TI, que conozca bien las finanzas, el proceso de desarrollo de software y pueda comprender muy rápidamente la esencia del negocio del cliente. Como regla, los analistas de sistemas hacen esto.Ahora pasemos al trabajo de un analista de sistemas. Hay una tarea: comprender el principio de la operación comercial, crear documentación que pueda estimar el tiempo requerido para el desarrollo de software. La estimación del tiempo, como regla, puede ser aproximada o más o menos detallada. En el primer caso, no se creará una tarea técnica detallada, sino solo un modelo de arquitectura. En el segundo caso, se desarrollará un ToR detallado, que ya estará listo para comenzar el proceso de desarrollo.Naturalmente, conociendo la cantidad de tiempo que lleva desarrollar, conociendo la plataforma en la que se llevará a cabo el desarrollo, ya es posible calcular más o menos la cantidad de inversión para el proyecto. Y cuando hay una cifra calculada y justificada, entonces ya hay algo de qué hablar con el inversor.El siguiente paso en los cálculos es un intento de evaluar las posibles ganancias cuando el proyecto se monetiza. Como regla, muchos no lo hacen. Pero para el inversor este momento también es muy importante. Dado que para que él decida invertir dinero, necesita saber qué puede ganar con esto.CREANDO TK PARA EL PROYECTONo me detendré en este tema con gran detalle, pero pasaré por los puntos principales que ayudarán a comprender qué es qué.1. La idea del proyecto se describe con gran detalle. Esta idea es discutida. ¿Por qué debería funcionar? Qué competidores ya están en el mercado. ¿Cuál es su cuota de mercado? Si el mercado dado está saturado o está muriendo de hambre por tal decisión.2. ¿Cómo se planifica la monetización del proyecto? Este artículo también se puede asociar con la elección de la plataforma. Esta será una aplicación en línea o una versión de escritorio. Análisis de qué versión es mejor, más flexible y escalable. Cómo se realizará el pago de la solicitud. Por ejemplo, un programa pago con una clave individual. Acceso en línea al programa (sitio) por un tiempo determinado (acceso limitado), etc. Este es un punto importante y debe pensarlo de inmediato. Dado que el error está en este asunto, puede poner fin a todo el proyecto en el futuro.3. Habiendo descubierto en el segundo párrafo cuál será la plataforma, ya puede construir la arquitectura. La arquitectura necesita ser pensada muy, muy cuidadosamente. Si comete un error grave, más tarde puede llegar a la conclusión de que será imposible seguir desarrollando la funcionalidad. Así que todo el tiempo y el dinero se desperdiciaron. La arquitectura debe ser lo más modular posible con componentes sueltos. Esto ayudará a agregar fácilmente una nueva funcionalidad y cambiar la anterior.4. Necesitamos pensar cómo se almacenarán los datos en la base de datos. Pensar en tablas para datos y su comunicación. Si el proyecto es grande, debe pensar inmediatamente no en una base de datos, sino en un número mayor de ellas, dónde y cómo ubicarlas (en diferentes servidores). Y cómo se conectarán en un solo proyecto. A menudo me encuentro con una imagen tal que las bases están infladas a terabytes, y hacer algo con ellas es simplemente poco realista.5. Si se supone que habrá muchos proyectos diferentes basados en una plataforma, entonces debe pensar en cómo funcionan mejor. No inserte toda la funcionalidad en un sitio gigante. Es mejor distribuir todo en diferentes servidores. Pero luego tendrá que hacer un servidor intermedio, donde tendrá lugar la autorización, etc.6. Debe proporcionar de inmediato lo que tal vez no necesite ahora. ¡Desde que lo necesite, gastará sus finanzas diez veces más! No me refiero a la creación inmediata de un funcional, sino más o menos, a construir una base para un posible funcional. Como regla general, dicha base es su propia IPA, gracias a la cual puede hacer cosas diferentes. Por ejemplo, para conectar equipos de laboratorio que registrarán los resultados de los experimentos inmediatamente en la base de datos del proyecto. O, por ejemplo, será posible vender el acceso a sus datos a diferentes socios.7. Después de que se hayan estudiado toneladas de documentos sobre física, se comprende la esencia del proyecto y, sobre la base de esto, se crea un modelo de base de datos, luego es hora de pensar cómo se escribirán estos datos en la base de datos y cómo se obtendrán de la base de datos. Por lo tanto, debe pensar en las interfaces a través de las cuales se ingresarán los datos. Ahora se trata de estadísticas, sobre la base de las cuales se correlacionará el resultado del cálculo.8. Es necesario considerar un sistema modular independiente para las fórmulas que producirán el cálculo. Las fórmulas no deben estar relacionadas entre sí y ser completamente independientes. Y ya en el proyecto en sí, cuando y donde sea necesario, luego recurra a la fórmula, proporcionándole los datos y obteniendo el resultado. Esto le permitirá, en caso de cualquier cambio, hacer cambios solo en un módulo pequeño y separado. Además, nada más sufrirá y no afectará el trabajo del proyecto en sí.9. Para proyectos tan complejos, simplemente es necesario un sistema de autodiagnóstico. Debe dividirse en dos partes. El primero es el diagnóstico de la base de datos, sobre la exactitud de los datos. Después de todo, estamos hablando de cálculos matemáticos complejos. Entonces, incluso un pequeño error (por ejemplo, un cierto coeficiente en la base de datos no es 0.5, pero 0.6) puede tener consecuencias fatales. Para hacer esto, necesita tener algunos datos de referencia que se verificarán con los reales en la base de datos. Y si los datos reales fueron más allá del umbral permitido, entonces el administrador debe saber esto y decidir por sí mismo qué hacer con ellos. Lo mismo ocurre con las fórmulas junto con los parámetros de entrada. Los parámetros solo deben estar dentro del margen de error.10. La interfaz de usuario. Esta pregunta también es muy importante. El sistema debe ser intuitivo, fácil de usar y obvio.11. Sistema de protección de datos y resistencia general al robo. Tampoco debes olvidarte de este momento. Si algún pirata informático puede bloquear su servidor o robar sus datos, entonces no hay nada de qué hablar.12. Sistema automatizado de pago y acceso al sistema. Este proceso debe ser completamente automatizado. Se deben construir informes claros y detallados. Necesitamos un sistema para analizar datos sobre pagos (algo así como un informe financiero). Notificaciones automáticas a usuarios y administradores.13. Un sistema de análisis detallado del usuario. Sus cálculos y acciones en el sistema. Esto lo ayudará a encontrar cuellos de botella en el proyecto y mejorar la calidad de su aplicación.14. Licencias. Protección de derechos de autor. Bueno, aquí sin comentarios. Si desea obtener un cliente corporativo serio, debe asegurarse de que su solución de software tenga una licencia internacional en la que pueda confiar.Por supuesto, estos no son todos los puntos. Pero para entender el proceso, esto es suficiente. Cada uno de estos elementos se divide en tareas más pequeñas. Aquellos a su vez también están fragmentados. El resultado es un gran árbol de proceso (hojas en un árbol). Y cada pequeño proceso (tarea) ya se puede calcular con precisión de acuerdo con los costos de tiempo.Además, en este momento, debe agregar los costos de capacidad de producción, publicidad y promoción, y muchos más factores diferentes que no se pueden calcular de inmediato, pero que seguramente surjan.En el final, este trabajo duro y minucioso, aparecerá un paquete de documentación decente, desde el cual puede evaluar el nivel de complejidad del proyecto, su ambición, escala y costo final de implementación. Y a veces sucede que alguien a quien se le ocurrió una idea interesante piensa que tomará un par de miles de dólares darse cuenta de ello, pero en realidad puede costar cientos de miles, o incluso millones de dólares.Naturalmente, lo que dije anteriormente se refiere a un enfoque puramente profesional. Si lo hace en pocas palabras, como "y así será", obtenemos una imagen aproximada de por qué una gran parte de Internet es un basurero y no una obra maestra tecnológica.Gracias a todos y hasta pronto. Source: https://habr.com/ru/post/es393645/
All Articles