Skip to content

Commit

Permalink
Communication Review
Browse files Browse the repository at this point in the history
  • Loading branch information
mohammadKarimi committed Apr 2, 2024
1 parent 89056ac commit 5929b3b
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 10 deletions.
12 changes: 6 additions & 6 deletions .obsidian/workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"state": {
"type": "markdown",
"state": {
"file": "content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md",
"file": "content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md",
"mode": "source",
"source": true
}
Expand Down Expand Up @@ -85,7 +85,7 @@
"state": {
"type": "backlink",
"state": {
"file": "content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md",
"file": "content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
Expand All @@ -102,7 +102,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md",
"file": "content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
Expand All @@ -125,7 +125,7 @@
"state": {
"type": "outline",
"state": {
"file": "content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md"
"file": "content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md"
}
}
}
Expand All @@ -148,14 +148,15 @@
},
"active": "d15e1bdd51457826",
"lastOpenFiles": [
"content/part 1 - Strategic Design/chapter 2/2.2 Knowledge Discovery/Knowledge Discovery.md",
"content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md",
"content/part 1 - Strategic Design/chapter 2/_index.md",
"content/part 1 - Strategic Design/chapter 1/1.5 Domain Analysis Examples/1. Domain Analysis Examples.md",
"content/part 1 - Strategic Design/chapter 1/1.4 Comparing Subdomains/1.4 Comparing Subdomains.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.3 Supporting Subdomains/1.3.3 Supporting Subdomain.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.2 Generic Subdomains/1.3.2 Generic subdomains.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.1 Core Subdomains/1.3.1 Core Subdomains.md",
"content/preface.md",
"content/part 1 - Strategic Design/chapter 2/2.1 Business Problem/Business Problems.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3 What is a Subdomain.md",
"content/part 1 - Strategic Design/chapter 1/1.2 What is Business Domain/1.2 What is Business Domain.md",
"content/part 1 - Strategic Design/chapter 1/1.1 Fundamental of DDD/1.1 Fundamental of DDD.md",
Expand All @@ -178,7 +179,6 @@
"content/part 1 - Strategic Design/chapter 2/2.6 Model of the Business Domain/2.6.2 Effective Modeling/Effective Modeling.md",
"content/part 1 - Strategic Design/chapter 2/2.6 Model of the Business Domain/2.6.1 What Is a Model/What Is a Model.md",
"content/part 1 - Strategic Design/chapter 2/2.5 Language of the Business/2.5 Language of Business.md",
"content/part 1 - Strategic Design/chapter 2/2.5 Language of the Business/2.5.2 Consistency/Consistency.md",
"1.1-fundamental-of-ddd",
"[1.1-fundamental-of-ddd/1.1-fundamental-of-ddd",
"[1.1-fundamental-of-ddd",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ type: docs

## کشف دانش

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


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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ type: docs
## ارتباطات

با اطمینان می تونیم بگیم که تقریباً تمام پروژه‌های نرم‌افزاری نیاز به همکاری افراد در نقش‌های مختلف دارن: متخصص دامنه، مالکان محصول، مهندسان، طراحان رابط کاربری و تجربه کاربری، مدیران پروژه، تسترها، تحلیلگران و سایر افراد.
مثل هر تلاش همکارانه دیگه، نتیجه به اندازه اینکه چقدر تمام این افراد می‌تونن با هم کار کنن، وابسته است. به عنوان مثال، آیا همه افراد موافقن که چه مساله ای در حال حل شدن هست؟ در مورد راه حلی که در حال ساختنش هستن، آیا افراد دارای فرضیات متضادی درباره نیازمندی‌های کارکردی و غیرکارکردی اون هستن؟ موافقت و هم راستا بودن در تمام امور مرتبط با پروژه، برای موفقیت پروژه ضروری است.
مثل هر تلاش تیمیه دیگه ای، نتیجه ی کار کاملا به اندازه ی اینکه چقدر تمام این افراد می‌تونن با هم کار کنن، وابسته است. به عنوان مثال، آیا همه افراد موافقن که چه مساله ای در حال حل شدن هست؟ در مورد راه حلی که در حال ساختنش هستن، آیا افراد دارای فرضیات متضادی درباره نیازمندی‌های کارکردی و غیرکارکردی اون هستن؟ موافقت و هم راستا بودن در تمام امور مرتبط با پروژه، برای موفقیت پروژه ضروری است.
تحقیقات در زمینه علت‌های شکست پروژه‌های نرم‌افزاری نشون داده که ارتباط مؤثر برای به اشتراک گذاری دانش و موفقیت پروژه ضروریه. با این حال، با وجود اهمیت این موضوع، ارتباط مؤثر به ندرت در پروژه‌های نرم‌افزار مشاهده می‌شه. اغلب، ساید بیزینس و مهندس ها کمتر با یکدیگر تعامل مستقیم دارن. به جای اون، دانش دامنه از متخصصان دامنه به مهندسان منتقل می‌شه. این انتقال از طریق افرادی انجام می‌شه که نقش واسطه یا "مترجم" رو ایفا می‌کنن، از جمله تحلیلگرها و مدیران سیستم/کسب‌وکار، مالکان محصول و مدیران پروژه. جریان معمول به اشتراک گذاری دانش به وسیله این افراد در شکل 2-1 نمایش داده شده.

![[Figure 2-1.png]]
Expand Down

0 comments on commit 5929b3b

Please sign in to comment.