Architecture Decision Record

Active theme: Light

← قالب‌های رکورد تصمیم

{عنوان خود را اینجا بنویسید}

!!! info

**وضعیت**: { پیشنهادشده | در دست بازبینی | پذیرفته‌شده |  ردشده | جایگزین‌شده | منسوخ }

**به‌روزرسانی**: {YYYY-MM-DD}

خلاصه

{این «خلاصهٔ اجرایی» یا «معرفی کوتاه» ADR شماست. در چند جملهٔ مختصر (معمولاً 2 تا 4)، مسئله، پرسش یا فرصت اصلی را که این ADR به آن می‌پردازد به‌روشنی بیان کنید. اشاره‌ای کوتاه به تصمیم گرفته‌شده یا حوزهٔ تمرکز بگنجانید. هدف این است که به خوانندگان کمک شود به‌سرعت بفهمند این ADR دربارهٔ چیست و تصمیم بگیرند که آیا به آن‌ها مربوط است، بدون نیاز به خواندن کل سند. آن را مانند چکیدهٔ یک مقالهٔ فنی یا یک مقدمهٔ بسیار کوتاه بر موضوع اصلی در نظر بگیرید.}

عوامل

{این بخش توضیح می‌دهد که چرا این تصمیم اکنون گرفته می‌شود. انگیزه‌ها، نیازها یا مسائل اصلی را که این تصمیم معماری را ضروری می‌کنند به‌روشنی بیان کنید. به دلایل و فشارهای زیربنایی فکر کنید.}

  • {مثلاً در حال توسعهٔ قابلیت/توانایی جدیدی هستیم که نیاز دارد...}

  • {مثلاً باید کارایی و دسترس‌پذیری را بهبود دهیم یا بدهی را برطرف کنیم...}

  • {مثلاً بازخورد کاربران نشان می‌دهد که...}

  • {مثلاً رویکرد کنونی این محدودیت‌ها را تحمیل می‌کند...}

گزینه‌ها

{اینجا گزینه‌های مختلفی را که بررسی می‌کنید فهرست می‌کنید. به واقعیت‌ها بچسبید و از نظرات پرهیز کنید؛ تحلیل در بخش بعد می‌آید. یک توضیح مختصر و پیوند به مستندات یا نمونه‌های مرتبط بگنجانید.

همهٔ جایگزین‌های مهمی را که بررسی کرده‌اید، حتی اگر در نهایت انتخاب نشده باشند، بگنجانید. هدف این است که قبل از ورود به ارزیابی، درک روشن و بی‌طرفانه‌ای از هر جایگزین به خوانندگان داده شود.}

{عنوان گزینه 1}

{گزینه را توصیف کنید، خلاصه‌ای بدهید، واقعیت‌ها را فهرست کنید، پیوند بدهید و غیره.}

{عنوان گزینه n}

...

تحلیل گزینه‌ها

{اینجا هر گزینه‌ای را که در بخش گزینه‌ها ارائه شد با نگاه انتقادی ارزیابی می‌کنید. برای هر گزینه، نگاهی متوازن به مزایا، معایب و هر ملاحظه یا مصالحهٔ مرتبط دیگر ارائه دهید. مشخص باشید و، تا حد امکان، نکات خود را به عوامل ربط دهید.

جنبه‌هایی مانند این‌ها را در نظر بگیرید:

  • هزینه (توسعه، بهره‌برداری، مجوزدهی)

  • پیچیدگی (پیاده‌سازی، نگهداری، منحنی یادگیری)

  • ریسک‌ها (فنی، عملیاتی، امنیتی)

  • همسویی با اصول معماری یا استانداردهای موجود

  • تأثیر بر کارایی، مقیاس‌پذیری، قابلیت استفاده، قابلیت نگهداری، امنیت و غیره

به تعداد لازم عبارت مزیت/عیب/سایر بگنجانید. }

