2.9 چالش ها

چالش ها #

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

هر چه تجربه شما در این فرایند بیشتر شود، متوجه خواهید شد که این فرآیند اغلب شامل کارکردن به همراه متخصصان دامنه برای همکاری در پیداکردن مدل نیست. ممکن است حتی در درک متخصصان دامنه از حوزه کسب و کار، ابهامات و حتی نقاط نامشخصی(نقاط تاریک) وجود داشته باشد؛ به عنوان مثال اینکه فقط حالات و مسیر های کسب و کار را درنظر بگیریم و هیچ استثنایی و یا هیچ شرط و قانونی را در نظر نگیریم، نشان میدهد که فقط این فرایند برای تولید یک مدل نیست.

علاوه بر این، ممکن است با مفاهیمی از حوزه کسب و کار روبرو شوید که اصلا تعریف رسمی ندارند. پرسیدن سوالات درباره ماهیت حوزه کسب و کار اغلب این تضادها و نقاط تاریک را روشن می‌کند. این موضوع به ویژه برای زیردامنه های اصلی بسیار شایع تر است. بنابراین در چنین مواردی، فرآیند یادگیری دوطرفه است - شما به متخصصان حوزه در درک بهتر کمک می‌کنید.

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

با این حال، اگرچه اصول طراحی دامنه محور این زبان را مشخص نمی‌کند، لزوماً دامنه تجاری را به طور مؤثر منعکس نمی کند. به عنوان مثال، ممکن است از اصطلاحات فنی مانند نام‌های جداول پایگاه داده استفاده شده است، بنابراین تغییر زبانی که در حال حاضر در یک سازمان استفاده می‌شود، آسان نیست.

ابزار اساسی در چنین شرایطی، صبر است. شما باید اطمینان داشته باشید که زبان صحیح در جاهایی استفاده می‌شود که کنترل و تغییر آن آسان است: در مستندات و کد .

در پایان، سوالی که من را در کنفرانس‌ها در مورد زبان فراگیر مورد سؤال قرار می‌دهند این است که اگر یک شرکت در یک کشور غیر انگلیسی زبان باشد، چه زبانی باید استفاده کنیم؟ نصیحت من این است که حداقل از اسم‌های انگلیسی برای نامگذاری اشیاء حوزه کسب و کار استفاده کنید. این کار باعث کاهش استفاده از همان اصطلاحات در کد خواهد شد.