
仿§å€æŽã§çäžããªãââæ±ºå®ãã°ïŒADRïŒãâ1æâã§æ®ãæ¹æ³
仿§å€æŽã¯ãæªã§ã¯ãããŸããã
ããããè¯ããããã¯ãã»ã©éäžã§å€ãããŸããåžå ŽãåããåŠã³ãåºãããŠãŒã¶ãŒã®å£°ãéãŸããæè¡çãªå¶çŽãèŠããŠããã
åé¡ã¯ãå€ããããšãã§ã¯ãªããå€ãã£ãçç±ãšæ±ºãæ¹ãæ®ããªãããšã§ãã
ããªãã§ãããªã£ããã ã£ãïŒã
ãèª°ãæ±ºãããã ã£ãïŒã
ãåã¯å¥æ¡ãããªãã£ãïŒã
ãããŸããæ»ãã®ïŒã
ããããäŒè©±ãå¢ããããçäžã®å
¥å£ã«ç«ã£ãŠããŸãã
ãããŠãã®çäžã¯ãã³ãŒãã®å質以åã«ãèšæ¶ã®å質ã§èµ·ããŸãã
ããã§å¹ãã®ããADRïŒArchitecture Decision RecordïŒââæ±ºå®ãã°ã§ãã
ãã ãADRãšããèšèãåºããšãæ¥ã«âéãéçšâã«èŠããããšããããŸãã
ãã³ãã¬ãå¢ãããã¬ãã¥ãŒãå¢ãããããã¥ã¡ã³ããå¢ããã
çµæãç¶ããªãã
ã ããã仿¥ã®èšäºã¯ã1æãã«çµããŸãã
仿§å€æŽã§çäžããªãããã®æ±ºå®ãã°ããA4 1æïŒãŸãã¯1ç»é¢ïŒã§æ®ãæ¹æ³ã
ããã»ã¹ãå¢ããã®ã§ã¯ãªããææ»ããæžããããã®æå°èšèšãšããŠãŸãšããŸãã
çäžã®å€ãã¯ã決å®ãã§ã¯ãªããåè°è«ããåå
仿§å€æŽããããšãå¿
ãè°è«ãèµ·ããŸãã
ãã®è°è«èªäœã¯å¥å
šã§ããåé¡ã¯ãè°è«ãäœåºŠãç¹°ãè¿ãããããšã
ç¹°ãè¿ãããçç±ã¯åçŽã§ãéå»ã®æ±ºå®ãåå©çšã§ããªãããã§ãã
åæïŒå¶çŽïŒãäœã ã£ããæãåºããªã
æ€èšããéžæè¢ãæ®ã£ãŠããªã
äœãåªå ããŠæ±ºããããææ§
âãªããã®æ¡ã«ãªã£ããâã®çç±ããªã
åŸããåå ãã人ã«èª¬æã§ããªã
ã€ãŸããæ±ºå®ãããã®å Žéããã«ãªã£ãŠããã
ãã®çµæãåãè«ç¹ãäœåºŠãåããäŒè°ãå¢ããææ»ããå¢ããè²¬ä»»ã®æŒãä»ãåããå§ãŸãã
çäžã¯ã仿§å€æŽã®é »åºŠã§ã¯ãªããåè°è«ã®é »åºŠã§èµ·ããŸãã
ADRã¯ãæ£ããããããåå©çšæ§ããæ®ãããã«ãã
ADRã¯ãç«æŽŸãªèšèšæžã§ã¯ãããŸããã
ããšããèªãã 人ããåœæã®å€æãåçŸã§ãããããšãç®çã§ãã
ããã§å€§äºãªã®ã¯ãå®å
šãªæ
å ±ãæ®ãããšã§ã¯ãªãã倿ã«å¿
èŠãªèŠçŽ ãæ®ãããšã
ã ããâ1æâã§ååã§ãããããã1æã®ã»ããç¶ããŸãã
â1æADRâãåããŠããæ±ºå®ã¯ã©ãã
ãŸããå
šéšã®æ±ºå®ãADRã«ããããšãããšç Žç¶»ããŸãã
æžãã¹ã決å®ã¯ãæªæ¥ã®ææ»ããçºçãããããæ±ºå®ã ãã§ãã
ç®å®ã¯æ¬¡ã®ã©ããã«åœãŠã¯ãŸããšãã
圱é¿ç¯å²ãåºãïŒè€æ°ã¢ãžã¥ãŒã«ãè€æ°ããŒã ãéçšãŸã§æ³¢åïŒ
åŸæ»ãã³ã¹ããé«ãïŒDBãAPIãããŒã¿ç§»è¡ãå¥çŽãSLAïŒ
ãã¬ãŒããªããããïŒæ§èœ vs ä¿å®æ§ãé床 vs å質ãçæ vs é·æïŒ
æèŠãå²ããïŒåæåœ¢æãå¿ èŠã ã£ãïŒ
仿§å€æŽãèµ·ããããé åïŒèŠä»¶ãæºãããæªç¥ãå€ãïŒ
éã«ãåãªãå®è£
詳现ã埮å°ãªå€æŽã¯æžããªãã
ADRã¯âéãâã§ã¯ãªãâå¹ãç®âã§éžã¶ã®ãã³ãã§ãã
仿§å€æŽã§çäžããªãâ1æADRâ
ããããæ¬é¡ã§ãã
ããã ãåããã°ãåŸãããåè°è«ãããªããŠæžã確çãäžæ°ã«äžãããŸãã
1æADRïŒ1ç»é¢ïŒãã³ãã¬
1) ã¿ã€ãã«ïŒæ±ºå®ã®ååïŒ
äŸïŒãŠãŒã¶ãŒæ€çŽ¢ã®ãœãŒã仿§ããé¢é£åºŠåªå
ãã«å€æŽãã
2) ã¹ããŒã¿ã¹
Proposed / Accepted / SupersededïŒçœ®ãæãïŒ / Deprecated
â»çœ®ãæãããããªã³ã¯ã§è¿œããããã«ãã
3) ã³ã³ããã¹ãïŒèæ¯ïŒâ 5è¡ä»¥å
äœãåé¡ã ã£ãã
ã©ããªå¶çŽãããã
äœãå€ãã£ãã®ãïŒæ°æ å ±ïŒ
4) 決ããåãïŒDecisionïŒâ 1è¡
äŸïŒãæ€çŽ¢ã®ããã©ã«ããœãŒããäœã«ãããã
5) å€æåºæºïŒConstraints / CriteriaïŒâ æå€§3ã€
äŸïŒ
æ€çŽ¢äœéšïŒCVRïŒãåªå
æ¢åãŠãŒã¶ãŒã®æ··ä¹±ãæå°å
å®è£ /éçšã³ã¹ããå¢ããããªã
6) éžæè¢ïŒOptionsïŒâ A/B/Cã§åå
AïŒçŸç¶ç¶æ
BïŒé¢é£åºŠåªå ïŒæšå¥šïŒ
CïŒãŠãŒã¶ãŒããšã«åŠç¿ïŒå°æ¥æ¡ïŒ
åéžæè¢ã«ãã¡ãªãã/ãã¡ãªãããç®æ¡æžãã§2ïœ3è¡ã
7) 決å®ïŒOutcomeïŒ
æ¡çšæ¡ïŒB
çç±ïŒå€æåºæºã«ç §ãããŠæããã©ã³ã¹ãè¯ã
8) 圱é¿ç¯å²ïŒConsequencesïŒ
å€ãããã®ïŒAPIãDBãUIãéçšããµããŒã
ãªã¹ã¯ïŒããã©ãŒãã³ã¹ãååž°ãåãåããå¢
äŸåïŒããŒã¿ãä»ããŒã ãå€éšå¥çŽ
9) ããŒã«ããã¯/眮ãæãæ¡ä»¶ïŒExit / RevisitïŒ
ãããçäžé²æ¢ã®èã§ãã
ãäœãèµ·ãããèŠçŽããããå
ã«æžãã
äŸïŒ
ææšXãY%æªåãããæ»ã
äŸå€ã±ãŒã¹ãäžå®æ°ãè¶ ããã忀èš
âæã®ABãã¹ãçµæã§ç¢ºå®
10) æ±ºå®æ¥ã»åå è ã»ãªã³ã¯
Date
DecidersïŒæ±ºå®è ïŒ
ContributorsïŒè°è«åå è ïŒ
é¢é£PR/Issue/Doc/Slackã¹ã¬
ãã®10é
ç®ã§ãååã§ãã
é·æã§ããå¿
èŠã¯ãããŸããã倧äºãªã®ã¯â空æ¬ããªãâããšã§ãã
ãªããã®ãã³ãã¬ãçäžãæ¢ããã®ã
1) ã誰ãããäœããããªãããåºå®ã§ãã
çäžã§ã¯ãè°è«ã®å
容ããããè²¬ä»»ã®æåšããææ§ã«ãªããŸãã
決å®è
ãšæ±ºå®çç±ãæ®ã£ãŠããã°ã責任远åã§ã¯ãªãæ¹åã«åãããŸãã
2) ãåºæºããæ®ããšãè°è«ãçããªã
åŸããåå ãã人ãéãæèŠãæã€ã®ã¯èªç¶ã§ãã
ã§ãåºæºãæ®ã£ãŠããã°ãè°è«ã¯ã奜ã¿ãã§ã¯ãªããåºæºã®æŽæ°ãã«å€ãããŸãã
ããã建èšçã§ãã
3) ã眮ãæãæ¡ä»¶ãããããšãææãæžã
仿§å€æŽãæãã®ã¯ãâæ»ããªãâæèŠãããããã§ãã
èŠçŽãæ¡ä»¶ããããšã決å®ã¯è³ãã§ã¯ãªãå®éšã«ãªããŸãã
ããŒã ãåããããã«ãªããŸãã
éçšã§ã€ãŸãããã€ã³ããšå¯Ÿç
ã€ãŸãã1ïŒæžãã®ãé¢åã§ç¶ããªã
察çïŒæåãããæžã人ããåºå®ããªãã
決å®ã®ææ¡è
ãæžããã¬ãã¥ãŒã§è£ãã
ADRã¯è°äºé²ã§ã¯ãªããæææ±ºå®ã®ææç©ã§ãã
ã€ãŸãã2ïŒå®ç§ã«æžãããšããŠéããªã
察çïŒâ5åã§æžããâããšãå®ãã
1æã«åãŸããªããªããè«ç¹ã倧ããããããæ±ºå®ãåå²ã§ãããµã€ã³ã§ãã
ã€ãŸãã3ïŒADRãèªãŸããªã
察çïŒãªã³ã¯ã®å°ç·ã匷å¶çã«äœãã
PRãã³ãã¬ã«ãé¢é£ADRãæ¬ãäœã
Issueã«ADRãªã³ã¯ã貌ã
仿§å€æŽã®äŒè°æéæã«ADRãªã³ã¯ãå ¥ãã
ãããã«è¡ãã°ãããããäœããšãæåã«ãªããŸãã
å®åã§æãå¹ãã³ãïŒADRã¯ãè°è«ã®åŸãã§ã¯ãªããè°è«ã®åãã«äœã
ADRãâæ±ºãŸã£ãåŸã®æž
æžâã«ãããšãã ãããæžãããŸããã
ããããã¯éã§ãã
ãŸãADRãProposedã§äœã
è°è«ã¯ADRã«ã³ã¡ã³ãããŠé²ãã
決ãŸã£ããAcceptedã«ãã
ãããããšãADRã¯ããã¥ã¡ã³ãã§ã¯ãªãâè°è«ã®åšâã«ãªããŸãã
決å®ãèªç¶ã«æ®ããŸãããããæãã©ã¯ã§ãã
ãŸãšãïŒä»æ§å€æŽã«åŒ·ãããŒã ã¯ãèšæ¶ããä»çµã¿ã«ããŠãã
仿§å€æŽã§çäžããªãããŒã ã¯ãç¹å¥ã«åªç§ã ããã§ã¯ãããŸããã
ãæ±ºããããšããã人ã®èšæ¶ã«é Œãããåå©çšã§ããåœ¢ã§æ®ããŠããã ãã§ãã
1æADRã¯ããã®æå°åäœã§ãã
èæ¯ïŒã³ã³ããã¹ãïŒ
決ããåã
å€æåºæºïŒæå€§3ã€ïŒ
éžæè¢
決å®ãšçç±
圱é¿ç¯å²
èŠçŽãæ¡ä»¶
決å®è ãšãªã³ã¯
ããã ãã§ãåè°è«ã¯æžããææ»ãã¯æžããè²¬ä»»ã®æŒãä»ãåããæžããŸãã
ãããŠäœããã仿§å€æŽãâæããªããªãâã
å€åãå€ãæä»£ã«ã仿§å€æŽããŒãã«ããããšã¯ã§ããŸããã
ã§ããçäžã¯æžãããŸãã
ãã®ããã«å¿
èŠãªã®ã¯ãæ ¹æ§ã§ã¯ãªããæ±ºå®ãã°ãšããä»çµã¿ã§ãã
次ã«èªã
ã¯ãããŠã®æ¹ãžïŒ