توضیحات

نظر

نظر

  • امتیاز : 00/10
  • به دیگران توصیه می‌کنم :
  • دوباره می‌خوانم :
  • ایده برجسته :
  • تاثیر در من :
  • نکات مثبت :
  • نکات منفی :

مشخصات

  • نویسنده :
  • انتشارات :

بخش‌هایی از کتاب

فصل اول: تحلیل حوزه‌های کسب‌وکار

حوزه کسب‌وکار چیست؟

حوزه کسب‌وکار (Business Domain) حوزه اصلی فعالیت یک شرکت را تعریف می‌کند. به طور کلی، این خدمتی است که شرکت به مشتریان خود ارائه می‌دهد. به عنوان مثال:

  • FedEx خدمات پست پیشتاز ارائه می‌دهد
  • Starbucks بیشتر به خاطر قهوه‌اش شناخته می‌شود
  • Walmart یکی از شناخته‌شده‌ترین فروشگاه‌های خرده‌فروشی است

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

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

زیردامنه چیست؟

برای دستیابی به اهداف حوزه کسب‌وکار خود، یک شرکت باید در چندین زیردامنه (Subdomain) عمل کند. زیردامنه یک حوزه دقیق‌تر از فعالیت کسب‌وکار است. تمام زیردامنه‌های یک شرکت، حوزه کسب‌وکار آن را تشکیل می‌دهند: خدمتی که به مشتریان خود ارائه می‌دهد.

پیاده‌سازی یک زیردامنه واحد برای موفقیت یک شرکت کافی نیست؛ این فقط یک بلوک سازنده در سیستم کلی است. زیردامنه‌ها باید با یکدیگر تعامل کنند تا به اهداف شرکت در حوزه کسب‌وکارش برسند.

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

انواع زیردامنه‌ها

درست همانطور که یک سیستم نرم‌افزاری از اجزای معماری مختلف تشکیل شده است—پایگاه‌های داده، برنامه‌های فرانت‌اند، سرویس‌های بک‌اند و غیره—زیردامنه‌ها ارزش‌های استراتژیک/کسب‌وکاری متفاوتی دارند. طراحی مبتنی بر دامنه بین سه نوع زیردامنه تمایز قائل می‌شود: اصلی (Core)، عمومی (Generic) و پشتیبان (Supporting). بیایید ببینیم از دیدگاه استراتژی شرکت چگونه با هم متفاوت هستند.

زیردامنه‌های اصلی (Core Subdomains)

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

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

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

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

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

زیردامنه‌های عمومی (Generic Subdomains)

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

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

زیردامنه‌های پشتیبان (Supporting Subdomains)

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

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

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

مقایسه زیردامنه‌ها

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

نوع زیردامنه مزیت رقابتی پیچیدگی تغییرپذیری پیاده‌سازی مسئله
اصلی (Core) بله بالا بالا داخلی جالب
عمومی (Generic) خیر بالا پایین خرید/اتخاذ حل‌شده
پشتیبان (Supporting) خیر پایین پایین داخلی/برون‌سپاری واضح

مزیت رقابتی

تنها زیردامنه‌های اصلی مزیت رقابتی به شرکت ارائه می‌دهند. زیردامنه‌های اصلی استراتژی شرکت برای متمایز کردن خود از رقبایش هستند.

زیردامنه‌های عمومی، طبق تعریف، نمی‌توانند منبعی برای مزیت رقابتی باشند. اینها راه‌حل‌های عمومی هستند—همان راه‌حل‌هایی که توسط شرکت و رقبایش استفاده می‌شود.

زیردامنه‌های پشتیبان نیز موانع ورود پایینی دارند و نمی‌توانند مزیت رقابتی ارائه دهند. معمولاً یک شرکت برایش مشکلی نیست که رقبایش زیردامنه‌های پشتیبان او را کپی کنند—این موضوع بر رقابت‌پذیری آن در صنعت تأثیری نخواهد گذاشت.

پیچیدگی

