ابراهیم نبیئی
ابراهیم نبیئی
خواندن ۳ دقیقه·۳ سال پیش

یک تجربه جذاب در علی بابا از برگزاری Event Storming

مدتی هست که از پرکتیس های جدیدی برای حل یک سری از مسائل و ایجاد تحول در تیم های تکنولوژی علی بابا استفاده می کنیم. یکی از اون پرکتیس ها Event Storming هست که قصد دارم چند سطری در خصوصش بنویسم و این تجربه رو به اشتراک بگذارم.

اول، Event Stormin چیه؟ همونطور که می دونید یک روش workshop-based هست برای اینکه بتونیم با سرعت و کیفیت مطلوب بفهمیم در دامین یک کسب و کار چه رویدادهایی اتفاق می افته و بتونیم به راحتی این رویدادها رو مدل کنیم. تعمدا از واژه رویداد استفاده می کنم چون مبنای این کارگاه استخراج Event ها هست. کارگاه به این شکل برگزار میشه که افراد متخصص در حوزه کسب و کار، محصول و تکنولوژی دور هم جمع میشن و متمرکز میشن روی استخراج رویدادها. این که در ادامه چه اتفاقی می افته و چطور دامین رو مدل می کنیم در حوصله این بحث نیست و می تونید محتوای مربوط به این موضوع رو به راحتی پیدا کنید. مثلا تاک Alberto Brandolini در رویداد DDD Europe 2019 می تونه خیلی مفید و جذاب باشه.

دوم، Event Storming چه دستاوردهایی برای ما داشت؟ برای من که قبلا از این رویکرد استفاده کرده بودم قابل پیش بینی بود که چه دستاوردهایی می تونه حاصل بشه؛ ولی خیلی برام مهم بود که سایر شرکت کنندگان در این کارگاه، خصوصا تیم توسعه در روز پایانی به این نتیجه برسند که چنین دستاوردهایی حاصل شده و همه اهدافمون از برگزاری این جلسات محقق شده. این دستاوردهایی بود که اعضا شرکت کننده در این کارگاه به عنوان فیدبک اعلام کردند.

  • تمام Business domain شفاف شد و همه افراد به سطح مطلوبی از Domain knowledge رسیدند.
  • این روش ساده است (حداقل ساده تر از چیزهایی که قبلا تجربه کردیم مثل UML) و این سادگی کمک کرد بتونیم افراد فنی و متخصصین کسب و کار رو به هم نزدیک کنیم و بین اون ها زبان مشترک ایجاد کنیم.
  • این زبان مشترک کمک کرد که بتونیم پا رو فراتر از اشتراکات بگذاریم و Ubiquitous language شکل گرفت.
  • طراحی کلان نرم افزار مشخص شد و همه به درک مشترکی از اینکه قراره چطور سیستم رو توسعه بدیم رسیدند.
  • تونستیم Boundary اجزا نرم افزار و سرویس ها رو کشف کنیم. همینطور نحوه integration بین این زیر سیستم ها مشخص شد.
  • جذابیت این روش به حدی هست که آدم های غیر فنی رو می تونه engage کنه و پا به پای تیم فنی این فرایند رو دنبال کنند.

سوم، چه چیزی یاد گرفتیم که شاید بتونه برای دیگران هم مفید باشه؟

  • نقش Facilitator رو حتما کسی به عهده بگیره که قبلا تجربه این کار رو داشته و کارش رو بلده.
  • تمرکز روی ایونت ها باعث میشه ذهن افراد منظم بشه و از scope بحث خارج نشن. هر جا حس کردید بحث داره منحرف میشه وظیفه Facilitator این هست که برگرده به یکی از Event ها و بحث رو از اونجا پیش ببره.
  • قرار نیست همه مشکلات رو توی جلسات Event Storming حل کنید. اتفاقا این کارگاه فضای خوبیه برای کشف ندونسته ها و تبدیل کردن اون ها به یه سری Spike که در آینده حل کشف و حل میشه.
  • از استیکی نوت هایی که به عنوان View روی board می چسبونید، در آینده میتونید به عنوان منبع غنی خلاقیت و ایده پردازی استفاده کنید و جون میده برای رویکردهایی که مبتنی بر تفکر طراحی هست.
  • مثل همه پرکتیس های دنیا این کارگاه رو هم حتما قرار نیست اون جوری در کتاب ها و ویدئوها یادگرفتید انجام بدید. از بومی کردن این پرکتیس با توجه به فرهنگ سازمانی، بلوغ آدم ها و … نترسید.
  • و از همه مهم تر، هر کار جدید در سازمان های بزرگ یه سری مقاومت به همراه داره. لذا فقط باید پایمردی کنید تا به هدفتون برسید.

پ.ن. متوسط امتیازی که شرکت کنندگان در این ورکشاپ به عنوان فیدبک دادند ۹.۵ از ۱۰ بود ?


event stormingdddsoftware
یک علاقه مند به نرم افزار
شاید از این پست‌ها خوشتان بیاید