ایونت استورمینگ | تکنیکی سریع و فوق العاده برای درک نیازمندی های محصول (بخش اول)



آیدین ضیاپور، مشاور و مربی مدیریت محصول چابک
آدرس لینکدین: https://ir.linkedin.com/in/aidinziapour

مقدمه

ایونت استورمینگ یک تکنیک کارگاه محور (Workshop-Based) است که به کمک آن می توانید به سرعت متوجه آنچه در حوزه یک محصول نرم افزاری اتفاق می افتد شوید و فرآِیندها و نیازهای موجود را در سریع ترین حالت ممکن شناسایی و درک کنید. در مقایسه با روش ها و تکنیک های دیگر، ایونت استورمینگ یک روش سبک تر و سریع تر است که بدون نیاز به هیچ وسیله کامپیوتری اجرا خواهد شد. نتیجه نهایی این تکنیک در قالب استیکی نوت هایی که بر روی دیوار چسبیده می شوند قابل ارائه خواهد بود. با استفاده از این تکنیک، فرآیند کسب و کاری موجود در قالب مجموعه ای از رویدادها نمایش داده می شوند.

بر طبق قاعده ما این رویدادها را بر روی استیکی نوت های به رنگ نارنجی می نویسیم. (اگر استیکی نوت نارنجی پیدا نکردید زیاد سخت نگیرید :) صرفا رنگ استیکی نوت رویدادها با بقیه موارد مجزا باشد!). این تکنیک توسط آلبرتو براندولینی از متخصصان طراحی مبتنی بر دامنه یا (Domain-Driven Design | DDD) معرفی شده است. این تکنیک می تواند به عنوان یک روش چابک برای مدل سازی فرآیند کسب و کار و یا مهندسی نیازمندی ها توسط تیم توسعه و مدیریت محصولات نرم افزار مورد استفاده قرار گیرد. ایده اصلی استفاده از این تکنیک این است که توسعه دهندگان نرم افزار و متخصصان حوزه ای خاص ِ(Domain Experts) را دور هم جمع می کند تا به مطرح کردن موارد مورد نیاز پرداخته و از یکدیگر بیاموزند.

ایونت استورمینگ در طول زمان تکامل یافته و رویکردهای اجرایی مختلفی برای آن به وجود آمده است. گام هایی که در ادامه به آن ها اشاره خواهد شد، مراحل اصلی ایونت استورمینگ را شامل می شوند. با این حال، شما به راحتی می توانید روند اجرایی را مبتنی بر نیازها و اهداف خود سازگار کنید و تغییرات مدنظر را در آن اعمال کنید.

یک کارگاه ایونت استورمنیگ
یک کارگاه ایونت استورمنیگ

موارد مورد نیاز

نکته بسیار مهم این است که تنها افراد مورد نیاز در کارگاه ایونت استورمینگ حاضر شوند. این کارگاه شامل افرادی می شود که سوالات مدنظر را می پرسند(توسعه دهندگان محصول) و اشخاصی که به سوالات پاسخ می دهند (مدیر محصول و یا متخصص حوزه مورد نظر). برخلاف فرآیندهای مدل سازی سنتی که اغلب به یک گروه کوچک یا یک توسعه دهنده تکیه می کنند تا داده ها، رفتارها و اشیاء را به نمایش در آورند، ایونت استورمینگ با گروهی حداقل 6 تا 8 نفر برگزار می شود. همانگونه که ذکر شد، برای رسیدن به نتایج موردنظر باید افراد مناسب در ایونت استورمینگ شرکت کنند. اما افراد مناسب چه کسانی هستند؟

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

نتایج حاصل از این کارگاه، در قالب مدلی از استیکی نوت ها بر روی دیوار ساخته می شود. قبل از اجرای کارگاه ایونت استورمینگ در نظر داشته باشید که به تعداد قابل توجهی استیکی نوت رنگی نیاز خواهید داشت، پس مطمئن شوید که قبل از شروع کارگاه آن ها را تهیه می کنید.

مراحل ایونت استورمینگ

1- شناسایی رویدادها

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

2- شناسایی دستورات مرتبط با رویدادها

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

در ایونت استورمینگ، علت به وجود آمدن یک رویداد با نام دستور (Command) شناخته می شود.

بر طبق قاعده، دستورات را بر روی استیکی نوت های آبی یادداشت می کنیم. این دستورات اغلب نمایانگر تعاملات کاربران با محصول هستند. به عنوان مثال، "ثبت سفارش خرید کالا" یک دستور است که توسط کاربر در تعامل با محصول رخ می دهد.


3- مرتبط کردن رویدادها با واکنش ها

بخش آخر از این تکنیک مرتبط با جایی است که در نتیجه رخ دادن یک رویداد خاص اتفاق می افتد. واکنش ها (Reactions) اقدامات یا نتایج به وجود آمده از رویداد هستند که با زمان حال به نگارش در می آیند. به عنوان مثال یک واکنش می تواند در قالب زیر بیان شود:

"زمانی که یک حساب جدید در سایت ایجاد می شود، یک ایمیل حاوی پیام خوشامد گویی برای کاربر جدید ارسال می شود. "

حرف آخر

ایونت استورمینگ تکنیکی است که به روش های مختلف در جهان برای شناسایی نیازها و فرآیندها مورد استفاده قرار می گیرد. ترکیب رویدادها، دستورات و واکنش ها موجب می شود فرآیندهای علت و معلول محصولات و حوزه های مورد نظر را درک کرده و راه حلی سریع و مناسب برای آن ها ارائه دهید. در آینده به بررسی جزئیات بیشتری از ایونت استورمینگ در بخش دوم این مقاله خواهیم پرداخت.

شاد باشید! -- آیدین