از دیدگاه فنی‌تر، شناسایی زیردامنه‌های سازمان مهم است، زیرا انواع مختلف زیردامنه‌ها دارای سطوح مختلفی از پیچیدگی هستند. هنگام طراحی نرم‌افزار، باید ابزارها و تکنیک‌هایی را انتخاب کنیم که با پیچیدگی الزامات کسب‌وکار سازگار باشند.

زیردامنه‌های پشتیبان: منطق کسب‌وکار ساده است. اینها عملیات اساسی ETL و رابط‌های CRUD هستند و منطق کسب‌وکار واضح است. اغلب، فراتر از اعتبارسنجی ورودی‌ها یا تبدیل داده‌ها از یک ساختار به ساختار دیگر نمی‌رود.

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

زیردامنه‌های اصلی: پیچیده هستند. آن‌ها باید تا حد امکان برای رقبا سخت باشند که کپی کنند—سودآوری شرکت به آن بستگی دارد. به همین دلیل است که از نظر استراتژیک، شرکت‌ها به دنبال حل مسائل پیچیده به عنوان زیردامنه‌های اصلی خود هستند.


فصل اول - بخش دوم: شناسایی مرزهای زیردامنه‌ها و تحلیل دامنه

شناسایی مرزهای زیردامنه‌ها

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

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

نقطه شروع خوب: واحدهای سازمانی

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

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

تقطیر زیردامنه‌ها (Distilling Subdomains)

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

بیایید به مثال دپارتمان خدمات مشتری برگردیم. اگر عملکرد داخلی آن را بررسی کنیم، خواهیم دید که یک دپارتمان خدمات مشتری معمولی از اجزای دقیق‌تر تشکیل شده است، مانند:

  • سیستم Help Desk
  • مدیریت شیفت و زمان‌بندی
  • سیستم تلفنی
  • و غیره

زمانی که به عنوان زیردامنه‌های جداگانه نگاه می‌شوند، این فعالیت‌ها می‌توانند از انواع مختلفی باشند:

  • سیستم‌های Help Desk و تلفنی: زیردامنه‌های عمومی هستند
  • مدیریت شیفت: یک زیردامنه پشتیبان است
  • الگوریتم مسیریابی: ممکن است یک شرکت الگوریتم نابغه‌ای برای مسیریابی حوادث به نمایندگانی که با موارد مشابه در گذشته موفق بوده‌اند، توسعه دهد

الگوریتم مسیریابی نیازمند تحلیل موارد ورودی و شناسایی شباهت‌ها در تجربیات گذشته است—هر دوی اینها وظایف غیربدیهی هستند. از آنجا که الگوریتم مسیریابی به شرکت اجازه می‌دهد تجربه مشتری بهتری نسبت به رقبایش ارائه دهد، الگوریتم مسیریابی یک زیردامنه اصلی است.

دپارتمان خدمات مشتری
├── سیستم Help Desk (عمومی)
├── سیستم تلفنی (عمومی)
├── مدیریت شیفت (پشتیبان)
└── الگوریتم مسیریابی هوشمند (اصلی) ⭐

از طرف دیگر، ما نمی‌توانیم به طور نامحدود به دنبال بینش‌ها در سطوح پایین‌تر و پایین‌تر از دانه‌بندی باشیم. چه زمانی باید متوقف شوید؟

زیردامنه‌ها به عنوان مجموعه‌ای از Use Case های منسجم

از دیدگاه فنی، زیردامنه‌ها شبیه به مجموعه‌ای از Use Case های مرتبط و منسجم هستند. چنین مجموعه‌ای از Use Case ها معمولاً شامل موارد زیر می‌شوند:

  • همان بازیگر (Actor)
  • موجودیت‌های کسب‌وکاری مشابه
  • همه آن‌ها یک مجموعه داده نزدیک به هم را دستکاری می‌کنند

مثال: دیاگرام Use Case برای درگاه پرداخت کارت اعتباری

Use Case های زیر را در نظر بگیرید که همگی به زیردامنه پرداخت کارت اعتباری تعلق دارند:

