2.8 ابزارها

ابزار ها #

تکنولوژی‌ها و ابزارهایی وجود دارند که می‌توانند فرآیندهای ثبت و مدیریت یک زبان فراگیر را آسان‌تر کنند. به عنوان مثال، یک ویکی می‌تواند به عنوان یک واژه‌نامه برای ثبت و مستندسازی زبان فراگیر استفاده شود. یه همچین واژه‌نامه‌ای فرآیند ورود اعضای جدید تیم را آسان‌تر می‌کند (آنبردینگ)، زیرا به عنوان مرجعی برای دریافت اطلاعات درباره اصطلاحات حوزه کسب و کار مورد استفاده قرار می‌گیرد.

این خیلی مهم هست که نگهداری و بروزرسانی این واژه‌نامه را یک کار و تلاش مشترک درنظر بگیرید. هنگامی که یک زبان فراگیر تغییر می‌کند، باید تمام اعضای تیم تشویق شوند که بروند و واژه‌نامه را به‌روز کنند. این متضاد یک روش و رویکرد مرکزی است، که در آن تنها لیدرهای تیم یا معماران مسئولیت نگهداری واژه‌نامه را دارند.

با وجود اینهمه مزایای آشکار برای نگهداری فهرستی از اصطلاحات مرتبط با پروژه، باز هم محدودیت هایی ذاتی دارد. واژه‌نامه‌ها بیشتر برای “اسم‌ها” بکار میروند: نام اشیاء، فرآیندها، نقش‌ها و غیره.

اگرچه اسم‌ها اهمیت دارند، اما ثبت رفتارها هم کاری ضروری است. رفتار به تنهایی فقط یک فهرست از فعالیت های مرتبط با اسم‌ها نیست، بلکه منطق واقعی یک کسب و کار است با قوانین، فرضیات و اصولهای ثابت. ثبت و مستند سازی انتزاعات در یک واژه نامه بسیار سخت است. بنابراین، بهتره که واژه‌نامه‌ها در کنار ابزارهای دیگری استفاده شوند که بهترین شرایط برای ثبت رفتار را دارند؛ به عنوان مثال، استفاده از موارد استفاده یا تست‌های . Gherkin

تست‌های خودکار نوشته شده به زبان Gherkin نه تنها ابزاری عالی برای ثبت زبان فراگیر هستند، بلکه به عنوان یک ابزار مانند پلی بین متخصصان حوزه و مهندسان نرم‌افزار عمل می‌کند. متخصصان دامنه می‌توانند تست‌ها را بخوانند و با استفاده از تست ها میتوانند رفتار مورد انتظار سیستم را تأیید کنند. به عنوان مثال، تست زیر را که به زبان Gherkin نوشته شده است، ببینید:

1Feature: Adding items to the shopping cart
2
3Scenario: Adding a single item to the shopping cart
4    Given the user is on the product page
5    When the user clicks on the "Add to Cart" button for a product
6    Then the product should be added to the shopping cart
7    And the shopping cart should display the added product

و یا تست زیر را در نظر بگیرید:

1Feature: Notify the agent about a new support case
2
3Scenario: Notify the agent about a new support case
4   Given Vincent Jules submits a new support case saying:
5   "I need help configuring AWS Infinidash "
6   
7   When the ticket is assigned to Mr. Wolf
8   Then the agent receives a notification about the new ticket

مدیریت یک مجموعه آزمون مبتنی بر Gherkin در برخی موارد ممکن است چالش هایی داشته باشد، به ویژه وقتی شما در مراحل ابتدایی یک پروژه قرار دارید. اما بدونیم که ارزش بسیاری برای حوزه‌های کسب و کار پیچیده بوجود می آورد.

در نهایت، حتی ابزارهای تجزیه و تحلیل کد به صورت استاتیک وجود دارند که می‌توانند استفاده از اصطلاحات زبان فراگیر را تأیید کنند. یک نمونه معروف از چنین ابزاری، NDepend است.

اگرچه این ابزارها مفید هستند، اما مهم برای ما در استفاده واقعی از یک زبان فراگیر در تعاملات روزانه هستند. از این ابزارها فقط برای پشتیبانی از مدیریت زبان فراگیر استفاده کنید، اما انتظار اینکه مستندات را جایگزین استفاده واقعی کنند، نداشته باشید. همانطور که منشور اجایل می‌گه که، “افراد و تعاملات بیشتر از فرآیندها و ابزارها مهم هستند.”