فراخوان سومین رویداد DDDTalks

به اطلاع شما عزیزان می‌رسانیم که انجمن DDD ایران در نظر دارد تا سومین رویداد DDDTalks خود را در پاییز ۱۴۰۱ برگزار کند. لذا چنانچه برای ارایه سخنرانی یا برگزاری کارگاه در این رویداد ایده‌ای دارید، می‌توانید ما را مطلع کنید تا کمک کنیم که ایده شما به بهترین شکل اجرا شود.

قالب‌های ارایه مطلب:
1- سخنرانی (Presentation) – ۵۰ الی ۶۰ دقیقه
2- کارگاه عملی – دو الی چهار ساعت
3- سخنرانی کوتاه – ۱۵ الی ۲۵ دقیقه

موضوعات محوری رویداد:
علاوه بر آنچه که مستقیما به موضوع Domain-Driven Design مرتبط است می‌توانید به مباحثی مانند موارد زیر هم بپردازید:

  • تحلیل، طراحی و مدل‌سازی حوزه‌های کسب و کاری پیچیده
  • معماری نرم‌افزار، سیستم‌های توزیع شده
  • نقش متدهای توسعه چابک، فرهنگ و ساختار سازمان در تحلیل و طراحی
  • تست و رفکتورینگ
  • فلسفه طراحی نرم‌افزار و کاربردهای علوم روانشناسی و جامعه‌شناسی در توسعه ‌نرم‌افزار
  • توسعه محصول
  • تفکر سیستمی، نظریه پیچیدگی
  • تکنیک‌های همکاری و بصری‌سازی ایده‌ها
  • موردکاوی‌ (Case Study) و شرح تجربه‌ی کسب شده

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

فرآیند ارسال و بررسی ایده‌ها:

1- ایده یا ایده‌های خود را حداکثر تا تاریخ ۳۱ شهریور ۱۴۰۰ برای ما ارسال کنید.

2- ممکن است برای دریافت توضیحات بیشتر و شفاف کردن موضوع، با شما تماس بگیریم و از شما بخواهیم تا یک جلسه آنلاین داشته باشیم.

3- ایده (یا ایده‌ها) شما در مقایسه با ایده سایرین بررسی خواهد شد و با توجه به محدودیت‌های زمان همایش، برخی از آنها رد یا پذیرش خواهند شد. ما نتیجه را در هر صورت ظرف ۳۰ روز پس از پایان مهلت دریافت طرح‌‌ها به اطلاع می‌رسانیم.

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

امکان ارایه ایده برای ایرانیان ساکن خارج از کشور:

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