بازیگران:
- مشتری
- سیستم بانکی
- فروشنده

Use Case ها:
├── پردازش پرداخت
├── بررسی اعتبار کارت
├── تأیید تراکنش
├── بازپرداخت
└── گزارش تراکنش‌ها

این Use Case ها به شدت توسط داده‌هایی که با آن کار می‌کنند و بازیگران درگیر به هم مرتبط هستند. بنابراین، همه Use Case ها زیردامنه پرداخت کارت اعتباری را تشکیل می‌دهند.

چه زمانی باید تقطیر را متوقف کنیم؟

می‌توانیم از تعریف “زیردامنه‌ها به عنوان مجموعه‌ای از Use Case های منسجم” به عنوان اصل راهنما برای زمانی که باید به دنبال زیردامنه‌های دقیق‌تر بگردیم استفاده کنیم. اینها دقیق‌ترین مرزهای زیردامنه‌ها هستند.

برای زیردامنه‌های اصلی: تقطیر کامل ضروری است

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

برای زیردامنه‌های پشتیبان و عمومی: تقطیر آسان‌تر

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

مثال زیر را در نظر بگیرید:

سیستم Help Desk (عمومی)
├── مدیریت تیکت (عمومی)
├── پایگاه دانش (عمومی)
├── گزارش‌گیری (عمومی)
└── مدیریت SLA (عمومی)

تقطیر بیشتر زیردامنه سیستم Help Desk کمتر مفید است، زیرا اطلاعات استراتژیک جدیدی را آشکار نمی‌کند و یک ابزار آماده درشت‌دانه به عنوان راه‌حل استفاده خواهد شد.

تمرکز روی موارد ضروری

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

هنگام جستجوی زیردامنه‌ها، مهم است که:

  1. عملکردهای کسب‌وکاری که به نرم‌افزار مرتبط نیستند را شناسایی کنید
  2. آن‌ها را به عنوان چنین چیزی تأیید کنید
  3. روی جنبه‌های کسب‌وکار که به سیستم نرم‌افزاری که روی آن کار می‌کنید مرتبط هستند، تمرکز کنید

فصل اول - بخش سوم: تحلیل دامنه با مثالهای عملی - Gigmaster و BusVNext

مثال اول: Gigmaster - شرکت فروش بلیت

معرفی شرکت

Gigmaster یک شرکت فروش و توزیع بلیت است. اپلیکیشن موبایلی آن کتابخانه موسیقی کاربران، حساب‌های سرویس‌های جریانی (مثل Spotify) و پروفایل‌های شبکه‌های اجتماعی را تحلیل می‌کند تا برنامه‌های موسیقی نزدیک را که کاربران علاقه‌مند به حضور در آن‌ها هستند، شناسایی کند.

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

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

تحلیل دامنه

حوزه کسب‌وکار

حوزه کسب‌وکار Gigmaster فروش بلیت است. این خدمتی است که شرکت به مشتریانش ارائه می‌دهد.

زیردامنه‌های اصلی (Core Subdomains)

مزیت رقابتی اصلی Gigmaster الگوریتم توصیه‌های آن است. این الگوریتم توانایی شرکت را بر میل و علایق اضافی کاربران تا سطح دقیق دارند:

  • الگوریتم توصیه‌های هوشمند: این قلب سیستم است و کاربران را به برنامه‌هایی راهنمایی می‌کند که واقعاً علاقه‌مند هستند
  • ناشناس‌سازی داده‌ها: شرکت بر روی حریم‌خصوصی تأکید زیادی دارد و این عملکرد رقابتی است زیرا کاربران می‌دانند اطلاعات آن‌ها محافظت‌شده است
  • تجربه کاربری موبایل (UX): رابط کاربری تمیز و قابل استفاده یک عامل کلیدی در جذب و حفظ کاربران است

بنابراین، زیردامنه‌های اصلی Gigmaster عبارت‌اند از:

  • الگوریتم توصیه‌ها ⭐
  • ناشناس‌سازی داده‌ها ⭐
  • اپلیکیشن موبایل ⭐

