کتاب Collaborative Software Design: How to facilitate domain modeling decisions (طراحی نرمافزار مشارکتی: چگونه تصمیمگیری در مورد مدلسازی دامنه را تسهیل کنیم؟) یک راهنمای کاربردی برای انجام جلسات طراحی نرمافزار مؤثر است که در آن همه ذینفعان فنی و تجاری دخیل هستند.
این کتاب به شما کمک میکند تا با استفاده از ابزارهایی مانند بوم مدل کسبوکار، طوفان فکری رویداد محور (Event Storming)، نگاشت مثال (Example Mapping) و نگاشت وردلی (Wardley Mapping)، جلسات مدلسازی مشارکتی را آماده و تسهیل کنید. همچنین، معیارهایی برای مدلسازی طراحی نرمافزار ارائه میدهد که میتوانید آنها را انتخاب کرده و اعمال کنید.
در ادامه مقدمهای از کتاب Generative AI Foundations in Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Collaborative Software Design:
شاید برای شما هم جالب باشد که چگونه سه فرد کاملاً متفاوت، با علایق، تخصصها و شخصیتهای متنوع، تصمیم میگیرند با هم در مورد موضوعی که همه به آن علاقه دارند، کتاب بنویسند. چه چیزی در مورد طراحی نرمافزار مشارکتی میتواند زمینههای مختلف، تخصصها، علایق و شخصیتها را به هم پیوند دهد؟
در زمینههای کاری خود، همه ما از مدلسازی مشارکتی برای کمک به سازمانها در حرکت به سمت نتایج پایدار و کیفی استفاده میکردیم.
جلسات متعدد EventStorming با سازمانهای مختلف، ما را – به صورت جداگانه – به چالشها و سوالات مشابهی مانند این موارد سوق داد: چگونه میتوانیم درک مشترک از مسئله را افزایش دهیم، ابهام در زبان را برطرف کنیم، تصمیمات را به طور مشترک اتخاذ کنیم و با تعارضات برخورد کنیم؟ در نهایت، همه چیز به این سوال خلاصه میشد: چگونه میتوان طراحی نرمافزار مشارکتی را تسهیل کرد؟
بنابراین، سه فرد با تخصصهای تصمیمگیری، علوم رفتاری، دموکراسی عمیق و معماری نرمافزار، در نهایت با همان مبارزه روبرو شدند: انسان بودن. همه ما در یک جامعه آشنا شدیم و شروع به تأمل در مشاهدات خود کردیم. مهمترین نتیجهگیری ما این بود که آنچه ما را به هم پیوند میدهد این است که همه ما جهان را از دیدگاه اجتماعی-فنی میبینیم، جایی که انتخابهای فنی پیامدهای اجتماعی و شناختی دارند و بالعکس.
ما با سیستمی سروکار داریم که در آن همه دیدگاهها باید متعادل و به طور مشترک بهینه شوند. تنها در این صورت است که یک گروه از افراد میتوانند به تصمیمگیریهای پایدار و نتایج کیفی دست یابند. ما شاهد افزایش روزافزون افراد و سازمانهایی هستیم که به سمت این دیدگاه اجتماعی-فنی حرکت میکنند و از آن بهرهمند میشوند.
متأسفانه، همه چیز آفتاب و گل و بلبل نیست. عمل در راستای این دیدگاه با چالشهای متعدد، ناشناختهها و عدم قطعیت همراه است.
سه نفر ما خود را در مکالمات و بحثهای بیشتری در مورد چگونگی برخورد با این مبارزه در حالی که از مزایای دیدگاه اجتماعی-فنی بهرهمند میشویم، یافتیم. در این بحثها، ما – بیش از یک بار – لزوماً با هم موافق نبودیم. پیمایش تعارضات خودمان به ما کمک کرد تا افکار خود را ساختار دهیم و تجربه خود را غنی کنیم، که در نهایت همه ما را بهتر کرد. این آموزهها، آزمایشها و مشاهدات نوظهور و در حال رشد تا حدی انباشته شدند که ما میخواستیم بینشهای خود را به اشتراک بگذاریم تا دیگران بتوانند از آنها بیاموزند.
ما شروع به ایجاد سخنرانیها، برگزاری کارگاهها و نوشتن پستهای وبلاگ کردیم. در واقع، اولین پست وبلاگ مشترک ما در مورد قطبیتها بود، جایی که ما موضوع بسیار مهم نحوه آویزان کردن رول دستمال توالت (زیر یا روی آن) را حل کردیم. معلوم شد هیولایی در میان ما وجود دارد که اصلا اهمیتی نمیدهد!
دیدگاه اجتماعی-فنی بیشتر و بیشتر حضور دارد، اما چالشهای همراه با آن همیشه وجود خواهد داشت. این است – به نظر متواضعانه ما – زیبایی انسانها؛ آنها همیشه پویاییهای اجتماعی جدید، شگفتانگیز و چالشبرانگیز را بر سر میز میآورند. ما شغلی از آن ساختیم – یا حداقل بخش بزرگی از حرفههای خود را به آن اختصاص دادیم. و اکنون، ما آن را به این کتاب تبدیل کردهایم که امیدواریم صادقانه دیدگاهها و الهامات جدیدی را برای شروع آزمایش در زمینه خود به شما ارائه دهد.
درباره کتاب Collaborative Software Design
هدف این کتاب این است که تیمهای نرمافزاری را قادر سازد تا به طور مستقل با ذینفعان همکاری کنند، نیازهای آنها را درک کنند و اجازه دهند این درک، معماری نرمافزار آنها را هدایت کند.
این رویکرد به طراحی نرمافزار مشارکتی در درجه اول برای افرادی در نقشهای رهبری فنی که میتوانند این تیمها را توانمند سازند، مانند مشاوران فناوری اطلاعات، معماران فناوری اطلاعات، سرپرستان فنی، مهندسین ارشد، مهندسین پرسنل و افرادی که ارتباط نزدیکی با تیمها دارند، در نظر گرفته شده است.
همچنین کتاب Collaborative Software Design برای افرادی که مسئولیت مدیریت تیمهای نرمافزاری یا استراتژیهای کلی آنها را بر عهده دارند، مانند مدیران ارشد فناوری (CTO)، معاونان مهندسی و مدیران مهندسی، نیز هدف قرار گرفته است.
چه کسانی باید کتاب Collaborative Software Design را بخوانند؟
محتوای این کتاب برای هر کسی که در طراحی نرمافزار دخیل است و در تلاشهای مشارکتی شرکت میکند، ارزشمند است. این کتاب اطلاعاتی در مورد اینکه چرا برخی از جلسات مدلسازی مشارکتی به شکلی که هستند پیش میروند ارائه میدهد و نکاتی را در مورد چگونگی کمک به آزادسازی و تقویت این جلسات بدون نیاز به رهبری مستقیم آنها ارائه میدهد.
ما این روشها را به طیف گستردهای از نقشها در طراحی، ساخت و اجرای نرمافزار معرفی کردهایم، که محدود به موارد ذکر شده در بالا نیست. این شامل توسعهدهندگان، آزمایشکنندگان، مالکان محصول، مدیران محصول، محققان کاربر و تحلیلگران تجاری است.
نحوه سازماندهی کتاب Collaborative Software Design: یک نقشه راه
این کتاب در ۱۲ فصل سازماندهی شده است که هر فصل به موضوع خاصی در مورد طراحی نرمافزار مشارکتی میپردازد. تمام فصلها از یک شرکت فرضی به نام BigScreen برای نشان دادن مفاهیمی که در فصل مورد بررسی قرار میدهیم استفاده میکنند.
از فصل دوم به بعد، هر فصل کتاب Collaborative Software Design دارای تمریناتی برای عملی کردن نظریه است. فصلها با بخشی به نام “کاتالیزورهای طراحی نرمافزار مشارکتی” پایان مییابند که شامل نکات و ترفندهای عملی است که میتوان بلافاصله از آنها استفاده کرد تا کتاب فواید فوری داشته باشد. فصلها به شرح زیر هستند:
فصل ۱: نیاز به طراحی نرمافزار مشارکتی – این فصل از کتاب Collaborative Software Design، مفاهیم کلیدی، شرکت فرضی BigScreen، تاریخچه مختصری از توسعه نرمافزار و موضوعات فصلهای بعدی را معرفی میکند.
فصل ۲: مدلسازی مشارکتی چیست؟ – این فصل مدلسازی مشارکتی را توصیف میکند و ابزارهای مورد علاقه ما برای مدلسازی مشارکتی را نشان میدهد.
فصل ۳: استفاده از مدلسازی مشارکتی برای طراحی و معماری – این فصل از کتاب Collaborative Software Design تفاوت بین طراحی و معماری را توضیح میدهد. توضیح میدهد که روشهای اکتشافی چیست و چگونه میتوانید از آنها برای طراحی سیستمهای نرمافزاری استفاده کنید.
فصل ۴: اجزای تشکیل دهنده مدلسازی مشارکتی – این فصل به شما آموزش میدهد که چگونه مدلسازی مشارکتی را با موفقیت در شرکت خود پیادهسازی کنید.
فصل ۵: تسهیل مدلسازی مشارکتی – این فصل از کتاب Collaborative Software Design، مهارتهای مورد نیاز برای تسهیل مدلسازی مشارکتی را توصیف میکند.
فصل ۶: تأثیر رتبهبندی – این فصل به شما آموزش میدهد که رتبهبندی چیست، چگونه بر طراحی نرمافزار شما تأثیر میگذارد و چگونه میتوانید آن را در طول یک جلسه مدلسازی مشارکتی تسهیل کنید.
فصل ۷: تأثیر و فرصتهای سوگیری شناختی – این فصل سوگیریهای شناختی، تأثیر سوگیریها بر طراحی نرمافزار شما و چگونگی مقابله با سوگیریهای شناختی از طریق تسهیل را مورد بحث قرار میدهد.
فصل ۸: مقاومت و حل تعارض – این فصل از کتاب Collaborative Software Design در مورد تعارض و مقاومت، چگونگی بروز تعارض در طول مدلسازی مشارکتی و چگونگی استفاده یک تسهیلگر از مدلسازی مشارکتی برای حرکت به سمت حل تعارض بحث میکند.
فصل ۹: اتخاذ تصمیمات طراحی پایدار – این فصل از کتاب Collaborative Software Design توضیح میدهد که تصمیم چیست، چگونه یک فرآیند تصمیمگیری را تنظیم کنیم و نقش یک تسهیلگر در این فرآیند چیست.
فصل ۱۰: مدیریت مشکلات غیر قابل حل – این فصل توضیح میدهد که قطبیت چیست و چگونه میتوانید از نقشه قطبیت برای مدیریت آن استفاده کنید.
فصل ۱۱: برقراری ارتباط و مستندسازی تصمیمات – این فصل از کتاب Collaborative Software Design، چند تکنیک برای رسمی کردن یک تصمیم و نحوه برقراری ارتباط آن در سراسر شرکت را نشان میدهد.
فصل ۱۲: مدلسازی مشارکتی فراتر از طراحی نرمافزار – این فصل نشان میدهد که چگونه از مدلسازی مشارکتی در زمینههای دیگر مانند استراتژی کسبوکار، تحقیقات کاربر و پیادهسازی کد استفاده کنیم. همچنین چندین ابزار/تکنیک را که برای آن زمینهها بسیار مناسب هستند، به نمایش میگذارد.
فصلها به ترتیب خاصی ساختار یافتهاند و بر دانش فصلهای قبلی بنا شدهاند. برای استفاده حداکثری از کتاب Collaborative Software Design، توصیه نمیشود فصلها را رد کنید.
با این حال، اگر میخواهید فصلها را رد کنید یا کتاب را خارج از ترتیب بخوانید، بدانید که مفهومی که قبلاً معرفی شده است، دارای ارجاعی به فصلی است که برای اولین بار در آن معرفی شده است تا جستجوی مفهومی که با آن آشنا نیستید آسانتر شود.
سرفصلهای کتاب Collaborative Software Design:
- Collaborative Software Design
- Copyright
- dedication
- contents
- front matter
- 1 The need for collaborative software design
- 2 What is collaborative modeling?
- 3 Using collaborative modeling for design and architecture
- 4 The ingredients of collaborative modeling
- 5 Facilitating collaborative modeling
- 6 The influence of ranking
- 7 The effect and opportunities of cognitive bias
- 8 Resistance and conflict resolution
- 9 Making sustainable design decisions
- 10 Managing unsolvable problems
- 11 Communicating and documenting decisions
- 12 Collaborative modeling beyond software design
- Appendix A.
- index
جهت دانلود کتاب Collaborative Software Design میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.