"La mort de Dieu" ou l'effondrement des lois généralement acceptées pour la constitution d'équipes informatiques et la création de systèmes informatiques au 21e siècle

«Dieu est mort», Gott ist tot (1881) Nietzsche est une métaphore fondamentale de la philosophie postmoderne.
L'idée principale est d'abandonner les schémas de comportement hérités et les façons de percevoir la réalité, qui sont la base, la composition textuelle et culturelle de notre «je». En philosophie, la formation de ce concept a pris des milliers d'années; dans le monde des technologies de l'information, cinquante suffisaient.

Dans un passé récent, de nombreux processus étaient manuels et les esprits curieux les ont commandés et automatisés. Pour cela, des méthodes et des outils ont été développés, des lois ont été formulées, des centaines de livres ont été écrits. Ces méthodes et pratiques ont été assez efficaces et ont porté leurs fruits. Mais déjà au début du 21e siècle, l'humanité est parvenue à la conclusion que la plupart des processus sont déjà automatisés, et dans un avenir proche, il sera possible de dire que 100% des processus seront desservis par des systèmes, de sorte que la tâche de créer des innovations et de nouveaux systèmes devient plus compliquée. Il est nécessaire d'améliorer et de rationaliser les systèmes et processus existants et «bien construits», ce qui change parfois radicalement les approches et les pratiques pour atteindre un résultat, à savoir, en augmentant leur vitesse, leur qualité et leur efficacité.

Pendant de nombreuses années, j'ai utilisé des lois et des règles que je commenterai ci-dessous. Il y a des critiques intéressantes sur beaucoup d'entre elles: «Les lois fondamentales de la création d'équipes de développement», les auteurs de livres et de publications s'y réfèrent souvent, plaidant pour une décision particulière. De plus, je les aime aussi. Pour ma pratique, dans la plupart des cas, ils ont fonctionné, mais ces dernières années, de nombreuses approches ont commencé à «glisser», précisément pour les raisons que j'ai décrites ci-dessus.

Anton Semenchenko a bien systématisé les lois dans la présentation «Les lois pour la création d'équipes informatiques et les conséquences des lois pour les projets informatiques« sur les doigts ». Je ne suis certainement pas sûr de la source, donc je n'y fais pas référence ici, mais tout moteur de recherche affichera la vidéo de l'auteur et le matériel de présentation sur le titre de l'article. J'ai aimé sa structuration du temps, et je vais l'utiliser, en quelque sorte en écho avec Anton.

Plus loin dans le texte, je vais répéter la loi afin de ne pas envoyer le lecteur sur Internet et partager mes réflexions sur son application dans la situation actuelle.

Différenciation et intégration des systèmes selon Herbert Spencer (1857)