زیردامنه‌های عمومی (Generic Subdomains)

اینها مسائلی هستند که هر شرکت فروش حل می‌کند و راه‌حل‌های آماده وجود دارند:

  • رمزنگاری: برای رمزگذاری تمام داده‌ها
  • حسابداری: چون شرکت در تجارت فروش است
  • Clearing: برای شارژ کردن مشتریان
  • احراز هویت و مجوزدهی: برای شناسایی کاربران

زیردامنه‌های پشتیبان (Supporting Subdomains)

اینها عملکردهای ساده هستند که به سیستم اصلی کمک می‌کنند اما هیچ مزیت رقابتی ندارند:

  • ادغام با سرویس‌های موسیقی جریانی: درخواست داده‌ها از Spotify، Apple Music و غیره
  • ادغام با شبکه‌های اجتماعی: خواندن پروفایل‌ها
  • ماژول برنامه‌های حضور یافته: ذخیره داده‌های تاریخی برنامه‌هایی که کاربر حضور داشته است

تصمیمات طراحی استراتژیک

از دانستن اینکه کدام زیردامنه‌ها در کدام دسته قرار دارند، می‌توانیم تصمیمات طراحی استراتژیک بگیریم:

زیردامنه نوع تصمیم طراحی
الگوریتم توصیه‌ها اصلی باید با تکنیک‌های پیشرفته برنامه‌نویسی توسط تیم در‌خانه پیاده‌سازی شود
ناشناس‌سازی اصلی باید با دقت بالا در‌خانه پیاده‌سازی شود (حتی ممکن است متخصص امنیت لازم باشد)
تجربه موبایل اصلی طراحی رابط کاربری باید توسط تیم ماهر انجام شود
رمزنگاری، حسابداری، Clearing عمومی می‌توان از راه‌حل‌های آماده یا کتابخانه‌های منتشرشده استفاده کرد
احراز هویت عمومی استفاده از سرویس‌های مثل Auth0 یا OAuth معقول است
ادغام با سرویس‌های خارجی پشتیبان می‌تواند برون‌سپاری شود
ماژول برنامه‌های حضور یافته پشتیبان می‌تواند برون‌سپاری شود

مثال دوم: BusVNext - شرکت حمل‌ونقل عمومی

معرفی شرکت

BusVNext یک شرکت حمل‌ونقل عمومی است که هدفش ارائه سفر‌های اتوبوس مراتب است که آن‌قدر راحت و مطلوب باشد که تجربه‌ای مشابه با تاکسی داشته باشد. شرکت ناوگان اتوبوس‌هایی را در شهرهای بزرگ مدیریت می‌کند.

مشتری BusVNext می‌تواند از طریق اپلیکیشن موبایل یک سفر سفارش دهد. در زمان حضور برنامه‌ریزی‌شده، مسیر یک اتوبوس نزدیک به صورت لحظه‌ای تنظیم می‌شود تا مسافر را در زمان تعیین‌شده برداشت کند.

چالش اصلی BusVNext پیاده‌سازی الگوریتم مسیریابی بود. الزامات آن یک گونه از مسئله فروشنده دوره‌گرد (Travelling Salesman Problem) است. منطق مسیریابی به طور مستمر تنظیم و بهینه‌سازی می‌شود. مثلاً آمارها نشان می‌دهند دلیل اصلی لغو سفرها زمان انتظار زیاد برای اتوبوس است. بنابراین شرکت الگوریتم مسیریابی را برای اولویت دادن به برداشت سریع تغییر داد، حتی اگر این معنای تاخیری بیشتر در رسیدن باشد.

تحلیل دامنه

حوزه کسب‌وکار

حوزه کسب‌وکار BusVNext حمل‌ونقل عمومی بهینه‌شده است.

زیردامنه‌های اصلی (Core Subdomains)

