From 5929b3bd90962116b8399e1f47f54249be0b0b06 Mon Sep 17 00:00:00 2001 From: mohammadKarimi Date: Tue, 2 Apr 2024 16:04:50 +0330 Subject: [PATCH] Communication Review --- .obsidian/workspace.json | 12 ++++++------ .../2.2 Knowledge Discovery/Knowledge Discovery.md | 5 ++--- .../chapter 2/2.3 Communication/Communication.md | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 04bd81b..eb435f5 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -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 } @@ -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", @@ -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 } @@ -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" } } } @@ -148,6 +148,8 @@ }, "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", @@ -155,7 +157,6 @@ "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", @@ -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", diff --git a/content/part 1 - Strategic Design/chapter 2/2.2 Knowledge Discovery/Knowledge Discovery.md b/content/part 1 - Strategic Design/chapter 2/2.2 Knowledge Discovery/Knowledge Discovery.md index 03a6b61..fd76d4d 100644 --- a/content/part 1 - Strategic Design/chapter 2/2.2 Knowledge Discovery/Knowledge Discovery.md +++ b/content/part 1 - Strategic Design/chapter 2/2.2 Knowledge Discovery/Knowledge Discovery.md @@ -6,10 +6,9 @@ type: docs ## کشف دانش -برای طراحی یک راه‌حل نرم‌افزاری مؤثر، ما باید حداقل دانش ابتدایی را از حوزه کسب و کار، درک کنیم. همانطور که در فصل 1 بحث کردیم، این دانش متعلق به متخصصان دامنه ی کسب و کار است: وظیفه آنها تخصص و درک تمام پیچیدگی‌های حوزه کسب و کار خودشان است. به هیچ وجه نباید ما، (نمی‌توانیم)، متخصصان آن حوزه کسب و کار شویم. با این حال، برای ما خیلی مهم است که متخصصان دامنه را درک کنیم و از همان اصطلاحات کسب و کاری و بیزینسی استفاده کنیم که آنها استفاده می‌کنند.. +برای طراحی یک راه‌حل نرم‌افزاری مؤثر، ما باید حداقل یه دانش ابتدایی را از حوزه کسب و کار، درک کنیم. همانطور که در فصل 1 بحث کردیم، این دانش متعلق به متخصصان دامنه ی کسب و کار است: وظیفه آنها تخصص و درک تمام پیچیدگی‌های حوزه کسب و کار خودشان است. به هیچ وجه نباید ما، (نمی‌توانیم)، متخصصان آن حوزه کسب و کار شویم. با این حال، برای ما خیلی مهم است که متخصصان دامنه را درک کنیم و از همان اصطلاحات کسب و کاری و بیزینسی استفاده کنیم که آنها استفاده می‌کنند.. - -برای اثربخش بودن، نرم‌افزار باید به شیوه‌ی تفکر متخصصان دامنه درباره مسئله - یعنی مدل‌های ذهنی آنها - شباهت زیادی داشته باشد. بدون درک از مسئله بیزینس و استدلال پشت نیازها، راه‌حل‌های ما محدود به "ترجمه" نیازهای بیزینس به سورس کد خواهند بود. حالا اگر ما نیازمندی های خیلی مهم و حیاتی بیزینس را از دست بدیم، چه اتفاقی خواهد افتاد؟ +برای اثربخش بودن یک نرم افزار، باید اون نرم‌افزار تا حد زیادی به شیوه‌ی تفکر متخصصان دامنه درباره مسئله - یعنی مدل‌های ذهنی آنها - شباهت زیادی داشته باشد. بدون درک از مسئله بیزینس و استدلال پشت نیازها، راه‌حل‌های ما محدود به "ترجمه" نیازهای بیزینس به سورس کد خواهند بود. حالا اگر ما نیازمندی های خیلی مهم و حیاتی بیزینس را از دست بدیم، چه اتفاقی خواهد افتاد؟ و یا اینکه نیازمندی هایی که ما بدست آورده ایم یک مفهوم بیزینسی را شرح ندهد، آن وقت چه اتفاقی خواهد افتاد؟ و یا مهم تر اینکه با ترجمه نیازمندی های بیزینسی ما نتوانستیم یک مدلی درست کنیم که بتواند نیازمندی های آینده را پشتیبانی کند، چه اتفاقی خواهد افتاد؟ diff --git a/content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md b/content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md index 89e12fd..068b09f 100644 --- a/content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md +++ b/content/part 1 - Strategic Design/chapter 2/2.3 Communication/Communication.md @@ -7,7 +7,7 @@ type: docs ## ارتباطات با اطمینان می تونیم بگیم که تقریباً تمام پروژه‌های نرم‌افزاری نیاز به همکاری افراد در نقش‌های مختلف دارن: متخصص دامنه، مالکان محصول، مهندسان، طراحان رابط کاربری و تجربه کاربری، مدیران پروژه، تسترها، تحلیلگران و سایر افراد. -مثل هر تلاش همکارانه دیگه، نتیجه به اندازه اینکه چقدر تمام این افراد می‌تونن با هم کار کنن، وابسته است. به عنوان مثال، آیا همه افراد موافقن که چه مساله ای در حال حل شدن هست؟ در مورد راه حلی که در حال ساختنش هستن، آیا افراد دارای فرضیات متضادی درباره نیازمندی‌های کارکردی و غیرکارکردی اون هستن؟ موافقت و هم راستا بودن در تمام امور مرتبط با پروژه، برای موفقیت پروژه ضروری است. +مثل هر تلاش تیمیه دیگه ای، نتیجه ی کار کاملا به اندازه ی اینکه چقدر تمام این افراد می‌تونن با هم کار کنن، وابسته است. به عنوان مثال، آیا همه افراد موافقن که چه مساله ای در حال حل شدن هست؟ در مورد راه حلی که در حال ساختنش هستن، آیا افراد دارای فرضیات متضادی درباره نیازمندی‌های کارکردی و غیرکارکردی اون هستن؟ موافقت و هم راستا بودن در تمام امور مرتبط با پروژه، برای موفقیت پروژه ضروری است. تحقیقات در زمینه علت‌های شکست پروژه‌های نرم‌افزاری نشون داده که ارتباط مؤثر برای به اشتراک گذاری دانش و موفقیت پروژه ضروریه. با این حال، با وجود اهمیت این موضوع، ارتباط مؤثر به ندرت در پروژه‌های نرم‌افزار مشاهده می‌شه. اغلب، ساید بیزینس و مهندس ها کمتر با یکدیگر تعامل مستقیم دارن. به جای اون، دانش دامنه از متخصصان دامنه به مهندسان منتقل می‌شه. این انتقال از طریق افرادی انجام می‌شه که نقش واسطه یا "مترجم" رو ایفا می‌کنن، از جمله تحلیلگرها و مدیران سیستم/کسب‌وکار، مالکان محصول و مدیران پروژه. جریان معمول به اشتراک گذاری دانش به وسیله این افراد در شکل 2-1 نمایش داده شده. ![[Figure 2-1.png]]