{ارزیابی گزینه 1}

  • مزیت: {یک مزیت یا فایدهٔ مشخص این گزینه.}

  • عیب: {یک عیب، ریسک یا هزینهٔ مشخص مرتبط با این گزینه.}

  • سایر: {نکته‌ای مرتبط که به‌طور دقیق مزیت یا عیب نیست.}

{ارزیابی گزینه n}

...

توصیه

{اینجا تصمیم نهایی را به‌روشنی بیان می‌کنید و گزینهٔ انتخاب‌شده را صریحاً نام می‌برید. با جزئیات توضیح دهید که چرا این گزینه انتخاب شد. باید به‌روشنی بیان کنید که گزینهٔ انتخاب‌شده چگونه به بهترین شکل به عوامل پاسخ می‌دهد و نیازمندی‌های کلیدی را برآورده می‌کند یا مسئلهٔ بیان‌شده را حل می‌کند.}

پیامدها

{این بخش اختیاری است.}

{اکنون که تصمیم گرفته شده است، چه نتایج و تأثیراتی، هم مثبت و هم منفی، انتظار می‌رود؟ با اتخاذ این تصمیم چه محدودیت‌ها، هزینه‌ها یا ریسک‌های شناخته‌شده‌ای پذیرفته می‌شود؟ این تصمیم چگونه بر ذی‌نفعان مختلف، سیستم‌های دیگر، شیوه‌های توسعه، رویه‌های عملیاتی یا تجربهٔ کاربری تأثیر خواهد گذاشت؟}

  • مزیت: {یک نتیجهٔ مثبت یا فایدهٔ مشخص که از این تصمیم انتظار می‌رود.}

  • عیب: {یک جنبهٔ منفی، هزینه یا ریسک مشخص پذیرفته‌شده که از این تصمیم ناشی می‌شود.}

  • سایر: {پیامدی که به‌طور دقیق مزیت یا عیب نیست.}

تأیید

{این بخش اختیاری است.}

{شرح دهید که اجرای این تصمیم چگونه تأیید خواهد شد و رعایت مستمر آن چگونه تضمین می‌شود. این کار به نشان دادن این کمک می‌کند که تصمیم صرفاً نظری نیست بلکه فعالانه به اجرا درمی‌آید و پایش می‌شود.

چگونه بررسی می‌کنید که تصمیم به‌درستی اجرا شده است؟ (مثلاً بازبینی‌های کد، آزمون‌های مشخص، نمایش‌ها، بازبینی همتایان).

رعایت این تصمیم در طول زمان چگونه حفظ می‌شود؟ (مثلاً بررسی‌های خودکار، ممیزی‌های دوره‌ای، به‌روزرسانی رهنمودهای تیم، آموزش).

آیا سنجه‌ها یا شاخص‌های مشخصی وجود دارد که نشان دهد تصمیم به نتایج مثبت مورد نظر خود می‌رسد؟ (مثلاً بنچمارک‌های کارایی، نرخ‌های پذیرش، کاهش خطاهای مشخص، امتیازهای بازخورد کاربر).

چه کسی مسئول نظارت بر این است و اگر تصمیم رعایت نشود چه اتفاقی می‌افتد؟}

اطلاعات بیشتر

{این بخش اختیاری است.}

{از این بخش برای ارائهٔ هر اطلاعات تکمیلی که از تصمیم پشتیبانی می‌کند، زمینه می‌افزاید یا اقدامات آینده را هدایت می‌کند استفاده کنید. پیوند به تصمیم‌ها و منابع دیگر نیز ممکن است اینجا بیاید.

می‌توانید به‌اختصار یادآوری کنید چه کسانی در فرایند تصمیم‌گیری مشارکت داشتند و اگر اجماعی حاصل شد چگونه حاصل شد. همچنین ممکن است بخواهید یک بازهٔ زمانی یا رویدادهای مشخصی را پیشنهاد دهید که ممکن است در آینده بازبینی مجدد این تصمیم را برانگیزند.}