De l'idée à la mise en œuvre. Troisième partie - Créer des savoirs traditionnels (mandat)
Danilevsky KirillJe m'excuse auprès des lecteurs pour la longue pause. Maintenant, je travaille sur un grand projet, il n'y a pas assez de temps pour rien. J'écris donc une suite à la série d'articles «De l'idée à la mise en œuvre». Voici l'article précédent: «De l'idée à la mise en œuvre. Deuxième partie - La naissance d'une idée »Aujourd'hui, je veux parler un peu de la façon de raccourcir mon chemin d'une simple idée à un investissement. Il y a deux points importants ici. Pour vous-même, vous devez décider qui agira en tant qu'investisseur. Si vous êtes en mesure de vous financer, c'est très bien. Mais si vous avez des problèmes financiers, vous ne pouvez pas vous passer de l'attrait externe de l'argent.Mais pour intéresser un investisseur, vous devez lui fournir des documents suffisamment détaillés. Étant donné que parler avec une explication, à peu près, sur les doigts, ne donne pas à l'investisseur la possibilité de voir l'ensemble du tableau. Par conséquent, on ne peut pas non plus parler d'argent.Et notre tâche principale est de préparer de tels documents qui vous aideront à obtenir un financement et seront en mesure de clarifier l'image de l'avenir de votre projet vous-même.La toute première chose à faire est d'articuler clairement une idée d'entreprise. Cela ne devrait pas être seulement une pensée intéressante, mais une sorte de solution complète et fermée qui vous aidera à atteindre votre objectif. Afin de ne pas s'engager dans le verbiage, nous prendrons comme base un certain exemple, sur la base duquel nous construirons notre documentation.Par exemple, il existe un certain laboratoire privé où travaillent plusieurs employés. Ces employés sont des spécialistes du domaine de la physique, possèdent leur propre équipement, ce qui leur permet de mener des expériences complexes et de produire des résultats. Toutes les données source sont entrées dans la base de données et les résultats sont également stockés sous la forme d'une sorte de données statistiques. Lors de la réalisation du nombre n d'expériences, un certain modèle comportemental est formé, grâce auquel il est possible de prédire le résultat avec une probabilité assez élevée, même sans expérience en laboratoire.Et à un moment donné, on comprend que la demande d'expériences n'est pas si grande, le laboratoire est limité dans sa capacité, il est assez difficile de recevoir des commandes de différents pays, chaque fois qu'il est nécessaire de mener un grand nombre de négociations, de conclure des contrats, etc. L'idée principale du problème est que vous ne pouvez pas sauter au-dessus de votre tête. Et ces "sauts" qui sont assez complexes, pas mobiles et chers.Et ici, les spécialistes proposent une idée intéressante. Mais que faire si toute notre expérience et d'énormes quantités de données sont appliquées dans un programme qui sera une sorte d'intelligence artificielle. Avec ce programme, il sera possible, avec un degré élevé de probabilité, d'obtenir le résultat correct lors de la saisie de vos paramètres. Ainsi, le programme calculera le résultat correct sans impliquer le laboratoire, mais uniquement sur la base des données d'expériences déjà réalisées précédemment. Cela permettra d'économiser considérablement les frais généraux et vous aidera à obtenir rapidement de nouveaux clients du monde entier.L'idée est intéressante, déjà plus ou moins formée. La recherche commence pour un investisseur prêt à investir dans cette idée. Mais la première question est combien d'argent devrait être investi dans ce projet? Et il n'y a pas de réponse à cette question. Et le deuxième point est que si l'investisseur ne comprend pas la physique, alors il ne comprendra pas du tout ce qu'il essaiera de lui expliquer. Et pour investir de l'argent dans quelque chose que l'investisseur ne peut même pas comprendre, il ne le fera certainement pas.Et puis vient la compréhension de comment, et comment pouvez-vous évaluer le montant de financement nécessaire? Après tout, d'excellents spécialistes en physique ne comprennent rien en informatique et en finance, d'excellents programmeurs ne comprennent rien en physique et en finance, et d'excellents financiers ne comprennent rien en physique et en informatique. Il en résulte un cercle vicieux qui, pour beaucoup, reste souvent un cercle vicieux.Pour sortir de cette situation difficile, vous avez besoin d'une personne qui sera un intermédiaire entre l'entreprise et l'informatique, qui connaît bien la finance, le processus de développement de logiciels et peut très rapidement comprendre l'essence de l'activité du client. En règle générale, les analystes système le font.Passons maintenant au travail d'un analyste système. Il y a une tâche - pour comprendre le principe de fonctionnement de l'entreprise, créer une documentation qui sera en mesure d'estimer le temps requis pour le développement de logiciels. L'estimation du temps, en règle générale, peut être approximative ou plus ou moins détaillée. Dans le premier cas, une tâche technique détaillée ne sera pas créée, mais seul un modèle d'architecture sera créé. Dans le deuxième cas, un mandat détaillé sera élaboré, qui sera déjà prêt à démarrer le processus de développement.Naturellement, connaissant le temps de développement, connaissant la plateforme sur laquelle le développement sera réalisé, il est déjà possible de calculer plus ou moins le montant d'investissement pour le projet. Et quand il y a un chiffre calculé et justifié, alors il y a déjà de quoi parler avec l'investisseur.La prochaine étape des calculs est une tentative d'évaluer le profit possible lorsque le projet est monétisé. En règle générale, beaucoup ne le font pas. Mais pour l'investisseur, ce moment est également très important. Étant donné que pour qu'il décide d'investir de l'argent, il doit savoir ce qu'il peut gagner de cela.CRÉER DES ST POUR LE PROJETJe ne m'attarderai pas sur cette question en détail, mais je passerai en revue les principaux points qui aideront à comprendre ce qui est quoi.1. L'idée du projet est décrite en détail. Cette idée est argumentée. Pourquoi cela devrait-il fonctionner? Quels concurrents sont déjà sur le marché. Quelle est leur part de marché? Que le marché donné soit saturé ou qu'il meure de faim pour une telle décision.2. Comment la monétisation du projet est-elle planifiée? Cet article peut également être associé au choix de la plateforme. Ce sera une application en ligne ou une version de bureau. Analyse de quelle version est meilleure, plus flexible et évolutive. Comment se fera le paiement de la demande. Par exemple, un programme payant avec une clé individuelle. Accès en ligne au programme (site) pendant un certain temps (accès limité), etc. C'est un point important et vous devez y réfléchir tout de suite. Étant donné que l'erreur concerne cette question, elle pourrait mettre un terme à l'ensemble du projet à l'avenir.3. Après avoir découvert dans le deuxième paragraphe ce que sera la plateforme, vous pouvez déjà construire l'architecture. L'architecture doit être pensée très, très attentivement. Si vous faites une grave erreur, vous pouvez par la suite conclure qu'il sera impossible de développer davantage la fonctionnalité. Donc, tout le temps et l'argent ont été gaspillés. L'architecture doit être aussi modulaire que possible avec des composants à couplage lâche. Cela vous aidera à ajouter facilement de nouvelles fonctionnalités et à changer l'ancienne.4. Nous devons réfléchir à la façon dont les données seront stockées dans la base de données. Réfléchir sur les tableaux de données et leur communication. Si le projet est volumineux, vous devez immédiatement penser non pas à une seule base de données, mais à un plus grand nombre d'entre elles, où et comment les placer (sur différents serveurs). Et comment ils seront connectés dans un seul projet. Souvent, je tombe sur une image telle que les bases sont gonflées en téraoctets, et ne rien faire avec est tout simplement irréaliste.5. Si l'on suppose qu'il y aura de nombreux projets différents basés sur une seule plate-forme, alors vous devez réfléchir à la façon dont ils fonctionnent le mieux. Ne mettez pas toutes les fonctionnalités dans un seul site géant. Il est préférable de tout distribuer sur différents serveurs. Mais alors vous devrez faire un serveur intermédiaire, où l'autorisation aura lieu, etc.6. Vous devez immédiatement prévoir ce dont vous n'avez peut-être pas besoin maintenant. Depuis quand vous en avez besoin, vous dépensez vos finances dix fois plus! Je ne veux pas dire créer immédiatement une fonction, mais grosso modo, construire une fondation pour une fonction possible. En règle générale, une telle fondation est son propre IPA, grâce auquel vous pouvez faire différentes choses. Par exemple, pour connecter l'équipement de laboratoire qui enregistrera les résultats des expériences immédiatement dans la base de données du projet. Ou, par exemple, il sera possible de vendre l'accès à vos données à différents partenaires.Après que des tonnes de documents sur la physique ont été étudiés, l'essence du projet est comprise et sur la base de cela un modèle de base de données est créé, alors il est temps de réfléchir à la façon dont ces données seront écrites dans la base de données et comment elles seront obtenues à partir de la base de données. Vous devez donc réfléchir aux interfaces par lesquelles les données seront saisies. Il s'agit désormais de statistiques, sur la base desquelles le résultat du calcul sera corrélé.8. Il est nécessaire de considérer un système modulaire indépendant pour les formules qui produiront le calcul. Les formules doivent être indépendantes les unes des autres et totalement indépendantes. Et déjà dans le projet lui-même, quand et où cela est nécessaire, alors passez à la formule, en lui donnant les données et en obtenant le résultat. Cela vous permettra, en cas de modifications, de n'effectuer des modifications que dans un petit module séparé. De plus, rien d'autre ne souffrira et n'affectera pas le travail du projet lui-même.9. Pour de tels projets complexes, un système d'autodiagnostic est simplement nécessaire. Il doit être divisé en deux parties. Le premier est le diagnostic de la base de données, sur l'exactitude des données. Après tout, nous parlons de calculs mathématiques complexes. Ainsi, même une petite erreur (par exemple, un certain coefficient dans la base de données n'est pas 0,5, mais 0,6) peut entraîner des conséquences fatales. Pour ce faire, vous devez disposer de certaines données de référence qui seront vérifiées avec les vraies dans la base de données. Et si les données réelles dépassent le seuil autorisé, l'administrateur doit le savoir et décider lui-même quoi en faire. Il en va de même pour les formules et les paramètres d'entrée. Les paramètres ne doivent se situer que dans la marge d'erreur.10. L'interface utilisateur. Cette question est également très importante. Le système doit être intuitif, facile à utiliser et évident.11. Système de protection des données et résistance générale au cambriolage. Vous ne devez pas non plus oublier ce moment. Si un pirate informatique peut planter votre serveur ou voler vos données, alors il n'y a rien à dire.12. Système automatisé de paiement et accès au système. Ce processus doit être entièrement automatisé. Des rapports clairs et détaillés doivent être élaborés. Nous avons besoin d'un système d'analyse des données sur les paiements (quelque chose comme un rapport financier). Notifications automatiques aux utilisateurs et administrateurs.13. Un système d'analyse détaillée des utilisateurs. Leurs calculs et actions dans le système. Cela vous aidera à trouver des goulots d'étranglement dans le projet et à améliorer la qualité de votre application.14. Licence. Protection des droits d'auteur. Eh bien, ici sans commentaire. Si vous souhaitez obtenir un client d'entreprise sérieux, vous devez vous assurer que votre solution logicielle dispose d'une licence internationale en laquelle vous pouvez avoir confiance.Bien sûr, ce ne sont pas tous des points. Mais pour comprendre le processus, cela suffit. Chacun de ces éléments est divisé en tâches plus petites. Celles-ci sont également fragmentées. Le résultat est un énorme arbre de processus (feuilles sur un arbre). Et chaque petit processus (tâche) peut déjà être calculé avec précision en fonction des coûts de temps.De plus, à ce stade, vous devez ajouter les coûts de capacité de production, de publicité et de promotion, ainsi que de nombreux autres facteurs différents qui ne peuvent pas être calculés immédiatement, mais qui sont liés.Au final, ce travail acharné et minutieux, un ensemble décent de documentation apparaîtra, à partir duquel vous pourrez évaluer le niveau de complexité du projet, son ambition, son ampleur et son coût final de mise en œuvre. Et parfois, il arrive que quelqu'un qui a eu une idée intéressante pense qu'il faudra quelques milliers de dollars pour la réaliser, mais en fait cela peut coûter des centaines de milliers, voire des millions de dollars.Naturellement, ce que j'ai dit plus haut concerne une approche purement professionnelle. Si vous faites cela en un mot, comme «ça va faire», nous obtenons une image approximative de la raison pour laquelle une grande moitié d'Internet est un dépotoir, et non un chef-d'œuvre technologique.Merci à tous et à bientôt. Source: https://habr.com/ru/post/fr393645/
All Articles