مزیت رقابتی اصلی BusVNext از بین رفتن یا کاهش دادن این مسائل است:

  • الگوریتم مسیریابی هوشمند: حل یک مسئله پیچیده ریاضی (TSP) با تطبیق به اهداف تجاری متفاوت—کاهش زمان برداشت حتی اگر طول کل سفر افزایش یابد
  • تحلیل داده‌های سفرها: شرکت به طور مستمر سفرها را تحلیل می‌کند تا الگوهای رفتار مسافران را کشف کند و الگوریتم مسیریابی را بهتر بسازد
  • تجربه کاربری اپلیکیشن: هم برای مسافران و هم برای رانندگان، رابط ساده و واضح ضروری است
  • مدیریت ناوگان: اتوبوس‌ها می‌توانند مشکلات فنی داشته باشند و نیاز به تعمیر دارند. نادیده گرفتن این موضوع ممکن است به تلفات مالی و کاهش سطح خدمات منجر شود

بنابراین، زیردامنه‌های اصلی BusVNext عبارت‌اند از:

  • مسیریابی ⭐
  • تحلیل داده‌ها ⭐
  • تجربه کاربری موبایل ⭐
  • مدیریت ناوگان ⭐

زیردامنه‌های عمومی (Generic Subdomains)

  • داده‌های ترافیک و هشدارهای بلادرنگ: شرکت از شرکت‌های شخص ثالث برای دریافت اطلاعات ترافیکی استفاده می‌کند
  • حسابداری: مدیریت درآمد‌ها
  • صورتحساب: ایجاد صورتحسابهایی برای مشتریان
  • احراز هویت و مجوزدهی

زیردامنه‌های پشتیبان (Supporting Subdomains)

  • مدیریت تخفیف‌ها و پیش‌نهادهای ویژه: این ماژول از نظر منطق کسب‌وکار بسیار ساده است—فقط رابط کاربری CRUD برای مدیریت کدهای کوپن فعال. شرکت این تخفیف‌ها را برای جذب مشتریان جدید و تعدیل تقاضا در اوقات اوج و کم استفاده می‌کند

تصمیمات طراحی استراتژیک

زیردامنه نوع تصمیم طراحی
الگوریتم مسیریابی اصلی باید با بالاترین سطح تکنیک‌های مهندسی در‌خانه پیاده‌سازی شود
تحلیل داده‌ها اصلی باید درون‌سازی شود (ممکن است به Machine Learning و Data Science نیاز باشد)
مدیریت ناوگان اصلی متخصصان و سیستم‌های پیشرفته لازم است
تجربه کاربری اصلی توسط تیم ماهر طراحی شود
داده‌های ترافیک عمومی از سرویس‌های شخص ثالث (مثل Google Maps API) استفاده شود
حسابداری و صورتحساب عمومی از نرم‌افزار حسابداری آماده یا سرویس ابری استفاده شود
احراز هویت عمومی استفاده از سرویس‌های مثل OAuth یا شرکای احراز هویت
مدیریت تخفیف‌ها پشتیبان می‌تواند برون‌سپاری شود یا توسط تیم درحال‌آموزش پیاده‌سازی شود
بررسی ترافیک عمومی خریداری از شرکت‌های بیرونی

خلاصه تحلیل‌های دو مثال

اهمیت این تحلیل‌ها

این دو مثال نشان می‌دهند که چگونه یک تحلیل دامنه صحیح می‌تواند تصمیمات زیادی را هدایت کند:

  1. بودجه‌بندی و تخصیص منابع: منابع بیشتر باید به زیردامنه‌های اصلی اختصاص داده شود

  2. تشکیل تیم: تیم‌های ماهر برای سیستم‌های اصلی، و تیم‌های کم‌تجربه برای سیستم‌های پشتیبان

  3. معماری سیستم: زیردامنه‌های اصلی نیاز به معماری و طراحی پیچیده‌تری دارند

  4. برون‌سپاری یا توسعه درون‌سازی: تصمیم واضح درباره آنچه باید درون‌سازی شود و آنچه باید خریداری شود