آشنایی با Impact Mapping

1. مقدمه:هنگام که می‌خواهیم ویژگی‌هایی را به محصول خود اضافه کنیم نیاز به ابزارها و روال‌هایی داریم که ما را در این فرایند تشخیص، تعریف و اولویت بندی این ویژگی‌ها کمک کنند. Impact Mapping یک تکنیک گرافیکی برنامه ریزی استراتژیک است. در ابتدا برای خود هدفی تعیین می‌کنیم و از همانجا شروع به گسترش کار خواهیم کرد. هر ویژگی که شناسایی می‌کنیم تاثیری مستقیم در رسیدن به آن هدف خواهد داشت. Impact Mapping هنگام توسعه و تحویل محصول به تیم‌ها کمک می‌کند تا فعالیت‌های خود را در راستای اهداف کسب و کار قرار داده و از گم شدن تیم‌ها در مسیر پرپیچ و خم توسعه محصول جلو‌گیری می‌کند. این تکنیک در سال 2012 توسط Gojko Adzic در کتاب Impact Mapping معرفی شد.2. معرفی Impact Mapping:مانند Story Mapping و Mind Mapping این تکنیک هم یک روش بصری است. این روش برای تشخیص و اولویت بندی ویژگی‌ها مورد نیاز استفاده می‌شود. این تکنیک خیلی سریع برای ما یک مسیر جذاب ایجاد می‌کند. مسیری که از هدف اصلی شروع می‌شود و تعیین می‌کند کدامیک از نقش آفرینان (Actor) در سیستم چه تاثیری برای رسیدن به هدف می‌تواند ایجاد کنند و برای اینکه بخواهد این تاثر را ایجاد کنند چه کارهایی باید انجام دهند.هنگامی که هدف را پایه و اساس کار قرار می‌دهیم، عملا زمان بیشتری را برای تشخیص و تعریف دقیق‌تر هدف تخصیص می‌دهیم. اگر هدف درست و خوش تعریفی نداشته باشیم هر تلاشی ممکن است ما را از مسیر اصلی کار دور کند. اگر می‌خواهیم مطمئن باشیم هدف درستی داریم باید به این پنج پرسش که مخفف آن Smart می‌شود پاسخ دهیم:آیا هدف شما خاص (Specific) است؟آیا هدف شما قابل اندازه گیری (Measurable) است؟آیا عملگرا (Action-oriented) است؟آیا هدفتان واقع‌بینانه (Realistic) است؟آیا به‌موقع (Timely) است؟مثل هر فرایند و تکنیک دیگری دیدگاه‌ها، تجربیات و نظرات مختلفی در این حوزه وجود دارد. هنگامی که این فرایند را با تیم‌ها و گروه‌های مختلفی پیش ‌می‌برید خواهید دید که با توجه به عقاید و پیش‌زمینه‌هایی که در هر گروه وجود دراد همپوشانی‌ها و تفاوت‌هایی نیز در این فرایند وجود خواهد داشت.3. تکنیک Impact Mapping چه دستاورد هایی را ایجاد می‌کند؟اگر این تکنیک به درستی و کامل انجام شود، دستاورد‌های مختلفی را به دنبال خواهد داشت. تیم اجرایی، هدفی را تعیین کرده است و با کمک این تکنیک ارتباط بین دست‌یابی به هدف تعیین شده و سرمایه‌گذاری که روی محصول انجام می‌شود واضح و شفاف خواهد شد. وقتی که تیم اجرایی تاثیر سرمایه گذاری خود روی محصول و هدفی که می‌خواهند به آن رسند را به طور واضح مشاهده می‌کند، در انجام آن کار مصمم خواهد شد و هر بحث و جنجالی در مورد ارزشمند بودن سرمایه گذاری روی محصول پایان خواهد یافت. تمام توجه‌ها به فراهم کردن سرمایه و ابزارهای مورد نیاز برای پیاده سازی محصول و رسیدن به هدف متمرکز خواهد شد.از منظر تیم توسعه اگر به این نقشه راه نگاه کنیم آن‌ها یک ارتباط مستقیم بین عملکرد‌هایی که پیاده سازی می‌کنند و هدف سازمان مشاهده می‌کنند. با این نقشه راهی که در اختیار تیم قرار دارد آن‌ها کاملا روی ویژگی‌هایی متمرکز می‌شوند که در جهت رسیدن به هدف است. هر گونه حواس پرتی و توجه به ویژگی‌هایی که برای رسیدن به هدف مهم نیست از فرایند‌های تیم خارج خواهد شد. اما کار در اینجا به پایان نمی‌رسد. Impact Mapping برای مشتری‌های کلیدی ما نیز دستاورد‌هایی خواهد داشت. به کمک این نقشه راه مشتری‌ها ابزاری در اختیار دارند که می‌توانند اولویت‌بندی‌های خود را در پیاده سازی ویژگی‌ها را بهتر بیان کنند. 4. چرا مدیر محصول باید به این ابزار مسلح باشد؟تولید و نگهداری یک محصول یک فرایند زمانگیر است. خیلی وقت‌ها با گذر زمان شرکت‌ها و تیم‌ها فراموش می‌کنند که راه حلی که ارائه کرده اند قرار بود کدام مسئله را حل کند. محصول در طول زمان تغییر ماهیت می‌دهد و در نهایت محصولی تولید می‌شود که هیچ ارتباطی به هدف اولیه ندارد. با این شرایط یا بازار محصول از دست خواهد رفت و یا در نهایت محصولی خواهیم داشت که پر از ویژگی‌های هیجان انگیز اما بدون استفاده است که هیچ کمکی در رسیدن به هدف نمی‌کنند.به کمک Impact Mapping تیم محصول همیشه راهنمایی دارد که آن‌ها را به سمت هدف اصلی هدایت می‌کند. با استفاده از این فرایند اگر ویژگی‌ای را تشخیص دهیم که مسیری از هدف اصلی به آن وجود نداشته باشد خیلی سریع متوجه خواهیم شد که ویژگی اشتباه و غیرکاربردی را می‌خواهیم توسعه دهیم. به کمک این ابزار می‌توانیم خیلی ساده به ذینفع‌های پروژه توضیح دهیم چرا یک ویژگی را برای توسعه محصول در اولیت قرار داده ایم و ویژگی دیگری را از فرایند توسعه خارج کرده‌ایم. از آنجایی که Impact Map بسیار ساده و مصور است استفاده از آن برای هر کاری ساده است. با توجه به اینکه تمرکز کامل این تکنیک روی هدف اصلی است، اساسا جر و بحث در برابر آن اتفاق نمی‌افتد.5. چگونه یک Impact Map بسازیم؟ساخت Impact Map بسیار ساده است. در ابتدا شما به یک هدف نیاز دارید که کار را از آنجا شروع کنید و شاخ و برگ‌هایی را به آن اضافه کنید. هر مرحله که کار را جلو می‌بریم ممکن است چندین شاخه به مرحله قبل اضافه کنیم. با توجه به اینکه هر مرحله با توجه به مرحله قبل توسعه داده می‌شود بسیار مهم است که کار را مرحله به مرحله و به ترتیب پیش ببریم. اگر شما یک مرحله را رها کنید یا از چندین مرحله پرش کنید و به مرحله آخر بروید، کاملا از هدف این تکنیک دور خواهید شد. نکته کلیدی در این تکنیک این است که هر سطح از کار را با توجه به سطح قبلی توسعه دهیم. شاید در ابتدا این تکنیک کمی سخت و رسمی به نظر برسد، اما اگر کمی در آن دقیق شوید خواهید دید که کار اتفاقا بسیار ساده و غیر رسمی پیش‌خواهد رفت و کافی است یک Mind Map ساده ایجاد کنید.برای اینکه کمی دقیق تر در مورد این فرایند بدانیم در ادامه مثالی را بررسی خواهیم کرد.6. مثال:فرض کنید یک فروشگاه آنلاین دارید و محصولات متفاوتی در آن به فروش می‌رسانید. برای شما هدفی تعیین می‌شود که برای سال جاری فروش محصول یا محصولاتی را به مقدار مشخصی افزایش دهید. مثلا قرار است برای سال جاری فروش دوچرخه 25 درصد بیشتر شود. حال با این صورت مسئله به تصویر زیر نگاه کنید.همانطور که مشاهده می‌کنید با یک هدف شروع کردیم که در این مثال 25 درصد افزایش فروش دوچرخه بوده است. در ادامه تعیین کرده‌ایم که چه نقش‌آفرینانی در این فرایند می‌توانند کمک کنند. سپس تعیین کرده ایم که هر کدام از این نقش آفرینان چه تاثیری در رسیدن به این هدف می‌توانند بگذارند و در انتها گفته ایم که هر کدام از نقش آفرینان برای اینکه تاثیری که باید را در رسیدن به هدف بگذارند چه کارهایی باید انجام دهند. مثل اینکه برنامه نویس‌ها باید سرعت سایت را بیشتر کنند تا استفاده از سایت ساده‌تر شود. یا اینکه برای اینکه مراجعین غیر عضو هم برای خرید ترغیب شوند، فرایند خرید به صورت غیر عضو را به سایت اضافه کنند. حال که با یک مثال با Impact Mapping آشنا شدیم بیایید هر سطح را جداگانه معرفی و بررسی کنیم.6.1. ابتدا به سراغ چرایی انجام کار می‌رویم Goalبا هدف انجام کار شروع می‌کنیم و خیلی واضح بیان می‌کنیم چرا میخواهیم این کار‌ها را انجام دهیم. از انجا که تعیین هدف کل فرایند را تحت تاثیر قرار می‌دهد باید برای تعیین آن دقت کافی به خرج دهیم.6.2. نقش‌آفرینان افرادی که در رسیدن به هدف همراهمان هستنند Actors:افراد و گروه‌های مختلفی در موفقیت یا عدم موفقیت ما در رسیدن به هدف تاثیر گذار هستند. پس در ادامه به سراغ شناسایی این افراد و گروه‌ها می‌رویم. باید دریابیم که چه افرادی ما را در این فرایند کمک خواهند کرد. دقت کنید که لزوما این افراد نیرو‌های تیم و شرکت نیستند. ممکن است مشتریان فعلی سیستم نیز از نقش‌آفرینان ما در رسیدن به هدف باشند.6.3. چه تاثیری می‌گذارند Impact:حالا که فهمیدیم چه هدفی داریم و چه کسانی به ما در انجام این کار کمک می‌کنند، وقت آن رسیده است که پیدا کنیم که هر فرد یا گروه در این مسیر چه تاثیرهایی خواهد گذاشت. 6.4. چگونه تاثیر گذاشته می‌شود Deliverables:در نهایت تعیین می‌کنیم که هرکدام از نقش‌آفرینان چه کارهایی انجام می‌دهند تا در فرایند رسیدن به هدف تاثیری گذار باشند. حال که این لیست را داریم و ارتباط کاملی از هدف تا کاری که باید انجام شود وجود دارد به سادگی می‌توانیم ویژگی‌های محصول را اولویت بندی کنیم و به ترتیب اولویت روی آن‌های سرمایه گذاری کرده و به هدفمان برسیم. 7. جمع بندی:در این قسمت با یک تکنیک بسیار ساده و کاربردی در توسعه محصول آشنا شدیم. این تکنیک ابزاری بسیار کاربردی برای همه افرادی است که در فرایند توسعه محصول همکاری می‌کنند. سرمایه گذارها می‌دانند برای رسیدن به اهدافشان چه کارهایی انجام می شود و سرمایه آن‌ها کجا هزینه می‌شود. مدیر محصول می‌داند قرار است کشتی محصول را به کدام ساحل آرامش برساند. تحلیل‌گرهای سیستم برای شناخت کلی سیستم و تعیین اولویت‌های کاریشان از آن استفاده می‌کنند و ...در صورتی که تمایل دارید در این موضوع مطالب بیشتری مطالعه کنید اینجا می‌توانید منابع و مطالب متنوعی را بیابید. مثال این مطلب از کتاب PATTERNS, PRINCIPLES, AND PRACTICES OF DOMAIN-DRIVEN DESIGN نوشته آقایان Scott Millet و Nick Tune گرفته شده است. پ.ن: یعنی برای این روزا دل تنگ می‌شیم؟