Différenciation - séparation dans le processus d'évolution d'un système homogène (organismes biologiques, représentants d'une profession particulière, etc.) en deux ou plusieurs groupes qui diffèrent dans leurs paramètres. De plus, une telle fragmentation peut avoir plusieurs niveaux hiérarchiques. Il existe également un processus d'intégration inverse - l'unification de parties différenciées distinctes en un tout - y compris par la transition vers un super système.

La division en analystes, développeurs, architectes, testeurs et managers au cours des deux dernières décennies a permis d'unifier les processus de développement logiciel et d'assurer l'interchangeabilité du personnel. Un convoyeur de production a été créé, mais le prix de cette unification est le suivant: les développeurs, souvent méconnus du domaine, ont des compétences étroites limitées par leur spécialisation; Les analystes ne possèdent pas les compétences de développement, leurs définitions de tâches sont adaptées aux capacités de développement et ne forment pas et ne reflètent pas les exigences réelles du client (entreprise). En outre, d'autres employés qui ne sont pas non plus impliqués dans l'énoncé du problème et peuvent ne pas comprendre la source des exigences du client, sont impliqués dans les tests, etc. Tout cela augmente considérablement le coût de développement, réduit la probabilité que le client reçoive la bonne solution au meilleur prix. Bien sûr, ce n'est pas toujours le cas, et j'exagère un peu pour transmettre l'idée principale. Au siècle dernier (cela semble drôle de la bouche d'un mastodonte), une personne a facilement combiné le rôle d'architecte, d'analyste, de développeur et de testeur, comprenant ce que le client veut et comment il peut être mis en œuvre. Le processus de création de logiciels n'est pas parallélisé dans les rôles, mais dans les fonctionnalités. Agile revient à cette approche et les rôles se rejoignent.

La loi générale d'entropie de Clausius (1865)


L'entropie est une mesure du trouble qui augmente avec le temps.
Beaucoup de gens aiment apporter cette loi et en tirer des conclusions significatives sur les exemples d'équipes et de projets. On en conclut que tout tend naturellement au désordre. Par conséquent, vous devez mettre beaucoup d'efforts pour maintenir l'ordre et l'organisation des processus.

Ce n'est pas le cas. Les concepts d'origine sont remplacés. La deuxième loi de la thermodynamique est associée au processus de conversion de l'énergie là où elle fonctionne, et non aux activités humaines. Dans les systèmes naturels, au contraire, tout tend à la commande automatique. C'est le résultat de l'évolution. Regardez la nature, elle est harmonieuse et ordonnée. L'automatisation et les technologies de l'information sont également un processus évolutif. Le processus ne peut pas être chaotique, il y a quelqu'un qui le rationalisera ou le processus mourra.

Au total, il y aura toujours un chef de groupe qui l'organisera et le dirigera. Par conséquent, la tâche principale de la société est de trouver de tels leaders, de les développer et de leur fournir un champ d'activité.

Lois de Parkinson (1955)


  • Le travail remplit tout le temps alloué à sa mise en œuvre. Le manager cherche à multiplier les subordonnés, pas les rivaux. Les managers se créent mutuellement le travail.
  • Les coûts augmentent avec les revenus.
  • La croissance mène à la complexité et la complexité est la fin du chemin.

Ces lois sont applicables aux systèmes bureaucratiques, donc si vous vous en débarrassez en informatique, il n'y aura pas de problème de facto. Dans les startups, tout le monde travaille harmonieusement, efficacement et se concentre sur le résultat. Ne créez pas de départements informatiques, budgétisez des monstres informatiques. Seul un marché ouvert et la concurrence sont les critères de réussite de l'industrie informatique.

Le Magic Seven de Miller (1956)


La mémoire humaine à court terme, en règle générale, ne peut pas se souvenir et répéter plus de 7 ± 2 éléments.

Sur la base de cette loi, ses partisans limitent le nombre d'équipes à pas plus de 7 à 9 personnes. Je n'aime pas du tout les psychologues, comme les RH, donc toute leur recherche est une recherche et une description des modèles où ils sont absents.

Vous pouvez trouver beaucoup de littérature numérologique sur ce sujet, mais cela n'a rien à voir avec le nombre de personnes dans l'équipe. Ils devraient être exactement autant que nécessaire pour décomposer et terminer la tâche à temps. Ce peut être trois personnes, et peut-être vingt personnes.

Peut-être qu'en 1956, il était difficile de gérer 20 employés, mais en 2019, la technologie a simplifié ce processus, alors créez des équipes de toute taille pouvant être gérées par son leader et amenez-les au résultat.

Loi Conway (1968)


La loi stipule que les organisations qui conçoivent des systèmes les produisent en copiant les structures de communication qui se sont développées dans ces organisations.
Et son revers: les entreprises utilisant des systèmes logiciels sont limitées aux structures de communication qui copient ce système.

Cependant, les organisations modernes ne construisent pas leur entreprise sur la structure organisationnelle, mais sur des processus métier qui, à leur tour, changent très rapidement et s'adaptent aux facteurs externes. Les systèmes informatiques et la structure de l'entreprise sont devenus dynamiques et flexibles pour s'adapter à ces défis. Les organisations qui ne se sont pas adaptées aux changements de processus flexibles disparaîtront progressivement, incapables de résister à la concurrence.

Principe de Peter (1969)


Dans un système hiérarchique, chaque individu a tendance à s'élever au niveau de son incompétence.

Sans aucun doute, dans la verticale classique, un employé passe à son niveau d'incompétence et s'arrête, mais les structures hiérarchiques, les échelles de carrière ont montré leurs limites par rapport à des structures organisationnelles plus flexibles, alors ne créez pas de monstres, et «que la force vous accompagne».

Brooks Law (1975)


En ajoutant des ressources humaines, nous retardons l'achèvement du projet.

L'argument principal est que les nouveaux membres de l'équipe doivent être formés, immergés, ce qui distrait les principaux membres de l'équipe et, à l'inverse, ralentit le processus de développement. Il est généralement admis que l'immersion d'un nouvel employé prend en moyenne six mois et ce n'est qu'après cette période qu'il commence à donner des résultats précis.

Mais cela est également faux, comme c'est vrai. La loi fonctionne si nous considérons une équipe impraticable qui n'a pas le temps de faire les tâches nécessaires à temps, et la direction injecte des ressources, en supposant que cette méthode apportera des résultats. Dans les entreprises modernes, composées de professionnels motivés, avec de bonnes pistes, des rôles correctement répartis, des propriétaires de produits compétents, un système établi pour adapter les nouveaux employés, l'ajout ou le remplacement de nouveaux membres de l'équipe est flexible et augmente l'efficacité et la rapidité du résultat. Bien sûr, que l'expansion infinie de l'équipe est impossible, et elle n'est associée qu'à la capacité de décomposer les tâches en cours. À un moment donné, l'arriéré arrivera à une granularité minimale dans la parallélisation des tâches entre l'équipe.

Au total, on peut tirer la conclusion suivante, dans la «bonne» rue, avec les «bonnes» abeilles son expansion augmentera la quantité de miel produite.

Entropie des systèmes ouverts par Herman Haken (1977)


Le physicien théoricien allemand a étudié les systèmes ouverts et leur désir d'auto-organisation, la transformation du chaos en ordre et la synergie.

L'application appliquée de la théorie, comme celle de Clausius, était davantage considérée en physique, à savoir sur les électrons, les atomes, les molécules, les neutrons, les photons, mais puisque chaque physicien et mathématicien dans son âme est un philosophe, il a extrapolé sa théorie aux personnes et aux animaux.

Il est difficile de contester la théorie de l'auto-organisation, et je suis entièrement d'accord avec ce postulat. Il y a plus à la question de l'applicabilité de la théorie physique aux processus sociaux. Les systèmes ouverts sont, bien entendu, la voie principale vers leur efficacité en termes de flexibilité du changement.

Loi sur la croissance organique de Christopher Alexander (1977)


La loi de la croissance organique a été formulée pour l'architecture et repose sur l'utilisation d'un méta-plan en trois parties au lieu d'un plan général:
  • philosophie de croissance progressive;
  • un ensemble de modèles ou de lignes directrices générales de conception régissant la croissance;
  • influence locale sur la conception de ceux qui occupent l'espace.

Les objets évoluent progressivement et à travers de nombreux changements de lumière se transforment en communautés interconnectées. En utilisant des principes généraux, ils maintiennent l'harmonie extérieure, mais ne deviennent pas les mêmes.

Cela semble raisonnable et, sans ambiguïté, vous pouvez utiliser l'approche dans le monde des startups. Le rêve de l'employé - l'espace de bureau est conçu en harmonie fondamentale avec la nature de l'être humain et permet à une personne d'être une personne, souligne son être - il devient à la fois un individu et un membre du groupe.

Mais dans les grandes entreprises, les choses ne sont pas si romantiques, mais pragmatiques et économiques. Tout le monde optimise les coûts, utilise des sous-traitants, donc une équipe moderne est un groupe de personnes géographiquement réparties unies par une plate-forme technologique dans laquelle chaque individu peut être dans des conditions complètement différentes. La philosophie de croissance n'est déterminée que par la disponibilité de fonds pour la formation de telles équipes et la création de conditions d'acceptation des travaux effectués par chacun de ses membres.

Loi David Parnassus (1979)


En règle générale, les systèmes logiciels ne fonctionnent pas correctement tant qu'ils n'ont pas été utilisés, et plus d'une fois, dans des conditions de «combat».

Les informaticiens tentent d'appliquer les lois et les conclusions relatives au développement de logiciels à absolument n'importe quel domaine de leur vie. En termes d'équipes, cela ressemble à ceci: une nouvelle équipe composée de membres inconnus fonctionnera moins efficacement que ce qui avait déjà été établi. Le triomphe de l'évidence. Un chef expérimenté vaut mieux qu'un novice. Un athlète professionnel, mieux qu'un amateur. Le sens pratique de ces formulations est presque absent.

Loi Hofstadter (1980)


Cela prendra toujours plus de temps que prévu, même si vous connaissez la loi de Hofstadter.

L'évaluation des termes, du coût du projet, du travail, des tâches est toujours un processus non trivial dont la précision est déterminée par accord des parties. Et les deux parties qui fixent les délais et celles qui ne sont pas d'accord avec elles auront raison. Dans les conditions du marché, une estimation des termes est un accord fixe entre l'entrepreneur et le client.

Le principe de la fenêtre brisée de Wilson Kelling (1982)


Si un verre est brisé dans un bâtiment et que personne ne le remplace, après un certain temps, aucune fenêtre ne restera dans ce bâtiment.

Du point de vue des équipes et des organisations, le non-respect par les participants des normes de comportement acceptées incite les autres à oublier également les règles. Cependant, la déclaration de tous les jours: «l'anarchie est la mère de l'ordre», que beaucoup entendent, ne confirme qu'une des déclarations précédentes sur le désir des systèmes de commander automatiquement. Au lieu de normes rejetées, d'autres règles et lois surgissent et le système se stabilise. Si le bâtiment n'a pas besoin de maintenir l'ordre, dans le sens généralement accepté, il n'a pas de maître, alors les connaissances deviendront inutilisables, détruites, ou un nouveau propriétaire devrait apparaître pour rétablir et maintenir l'ordre.

Loi Goll (1986)


Un système de travail complexe est invariablement dérivé d'un système de travail simple. Un système sophistiqué conçu à partir de zéro ne fonctionne jamais. Et aucune amélioration ne le fera fonctionner. Vous devriez commencer avec un système de travail simple.

Une déclaration très controversée applicable aux technologies et aux approches du siècle dernier. Tout nouveau système moderne sera complexe, car notre monde est devenu technologiquement avancé. Et beaucoup d'entre eux sont créés à partir de zéro. En conséquence, un grand pourcentage de systèmes meurent, mais certains d'entre eux «tirent» et réussissent.

La loi de Sedov sur les compensations hiérarchiques (1988) et la loi d'entropie des équipes selon Nazaretyan (1991)


«La véritable croissance de la diversité au plus haut niveau est assurée par sa limitation effective aux niveaux précédents.»

"Loi de Sedov" dans le libellé de Nazaretyan: Dans un système complexe organisé hiérarchiquement, la croissance de la diversité au niveau supérieur est assurée par la restriction de la diversité aux niveaux précédents, et vice versa, la croissance de la diversité au niveau inférieur détruit le niveau supérieur d'organisation, c'est-à-dire le système en tant que tel périt.

Il existe une opinion selon laquelle l'effet de la loi Sedov est limité par l'ordre naturel d'auto-organisation des systèmes, c'est-à-dire de telle manière de les construire, lorsque les personnes qui assurent la construction du système ne font pas d'efforts ciblés pour contourner l'action de cette loi. En d'autres termes, l'effet de la loi Sedov peut être artificiellement limité, mais pas complètement arrêté. En outre, il y a de bonnes raisons de croire que la loi Sedov ne s'applique pas intégralement aux systèmes de très grande taille.

Une compréhension classique de ces lois signifie que le développement de fonctions et de structures situées à des niveaux supérieurs de systèmes n'est possible qu'avec la restriction des structures du niveau sous-jacent. De plus, il y a un équilibre entre les composants et le système dans son ensemble. Mais, malheureusement, les approches classiques de l'esprit d'équipe, la gestion de projet sont examinées par de nombreuses organisations en faveur des approches Agiles, où les restrictions sur les structures de niveau inférieur sont supprimées, ce qui améliore la qualité et l'efficacité, tant au niveau de l'équipe que pour l'ensemble de la structure.

Manifeste agile (2001)


Les gens et l'interaction sont plus importants que les processus et les outils
Un produit fonctionnel est plus important qu'une documentation complète
La collaboration avec le client est plus importante que la négociation des termes du contrat
La préparation au changement est plus importante que de suivre le plan d'origine.

Et ici, tout n'est «pas gloire à Dieu». Agile, c'est comme construire le communisme. Si tous les participants n'ont pas confiance, cela ne fera qu'empirer.

Numéro Dunbar (2010)


Le nombre de Dunbar est une limite sur le nombre de liens sociaux permanents qu'une personne peut maintenir. Ce nombre est défini comme 150 par extrapolation des relations entre les singes et les humains.

Un exemple commun qui est donné est un cercle d'amis proches, des unités militaires, qui n'est pas très lié à la gestion d'équipes réparties utilisant des plateformes technologiques. Réseaux sociaux et développement d'appareils mobiles, les plateformes remettent en cause cette affirmation.

Kelly Laws (2015)


L'échelle logicielle augmentera toujours proportionnellement aux ressources disponibles,

Dans chaque grand projet de développement, il y a un petit projet parallèle en dehors de la tâche principale.

Globalement, dans l'appareil bureaucratique, au gouvernement, c'est certainement vrai. Le système se chargera, justifiera son existence, trouvera un travail, car, dans le cas général, il ne se concentre pas sur le résultat final. Mais le monde informatique est un monde de réalisations créatives, d'innovations, d'indépendance. Dans ce monde, tout le monde peut être un créateur, par conséquent, lors de la rencontre avec ces phénomènes définis par ces postulats, il faut se débarrasser de l'une de leurs manifestations.

Total:


Au stade actuel de développement des méthodes et technologies pour la production de systèmes informatiques, tous les canons et croyances antérieurs peuvent être niés, douter de leur efficacité, mais n'oubliez pas de chercher quelque chose de nouveau. Maintenant, en fait, l'ère du postmodernisme commence dans le monde de la création de systèmes d'information.

, , , “”, , .

Source: https://habr.com/ru/post/fr457282/


All Articles