Manifeste du programmeur rigide


Préface


Ce texte suppose que le lecteur est familier avec le soi-disant. manifeste agile de développement de logiciels et de ses soi-disant principes fondamentaux .


En ce moment, il y a un grand nombre de personnes qui acceptent ce "manifeste", sont d'accord avec lui et essaient même de l'appliquer. Mais pour moi personnellement, cela ressemble à une blague qui a traîné.



Table des matières


  1. Manifeste du programmeur rigide
  2. Principes fondamentaux du manifeste d'un programmeur exigeant
  3. Commentaires


Manifeste du programmeur rigide


Nous découvrons constamment des méthodes plus avancées de développement logiciel, en faisant du développement directement et en aidant les autres avec cela. Grâce au travail accompli, nous avons pu constater que:


Le concept est plus important que les nouvelles exigences.
La qualité est plus importante que la vitesse
Faire ce qui est plus important que de faire comme demandé


Autrement dit, sans nier l'importance de ce qui est à droite, nous apprécions toujours plus ce qui est à gauche.



Principes fondamentaux du manifeste d'un programmeur exigeant


La plus haute priorité pour nous est le travail fructueux et productif du programmeur, grâce à un plan réfléchi et à la technologie de développement logiciel suivante. Et, à la suite de tout cela, la satisfaction des résultats de leur travail.


La modification des exigences est possible, mais les nouvelles exigences doivent passer par les mêmes étapes de réflexion que toutes les anciennes exigences ont réussi. Le client doit être conscient que la modification des exigences peut entraîner le recyclage du produit.


Le produit ne doit être libéré que lorsqu'il atteint le niveau de qualité requis. Non, et il ne peut y avoir de périodicité fixe.


Chacun devrait comprendre ce qu'il fait et essayer de bien le faire. Les travaux infructueux sur les ventes ou la planification ne devraient pas se transformer en un flux sans fin d'amendements aux exigences ou aux délais, c'est-à-dire être transférés aux ingénieurs.


Des professionnels motivés devraient travailler sur le projet. Pour que le travail soit fait, créez des conditions, apportez un soutien et faites-leur pleinement confiance.


La communication directe ne doit pas interférer avec le travail direct. Tenez des réunions lorsque le flux de travail en a besoin.


Un produit de qualité est un indicateur clé de réussite.


Personne ne devrait travailler "pour l'usure". Vous devez travailler calmement, sans suivre de «rythmes» et de «cycles» déraisonnables. Le traitement est inacceptable.


Une attention constante au processus augmente la qualité, la fiabilité et la flexibilité du système.


Les meilleures exigences, solutions architecturales et techniques sont nées d'équipes qui travaillent étroitement sur les exigences, les solutions architecturales et techniques.


Il est utile d'organiser des présentations et des séminaires afin d'augmenter le niveau professionnel général et le degré d'implication dans le processus global.



Commentaires sur le manifeste


Le concept est plus important que les nouvelles exigences.


Avant de commencer le développement logiciel, deux choses doivent être faites:


  1. Développer un modèle logiciel;
  2. Pensez à l'architecture logicielle.

Si le client arrive soudainement avec de nouvelles exigences, alors vous ne devez pas être «prêt pour les changements», mais prêt à comparer les nouvelles exigences avec l'ancien concept.


Si les exigences tombent sur le modèle et l'architecture existants - très bien. Nous avons mis la tâche dans la file d'attente. Si vous ne suivez pas le rythme, vous devez soit ajuster ou rejeter les nouvelles exigences, soit modifier le modèle et l'architecture afin que les exigences leur incombent. Et c'est une nouvelle planification, une possible refonte de ce qui a déjà été fait, c'est-à-dire du temps et de l'argent.


Si le client ne comprend pas cela, alors il doit l'expliquer patiemment, et ne pas se précipiter au premier appel pour courir dans la direction indiquée par la vague fugitive de sa main royale. Sinon, au lieu de logiciels, un tas de déchets puants sortent.


La qualité est plus importante que la vitesse


En d'autres termes, le processus technique est plus important que le timing.


Sur un chantier de construction, ils portent des casques. Pourquoi? Parce qu'il faut de la sécurité.
Les développeurs de logiciels rédigent des tests et de la documentation. Pourquoi? Parce que c'est la technologie de production de logiciels.


De nombreux bureaux jettent des tonnes de logiciels inactifs ou fonctionnant mal, ahem, au lieu de passer un peu de temps à penser à tout cela. Et puis ils commencent à "corriger les bugs".


Avec une régularité alarmante, il y a des signaux que la prochaine application (ou même l'ensemble du système d'exploitation) cesse de fonctionner après la prochaine mise à jour. Qu'en est-il des mises à jour «techniques» hebdomadaires qui améliorent la «stabilité et la fiabilité globales»? Est-ce familier?


Nous créons nous-mêmes ce cercle vicieux: tout le monde est pressé, donc nous sommes pressés, donc tout le monde est pressé. Il est temps de s'arrêter et de réfléchir.


Faire ce qui est plus important que de faire comme demandé


. , X . , , X, , , , , , , A, B , , C.


— "" " ", , " ", "", " ". , — , .


, . , , , , , , X, , Y , . , , ? ?





P.S.


.


, , , "".




… , , — , ...

powerman



— . :)

DexterHD

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


All Articles