# Processus des changements critiques

Pour Mojaloop, le « processus des changements critiques » est proche du processus des changements consĂ©quents, mais avec une supervision supplĂ©mentaire et une exigence de validation formelle, compte tenu de la nature hautement risquĂ©e de ces changements dans notre environnement d’exploitation.

Pour les changements couverts par la définition de changement critique, suivez ce processus :

  1. Proposer un changement produit au Product Council Mojaloop :
    1. Créez une « Product Change Proposal » dans le dépÎt GitHub product-council ici (opens new window).
      1. Remplissez le modĂšle aussi complĂštement et rigoureusement que possible afin de garantir un traitement rapide.
    2. Envoyez un message sur le canal Slack #product-council (opens new window) pour demander une revue de votre proposition.
    3. Le Product Council discutera avec vous afin de comprendre oĂč votre proposition s'inscrit dans la feuille de route produit Mojaloop.
  2. Proposer les changements de code Ă  la Design Authority Mojaloop :
    1. Créez un ticket « Critical Change Proposal » dans le dépÎt design-authority-project ici (opens new window).
      1. Remplissez le modĂšle aussi complĂštement et rigoureusement que possible afin de garantir un traitement rapide.
    2. Envoyez un message sur #design-authority (opens new window) pour demander une revue.
    3. La design authority assignera au moins deux membres pour travailler avec vous.
  3. Participer Ă  une revue de conception :
    1. Les membres assignés vous guident dans un processus itératif de revue de conception.
    2. À l’issue du processus de revue de conception, les membres assignĂ©s procĂšdent Ă  la validation formelle (sign-off) de votre conception, ce qui autorise le dĂ©marrage de l’implĂ©mentation.
    3. AprĂšs cette validation formelle, vous pouvez poursuivre le changement.
  4. Implémenter et faire revue du code :
    1. Créez et traitez les tickets GitHub/Zenhub dans votre processus de workstream ; référencez les tickets Product Council et Critical Change pour la traçabilité.
    2. Lorsque vous ouvrez des pull requests, contactez les membres assignés de la Design Authority et demandez-leur de lancer la phase de revue de code.
    3. Soyez prĂȘt Ă  rĂ©pondre aux questions et Ă  effectuer des ajustements au cours de cette Ă©tape.
    4. Une fois les PR approuvĂ©es par les membres assignĂ©s, la fonctionnalitĂ© est prĂȘte Ă  ĂȘtre intĂ©grĂ©e dans le processus de release officiel Mojaloop.
    5. Les membres assignés enregistrent formellement leur revue d'approbation de votre ou vos pull requests.
    6. Tout changement apportĂ© Ă  la conception pendant l’implĂ©mentation doit ĂȘtre consignĂ© sur le ticket de proposition.

Processus des changements critiques

# À quoi s’attendre pendant la revue de conception

La Design Authority Mojaloop a la responsabilitĂ© de s’assurer que les risques sont identifiĂ©s et attĂ©nuĂ©s de maniĂšre appropriĂ©e, et que nos normes Ă©tablies en matiĂšre d’outils, de motifs et de pratiques sont respectĂ©es. Les membres assignĂ©s sont lĂ  pour vous aider Ă  obtenir le meilleur rĂ©sultat possible pour vous-mĂȘme et pour l’ensemble de la communautĂ© Mojaloop.

Ils vous aident à identifier et réduire les risques et à aligner la conception sur les pratiques établies.

  1. Il vous sera demandĂ© d’exposer les raisons de votre changement proposĂ©, d’expliquer ce que vous souhaitez atteindre et comment vous entendez y parvenir.
    1. Vous devez pouvoir vous rĂ©fĂ©rer Ă  un ticket GitHub du Product Council montrant que le travail a Ă©tĂ© discutĂ© et que le changement est acceptĂ©. Notez que le Product Council a la responsabilitĂ© de maintenir une feuille de route cohĂ©rente pour notre technologie et vous guidera sur la façon la plus appropriĂ©e d’atteindre vos objectifs mĂ©tier dans le contexte Mojaloop. Le Product Council peut consulter la Design Authority dans le cadre de ce processus.
    2. Vous expliquerez l’implĂ©mentation, les composants impactĂ©s, les Ă©volutions et les nouveaux composants. PrĂ©sentez au minimum :
      1. Des diagrammes de sĂ©quence UML illustrant chaque composant significatif impliquĂ© dans vos cas d’usage et leurs interactions pour atteindre les rĂ©sultats souhaitĂ©s. Veillez Ă  inclure les cas d’erreur ainsi que les comportements nominaux attendus.
      2. Le détail des composants tiers utilisés.
      3. Le détail des changements sur les composants existants (comportement actuel vs souhaité).
    3. Les membres poseront probablement de nombreuses questions pour comprendre la proposition et son contexte.
  2. Ils vous aideront Ă  identifier d’autres contributeurs, Ă©quipes ou parties prenantes Ă  impliquer pour Ă©viter des effets de bord en amont ou en aval et tenir compte d’évolutions ailleurs dans le systĂšme. Mojaloop est un systĂšme de grande envergure et il est souvent utile de faire appel Ă  des experts d’autres domaines pour apporter leur assistance.
  3. L’objectif principal de votre ou vos membres assignĂ©s de la Design Authority est d’identifier et d’attĂ©nuer les risques que vous n’avez peut-ĂȘtre pas repĂ©rĂ©s.
    1. Ils peuvent suggérer des atténuations ou des modifications pour respecter les contraintes Mojaloop.