توجه:
همایش به صورت حضوری در تهران برگزار می‌شود و اگر شما ساکن شهری غیر از تهران هستید، هزینه‌های رفت و آمد شما به تهران، توسط انجمن DDD ایران پرداخت خواهد شد.


    زیر پوست «تخمین» چه می‌گذرد؟

    انجمن DDD ایران با حمایت IRAN Agile برگزار می‌کند.

    زیر پوست «تخمین» چه می‌گذرد؟

    در این وبینار به کنکاش در «هدف» و «کاربرد» تخمین در مدیریت فرآیند توسعه نرم‌افزار خواهیم پرداخت و بعضی روش‌های متداول را زیر سوال خواهیم برد و برای چنین پرسش‌هایی به دنبال پاسخ خواهیم بود که:

    🔅آیا واقعا برای هر کاری به تخمین نیاز داریم؟

    🔅آیا از برآوردهایی که می‌کنیم فایده معقولی می‌بریم؟

    🔅آیا اثباتی بر این وجود دارد که برآوردهای ما به تصمیم‌گیری‌های خوب کمک می‌کنند؟

    🔅آیا می‌توان پروژه‌های توسعه نرم‌افزار را بدون این تخمین‌ها و یا دست کم با تخمین‌های کمتر مدیریت کرد؟

    این بار میزبان Woody Zuill هستیم که راهنما و مربی مستقل در رویکردهای چابک و ناب است و بالغ بر ۴۰ سال در زمینه توسعه نرم‌افزار کوشش‌هایی ماندگار کرده است و او را از پایه‌گذاران جریان NoEstimates می‌دانند.

    زمان: جمعه ۴ شهریور، ساعت ۲۰:۳۰
    کسب اطلاعات بیشتر و ثبت‌نام:
    https://evnd.co/7mhAg

    🔹این وبینار رایگان است.
    🔹برای بهره‌گیری بیشتر مخاطبین فارسی‌زبان، مترجم هم‌زمان خواهیم داشت.

    گزارش برگزاری اولین دوره آموزش Domain-Driven Design

    هم‌راستا با اهداف انجمن DDD ایران و با توجه به اهمیت روزافزون برگزاری یک دوره آموزش اصولی، کاربردی و به‌روز برای پاسخ به نیازِ علاقه‌مندان به یادگیری رویکرد DDD، نخستین دوره آموزش DDD در دی و بهمن ماه ۱۴۰۰ با حضور ۳۰ شرکت‌کننده (دو گروه) به صورت حضوری و با حمایت شرکت خدمات گردشگری علی‌بابا برگزار گردید.

    مهمترین سرفصل‌های این دوره که توسط «روح‌الله دلپاک» به عنوان مربی این دوره، برای شرکت‌کنندگان تشریح شد، به شرح زیر است:

    • ویژگی سیستم‌های پیچیده چیست؟ در توسعه نرم‌افزار با چه انواعی از پیچیدگی مواجهیم؟
    • تعریف درست از DDD چیست؟ این رویکرد چه مساله‌ای را در مرکز توجه خود قرار داده و چرا تا به این درجه مورد اقبال طراحان سیستم‌های پیچیده سازمانی قرار گرفته است؟
    • ضرورت توجه به ابعاد راهبردی طراحی (Strategic)
    • تکنیک‌های تحلیل فضای کسب و کار
    • شیوه تقسیم فضای دومین به زیرمجموعه‌های کارکردی
    • چگونه به کشف و شناخت فضای مساله بپردازیم؟
    • مدیریت پیچیدگی دومین و ایده B.C
    • چالش‌های تکثیر پیچیدگی ناشی از فقدان زبان فراگیر و راه غلبه بر آنها
    • مدل چیست و چرا به یک مدل از فضای مساله نیاز داریم؟
    • الگوهای متداول در تعامل بین B.C ها و نقش Context Map در تشخیص عارضه‌های ارتباطی بین تیم‌ها.
    • الگوهای پیاده‌سازی منطق تجاری، تفاوت‌ آنها و روش یافتن الگوی مناسب به فراخور دامین.
    • اجزای سازنده‌ی مدل و شرح جامع Tactical Design
    • بررسی نکته‌ها و پیشنهادات Eric Evans ذیل عنوان Supple Design
    • آشنایی با تکنیک Event Storming و تجربه عملی آن
    • آشنایی با معماری‌های ‌سازگار با رویکرد DDD و بررسی تفاوت‌های آنها مانند Ports & Adapters, CQRS,
    • الگوهای ترجمه پیام و ارتباط بین سرویس‌ها نظیر Saga, Outbox Pattern, Process Manager
    • مروری بر معماری مایکروسرویس و ارتباط مفاهیم مطرح در DDD با این معماری
    • آشنایی با برخی از رهیافت‌های طراحی (Design Heuristics) و کاربرد آنها در تصمیمات طراحی

    شرکت کنندگان این دوره علاوه بر آشنایی با موضوعات فوق با شرکت در یک فوق برنامه کتاب‌خوانی، هر هفته در برنامه هم‌خوانی کتاب «مهارت‌های نرم – راهنمای زندگی تولید کنندگان نرم‌افزار» نیز شرکت داشتند که این روند پس از پایان دوره هم ادامه پیدا کرده است.

    در پایان از همه شرکت‌کنندگان این دوره که در شکل‌گیری یک کار نیک نقش داشتند صمیمانه تشکر می‌کنیم. طبق قرار قبلی، تصمیم بر آن بود که ‌کلیه عواید این دوره (شهریه پس از کسر هزینه‌های اجرایی)، بر اساس انتخاب شرکت کنندگان به مرکز خیریه فعال در حوزه آموزش کودکان یا حمایت از کاشت نهال در مراتع طبیعی اختصاص داده ‌شود. به این ترتیب کل مبلغ قابل کمک به خیریه 282,859,889 ریال و مبلغ قابل کمک به کاشت نهال 133,110,536 ریال جمع‌آوری گردیده که به زودی به حساب مراکز مربوطه واریز خواهد شد.

    شروع ثبت‌نام دوره آموزش کاربردی Domain-Driven Design

    انجمن DDD ایران نخستین دوره آموزش کاربردی Domain-Driven Design را برگزار می‌کند. طول این دوره ۲۰ ساعت است.

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

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

    در پایان دوره انتظار می‌رود که شرکت کننده:

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

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

    🔅به تکنیک‌های مدل‌سازی منطق‌ کسب و کار که در رویکرد DDD  مطرح است، مسلط شود و بتواند در عمل آنها را به کار بگیرد و مدل‌های غنی‌تری طراحی کند.

    🔅با گروهی از الگوهای معماری که می‌توانند با رویکرد DDD سازگاری خوبی داشته باشند آشنا شود و بتواند ارتباط بین DDD و معماری‌هایی نظیر Layered Architecture, CQRS, Ports & Adapters را کاملا درک کند.

    🔅 با معماری سیستم‌های توزیع شده نظیر مایکروسرویس و Event-Driven آشنایی اجمالی پیدا کند و درک کند که این دو معماری از رویکرد DDD چگونه تاثیر گرفته‌اند و در نهایت تصویر جامعی از ارتباط این معماری‌ها و رویکرد DDD به دست بیاورد.

    🔅 با رهیافت‌‌ها و تفکر طراحی تکاملی آشنا شود و یکی از محبوب‌ترین تکنیک‌های تجزیه و تحلیل فضای مساله یعنی Event Storming را عملا تجربه کند.

    مخاطبین: 
    کلیه توسعه‌دهندگان نرم‌افزار که در توسعه سیستم‌های پیچیده با مشکل روبرو هستند و به دنبال پاسخی برای این سوال هستند که چگونه می‌توان محصولی دوست داشتنی از نظر مشتریان و توسعه‌پذیر از نظر توسعه‌دهندگان ساخت؟

    محل برگزاری: تهران – کارخانه نوآوری آزادی

    ▪️کسب اطلاعات بیشتر و ثبت‌نام:
    https://evand.com/events/dddiran-domain-driven-design-course

    انجمن DDD ایران

    اطلاعیه پیش‌ثبت‌نام دوره آموزش Domain-Driven Design

    به منظور برنامه‌ریزی برای تدارک فضا و زیرساخت لازم برای برگزاری یک دوره آموزش Domain-Driven Design نیاز داریم تا تخمینی از تعداد علاقه‌مندان شرکت در دوره به دست بیاوریم. لذا اگر مایلید که در دوره‌ای با مشخصات زیر شرکت کنید، می‌توانید با انجام پیش ثبت‌نام، ضمن برخورداری از اولویت شرکت در دوره، به ما در تدارک و برنامه‌ریزی بهتر کمک کنید.

    مشخصات دوره:
    مربی: روح‌الله دلپاک
    نوع دوره: حضوری – چالش محور
    محل برگزاری: تهران
    برنامه برگزاری: پنج‌شنبه یا جمعه هر هفته به مدت ۴ هفته پی در پی (روزانه پنج ساعت)
    مدت: ۲۰ ساعت

    در پایان دوره انتظار می‌رود که شرکت کننده:

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

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

    🔅به تکنیک‌های مدل‌سازی منطق‌ کسب و کار که در رویکرد DDD مطرح است، مسلط شود و بتواند در عمل آنها را به کار بگیرد و مدل‌های غنی‌تری طراحی کند.

    🔅با گروهی از الگوهای معماری که می‌توانند با رویکرد DDD سازگاری خوبی داشته باشند آشنا شود و بتواند ارتباط بین DDD و معماری‌هایی نظیر Layered Architecture, CQRS, Ports & Adapters را کاملا درک کند.

    🔅 با معماری سیستم‌های توزیع شده نظیر مایکروسرویس و Event-Driven آشنایی اجمالی پیدا کند و درک کند که این دو معماری از رویکرد DDD چگونه تاثیر گرفته‌اند و در نهایت تصویر جامعی از ارتباط این معماری‌ها و رویکرد DDD به دست بیاورد.

    🔅 با رهیافت‌‌ها و تفکر طراحی تکاملی آشنا شود و یکی از محبوب‌ترین تکنیک‌های تجزیه و تحلیل فضای مساله یعنی Event Storming را تجربه کند.

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

    شهریه:
    دو میلیون تومان (تمام عواید این دوره به مرکز خیریه فعال در حوزه کودکان اهدا می‌شود.)

    لینک پیش ثبت‌نام:
    https://docs.google.com/forms/d/e/1FAIpQLScduNqt7_cUcDIA4YWl2-ac9qIHvQ4NayH5SfEfDDYvPjTM8Q/viewform

    اطلاعیه برگزاری وبینار TDD

    رویکرد Test-Driven Development شیوه‌ای از توسعه نرم‌افزار است که به توسعه‌دهندگان پیشنهاد می‌کند که قبل از شروع کد نویسی برای فیچر جدید، انتظار خودشان از عملکرد آن فیچر را به صورت تست‌های خودکار بنویسند و سپس شروع کنند به نوشتن کد تا جایی که نتیجه تست‌ها موفق شود.

    در این وبینار، همین ایده کلیدی TDD در عمل نمایش داده می‌شود تا مخاطب درک کند که این ایده چطور می‌تواند اجرا شود و نتیجه‌ی اجرای آن چه تاثیری بر سادگی طراحی‌های ما خواهد گذاشت.

    برای همین منظور، می‌رویم سراغ اعداد رومی و سعی می‌کنیم برنامه‌ای بنویسیم که اعداد انگلیسی را به معادل رومی آن تبدیل کرده و نمایش دهد.

    ارائه‌دهندگان این وبینار، مساله نمایش اعداد رومی را در قالب اجرای کد کاتا (Code Kata) پیش خواهند برد و با حفظ اصول TDD مساله را حل خواهند کرد.
    علاوه بر این، در این ارائه شما می‌توانید نظاره‌گر این باشید که دو نفر چطور می‌توانند Pair Programming انجام دهند.

    تاریخ: ۱۶ اردیبهشت ۱۴۰۰ | ساعت ۱۶ الی ۱۸
    این وبینار رایگان است.
    لینک ثبت‌نام: https://evand.com/events/tdd-for-beginners

    اهمیت طراحی ماژولار در رویکرد DDD

    به نظر می‌رسد که مفهوم Module به نسبت دیگر مفاهیم مطرح در رویکرد Domain-Driven Design کمتر مورد توجه طراحان و توسعه‌دهندگان قرار می‌گیرد.

    مشاهدات شما چیست؟ آیا اهمیت مفهوم Module و طراحی Modular آن‌طور که باید و شاید در تیم‌‌هایی که با آنها کار کرده‌اید درک و رعایت شده است؟
    به نظر شما چرا مفهوم Module زیر سایه مفاهیم دیگری مثل Aggregate, Value Object, Domain Service و … کمرنگ‌تر شده است؟ و کمرنگ شدن این مفهوم چه آسیبی به غنای مدل وارد می‌کند؟

    برای بحث و گفتگو در این باره می‌توانید به گروه انجمن DDD ایران وارد شوید. به این نشانی:

    https://t.me/ddd_iran_discussion

    وبینار بکارگیری اصول Functional Programming در توسعه با رویکرد Domain-Driven Design

    چگونه دو پارادایم Functional Programming و Domain-Driven Design می‌توانند دست در دست هم به ایجاد یک مدل منعطف و غنی کمک کنند؟

    چگونه می‌توانیم از مفاهیم بنیادی مطرح در Functional Programming مانند داده‌های جبری، ترکیب‌پذیری (Composition) و توابع خالص (Pure Functions) برای پیاده‌سازی قواعد دامین استفاده کنیم؟

    چگونه می‌توانیم ضمن رعایت اصل تغییرناپذیری داده‌ها (Immutability) که به عنوان یک اصل بنیادی در دنیای FP مطرح است، از تکنیک‌های طراحی مطرح در DDD استفاده کنیم؟

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

    زمان: پنج‌شنبه ۲۳ بهمن ۱۳۹۹ – ساعت ۱۸ به وقت تهران
    شرکت در این وبینار رایگان است.
    ثبت‌نام:
    https://evand.com/events/functional-programming-in-ddd

    شروع فعالیت گروه پرسش و پاسخ انجمن DDD ایران

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

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

    لینک ورود:
    https://t.me/ddd_iran_discussion

    • انجمن DDD ایران

    اطلاعیه برگزاری کارگاه آموزشی: «چگونه با ریفکتور ساندویچی کد خود را لذیذتر کنیم؟»

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

    مدرسان: سپهر نامدار و هادی احمدی

    تاریخ: جمعه دهم بهمن – ساعت ۱۶:۳۰ الی ۱۸:۳۰

    🔺ظرفیت شرکت در این کارگاه محدود و تنها ۲۴ نفر است.

    جهت کسب اطلاعات بیشتر و ثبت‌نام، مراجعه کنید به:

    https://evand.com/events/refactoring-with-the-sandwich-pattern-413138