توصیه هایی برای برنامه‌ریزی جهت انتشار محصول

توجه: این مطلب ترجمه ای از دو مقاله Release Planning Advice و Product Roadmap Prioritisation در خصوص مدیریت محصول و نوشته رومن پیچلر می باشد. برای مطالعه نکات و مطالب تکمیلی تر در خصوص موضوع این مقالات به کتاب تدبیراندیشی برای محصول نوشته رومن پیچلر که توسط گروه ذهن چابک ترجمه شده است، مراجعه نمائید.مقدمهبرنامه ریزی جهت انتشار محصول یا همان Release Planning فعالیت مهمی برای افراد محصول (مدیران و مالکان محصول) است که با تیم های چابک همکاری می کنند: انجام این کار باعث می شود که آنها اطمینان حاصل کنند محصول در مسیر صحیح قرار دارد. برنامه انتشار محصول، استراتژی و تاکتیک ها را به هم مرتبط می سازد. علارغم اهمیت این موضوع، به نظر من برنامه ریزی انتشار محصول در تیمها همیشه به طور مؤثری انجام نمی شود. این مقاله قصد دارم توصیه هایی در خصوص برنامه ریزی انتشار محصول و بهبود آن با شما مطرح کنم.برنامه ریزی برای انتشار محصول چیست و چه اهمیتی دارد؟گرچه واژه های «انتشار» و «برنامه ریزی برای انتشار» اصطلاحات متداولی هستند، اما به نظر من افراد مختلف برداشتهای متفاوتی از آنها دارند. من «انتشار» را یک نسخه از یک محصول می دانم، برای مثال Mac OS X Catalina و یا Windows 10. انتشار محصول به دو شکل است: انتشارهای اصلی یا major مانند iOS 13 و انتشارهای جزئی یا minor مانند iOS 13.3.«برنامه ریزی جهت انتشار» فرایند تعیین نتایج مطلوب از عرضه یک یا چند انتشار اصلی و به حداکثر رساندن شانس دستیابی به آن نتایج است. این برنامه ریزی شامل موارد زیر است:• تعیین اهداف شفاف، مشخص و قابل اندازه گیری: اینها را اهداف محصول یا اهداف انتشار می نامیم و آنها را در نقشه راه محصول مشخص می کنیم.• تعیین کارهایی که باید انجام شود: مشخص کردن این کارها به طور معمول همراه با تخمین های سطح بالا و نادقیقی است که تیم توسعه باید مشخص کند.• شناخت محدودیت های زمانی و بودجه: آیا مهلت های دقیقی وجود دارد که باید رعایت شوند؟، و یا آیا بودجه ثابت است؟• فرایند نظارت بر پیشرفت محصول در هر اسپرینت و انجام اصلاحات لازم در صورت نیاز: برنامه ریزی انتشار محصول در اسکرام بطور تکرار شونده یا iterative و اغلب در انتهای یک اسپرینت انجام می شود (زمانیکه مشخص شد چقدر پیشرفت حاصل شده است).برنامه ریزی انتشار به شرکتها کمک می کند تصمیمهای سرمایه گذاری خود را به شکلی درست و آگاهانه بگیرند؛ باعث مشخص شدن انتظارات می شود، و ذینفعان محصول و تیم های توسعه را همسو و هم جهت می سازد؛ و به افراد محصول این امکان را می‌دهد که فعالیت های تیم توسعه را راهبری و هدایت کنند.بنابراین شما -به عنوان فرد مسئول محصول- بایستی مطمئن شوید که برنامه ریزی انتشار محصول بطور موثر و درستی اجرا شود. این امر مستلزم آن است که به جای واگذاری اینکار به تیم توسعه یا اسکرام مستر، خودتان به صورت جدی در این کار فعال باشید.استفاده از نقشه راه محصول برای برنامه ریزی چندین انتشاربرنامه ریزی انتشار در دو سطح انجام می شود: در سطح چندین انتشار اصلی و یا درون یک انتشار. اولی را می توان با نقشه راه محصول انجام داد. ترجیح من این است که با نقشه راه هدفگرا یا Go Product Roadmap کار کنید (برای اطلاعات بیشتر در خصوص این نقشه، به کتاب تدبیراندیشی برای محصول مراجعه کنید). این نقشه مزایا یا نتایج مطلوب هر انتشار اصلی را برای 12 ماه آینده بیان می کند (شکل زیر). این اهداف می تواند جذب کاربران جدید، افزایش نرخ تبدیل کاربر، کاهش هزینه و یا حذف بدهی فنی برای محصول آتی باشد.اهداف موجود در نقشه راه محصول باید یک داستان قانع کننده درباره پیشرفت احتمالی محصول شما را بیان کند. آنها باید توصیف کننده سفری باشند که شما برای خلق ارزش برای کاربران و کسب و کارتان شروع کرده اید. چنین نقشه راهی باعث استمرار هدف شده و این اطمینان را حاصل می کند که هر یک از انتشارهای محصول، ادامه ای بر انتشار قبلی و تکمیل کننده آن بوده و از این طریق پیشرفت و بهبود محصول به روشی درستی حاصل خواهد شد. از این گذشته، هدف گذاری در نقشه راه به شما کمک می نماید تا آیتم های بک لاگ محصول را محدود به مواردی کنید که برای دستیابی به هدف انتشار بعدی لازم و ضروری هستند.اما فراموش نکنید که نقشه راه محصول خود را بطور منظم (حداقل هر سه ماه یکبار) بازبینی کنید. همانطور که اطلاعات بیشتری در مورد توانایی تیم توسعه برای پیشرفت بدست می آورید و درک بهتری نسبت به چگونگی پاسخگویی به نیازهای کاربر و کسب و کار پیدا می کنید، باید نقشه راه خود را به روز کنید. این کار تضمین می کند که طرح شما عملی بوده و چراغ راه ذینفعان محصول و تیم توسعه خواهد بود.اولویت بندی نقشه راه محصولهمانطور که گفته شد، اولویت بندی نقشه راه محصول یکی از چالش های مهم افراد محصول است. چه آیتمی باید بالاترین اولویت را داشته باشد؟ کدامیک باید به تعویق بیفتد؟توجه داشته باشید که پیش از شروع به اولویت بندی اقلام نقشه راه، بایستی مطمئن شوید که یک استراتژی معتبر و درست برای محصول‌تان دارید. شما باید بتوانید با اطمینان بگویید که چرا کاربران تمایل به استفاده از محصول شما دارند و چرا شرکت شما باید در این محصول سرمایه گذاری کند؟ بعبارت دیگر باید پاسخ مناسبی برای سوالات زیر داشته باشید:• محصول شما کدام مشکل کاربر را حل خواهد کرد و یا چه منفعتی به او خواهد رساند؟• محصول شما چگونه برای کسب و کارتان ایجاد ارزش می کند؟ آیا محصول درآمد مستقیم خلق می کند؟ یا به بهبود بازار و فروش محصول دیگری کمک می کند؟ یا هزینه ها را کاهش می دهد؟ و یا بِرندتان را توسعه می دهد؟اگر پاسخ این سوالات را نمی دانید، ابتدا فرایند کشف و تعیین استراتژی محصول را انجام دهید و سپس به سراغ اولویت بندی نقشه راه بروید. در غیر اینصورت نقشه راه تان بر اساس فرضیات اشتباهی ساخته می شود.برای اطلاعات بیشتر در این خصوص به کتاب تدبیراندیشی برای محصول مراجعه کنید.روایتی قانع کننده بسازیدبرای اولویت بندی نقشه راه، مشخص کنید که محصول شما در چه مرحله ای از چرخه عمرش قرار دارد. تا زمانیکه محصول به بلوغ نرسیده باشد، باید دائماً رو به جلو حرکت کند: در ابتدا باید به بازار عرضه شود، سپس به تناسب بازار و محصول دست یابد و در نهایت به رشدی پایدار برسد.نقشه راه شما در این مراحل چرخه عمر باید داستان قانع کننده ای درباره پیشرفت احتمالی محصولتان بگوید؛ باید سفری که برای خلق ارزش مطلوب برای کاربران و کسب و کار در پیش گرفته اید را به خوبی توصیف کند. برای رسیدن به اولویت بندی درست، مراحل زیر را دنبال کنید:• تعیین کنید که چگونه می توانید اهداف کاربر و کسب و کار که در استراتژی محصولتان نیز بیان شده است را برآورده سازید. بهترین راه برای دستیابی به آنها چیست؟ چگونه می توانید آنها را به اهداف کوچکتری تقسیم کنید؟• اهداف ایجاد شده در مرحله قبل را مرتب کنید، به گونه ای که هر یک از آنها پیشرفت منطقی و یک گام رو به جلو در جهت برآورده ساختن اهداف کلی کاربر و کسب و کار باشند (با در نظر گرفتن هر نوع وابستگی بین اهداف).برای محصول یک بِرند جدید، این موضوع بدان معنا است که شما باید بسته به مدل کسب و کاری محصول تان، کار را با مرحله جذب کاربر شروع کنید و سپس به سراغ مراحل فعال سازی کاربر، بازگشت کاربر و در نهایت کسب درآمد از کاربر بروید. برای محصولی که در مرحله رشد قرار گرفته، ممکن است ابتدا بخواهید بدهی فنی آن را حذف کنید، قبل از اینکه تجربه کاربری یا UX محصول را بهبود داده و بخواهید نرخ تبدیل مشتری به خریدار را افزایش دهید.اگر پیش از شروع اولویت بندی شما یکسری موارد در نقشه راه محصول از قبل وجود داشته باشند، بررسی کنید که آیا آنها در رسیدن به اهداف تازه ایجاد شده به شما کمکی می کنند؟ اگر اینگونه است، هدف مناسب را به آنها تخصیص دهید. در غیر اینصورت، یا این مورد را حذف کنید و یا بررسی کنید که آیا تغییر اهداف بمنظور انطباق آنها با این موارد سودمند خواهد بود یا نه. تحلیل هزینه-سود ممکن است در این خصوص به شما کمک کند.به هر حال مطمئن شوید که نقشه راه شما داستانی منسجم و معنادار را بیان می کند که به وضوح چگونگی خلق ارزش توسط محصول را منتقل می سازد.مشخص کردن هزینه تاخیروقتی محصول شما وارد مرحله بلوغ خود شد، معمولاً نمی خواهید آن را به یک سفر بزرگ دیگر ببرید، مگر اینکه تصمیم بگیرید چرخه عمر آن را تمدید کنید! در واقع شما در نقطه ای قرار دارید که می خواهید جایگاه محصولتان را در بازار حفظ کرده و بازدهی آن را به حداکثر می رسانید.در نتیجه، اغلب بایستی به اهداف غیرمرتبط و كوچكتری توجه کنید، همچون پایدار ماندن ارتباط با مشتری یا جلوگیری از ریزش مشتری با عرضه بهبودهای تدریجی در محصول و یا رفع اشکالات آن. اما این اهداف غالباً فاقد ارتباط‌های واضح و روشن با هم هستند و دنباله ای منطقی از یک روایت را شکل نمی دهند.در مواجهه با چنین چالشی، توصیه می کنم برای انجام اولویت بندی مناسب، از مفهوم هزینه تأخیر یا cost of delay استفاده کنید. به بیان ساده تر، از خود بپرسید چنانچه در هر یک از موارد نقشه راه تأخیر بوجود آید، ضرر و زیان ناشی از آن چقدر بزرگ است؟ به عنوان مثال، اگر مطمئن نیستید که ابتدا باید تجربه کاربری را برای تثبیت تعامل با مشتری بهبود دهید و یا اینکه رفع اشکالات فنی را بخاطر جلوگیری از ریزش مشتریان در اولویت قرار دهید، ابتدا تاثیر به تاخیر انداختن هر هدف را شناسایی کنید.وقتی هزینه به تعویق انداختن هر یک از موارد را تعیین کردید، آنها را از بزرگترین تا کوچکترین هزینه اولویت بندی کنید.اجازه ندهید که ذینفعان قدرتمند، اولویتهای خودشان را به شما دیکته کننددر دو راهکاری که در بالا توضیح داده شد، فرض بر این است که نیازهای کاربر و کسب و کار همراه با مرحله ای که چرخه عمر محصول در آن قرار دارد، اولویت بندی نقشه راه محصول شما را مشخص کنند؛ و نه نظر بالاترین مقامی که بودجه محصول را تامین می کند!اشتباه نکنید: من اعتقاد زیادی به ترسیم نقشه راه محصول بصورت مشارکتی دارم. ذینفعان اصلی و اعضای تیم توسعه را به طور فعال در این کار مشارکت دهید، افراد را ترغیب کنید که ایده ها و دغدغه هایشان را با شما به اشتراک بگذارند، با دقت به آنها گوش دهید و تا آنجا که ممکن است یک توافق مشترک بین همه ایجاد کنید.اما اگر با افرادی روبرو شدید که از شما می خواهند و اصرار دارند که در ابتدا علایق و یا منافع شخصی آنها برآورده شود، به راحتی تسلیم نشوید. سعی در خشنود کردن آنها نداشته باشید و از مکالمه سخت با آنها نهراسید. درعوض، با صبر و حوصله به آنها گوش دهید و از آنها بخاطر اینکه ایده خود را برایتان بازگو کرده اند، تشکر کنید. سپس آنها را به جلسه بعدی نقشه راه محصول دعوت کنید تا آنها بتوانند درخواست خود را با سایر ذینفعان به اشتراک بگذارند و به طور مشترک تصمیم گیری شود که آیا و چه زمانی می توان به این درخواست رسیدگی کرد. و اگر موضوع فوری است، نظر همه را در اسرع وقت جمع کنید.تبدیل شدن به یک فرد حرفه ای در محصول، به معنای گرفتن تصمیمات دشوار است. و اولویت بندی به معنای گفتن «نه» می باشد. این موضوع بخش مهمی از کار شما بعنوان فرد مسئول محصول است، حتی اگر آن را دوست نداشته باشید!عوامل موفقیت برای انتشارهای خود را اولویت بندی کنیددر یک دنیای ایده آل، تیم توسعه تمام انتشارهای موجود در نقشه راه محصول را به موقع و با بودجه تعیین شده تحویل می دهد. اما در واقعیت، اتفاقات پیش بینی نشده زیادی رخ خواهد داد. برای مثال ممکن است میزان پیشرفت در توسعه محصول به همان اندازه پیش بینی شده سریع نباشد، یا ممکن است یکی از فناوری ها مطابق انتظار کار نکند.برای به حداکثر رساندن شانس موفقیت، توصیه می کنم سه عامل هدف، تاریخ و بودجه انتشارهای موجود در نقشه راه محصول را اولویت بندی کنید. یک راه برای انجام این کار، تعیین تأثیر عدم دستیابی (کامل) به یک هدف، از دست دادن تاریخ انتشار موردنظر، و افزایش بودجه است. سپس مهمترین عامل را مرتفع کنید -عاملی که عدم رعایت نشدن آن، بیشترین آسیب را به دنبال خواهد داشت و بنابراین بیشترین تأثیر را در موفقیت محصول دارد. سعی کنید دومین عامل را نیز مورد بررسی قرار دهید. در خصوص عامل سوم می توانید انعطاف پذیر باشید (عاملی که کمترین تأثیر را در موفقیت یک انتشار اصلی دارد).شاید متوجه شده باشید که من به عامل کیفیت اشاره ای نکرده ام. دلیل این کار آن است که کیفیت باید همیشه ثابت باشد و به هیچ عنوان خدشه دار نشود. بعنوان فرد مسئول محصول، مراقب بدهی های فنی باشید؛ در غیر این صورت پاسخگویی به نیازمندی کاربر، تغییر شرایط بازار و انطباق سریع محصول شما اگر غیرممکن نباشد، اما بسیار دشوار خواهد بود.استفاده از روش های درست تخمینتخمین هزینه انتشارها در نقشه راه محصول در تامین بودجه مورد نیاز تاثیرگذار است. حتی اگر بودجه ثابت باشد نیز این تخمین هزینه به شما کمک می کند تا بفهمید که آیا نقشه راه واقع بینانه و عملی است یا نه -آیا تیم توسعه واقعاً می تواند محصول را پیاده سازی کند؟ تخمین های سطح بالا و نادقیق معمولاً برای رسیدن به این هدف کافی هستند.برای تعیین این تخمین ها، به تجربه خود در خصوص محصولات مشابه و یا نسخه های قبلی همان محصول مراجعه کنید؛ ببینید آیا افراد کافی با تجربه مناسب جهت توسعه این محصول در شرکت وجود دارند و یا باید افراد جدیدی استخدام کنید؟ این موضوع نشانه ای از هزینه اولیه مورد نیاز است. سپس هزینه امکانات، زیرساخت ها، مواد اولیه، مجوزها و سایر موارد مرتبط را به آن اضافه کنید. این فعالیت را می توانید با کمک تیم توسعه انجام دهید.اگر باور دارید که تخمین های حاصل شده خیلی مبهم هستند، می توانید راهکار جایگزینی را در نظر بگیرید: تجزیه قابلیتهای نقشه راه محصول به اپیک ها Epics و داستان های کاربر User Stories؛ که البته اینکار منجر به بک لاگ محصول طولانی و پر از جزئیاتی می شود که نگهداری و اصلاح آن دشوار خواهد بود. علاوه بر این، این فرایند ممکن است روزها -و در برخی موارد هفته ها- طول بکشد و با وجود اینکه تخمین های با جزئیات بیشتری بدست آورده اید، اما باز هم آنها در این مرحله دقیق نخواهند بود.هنگامی که بودجه لازم تأمین شد و مطمئن شدید که انتشارهای موجود در نقشه راه واقع بینانه هستند، بایستی قدم بعدی را بردارید و بک لاگ محصول را مشخص کنید: برای اینکار اپیک ها را از روی قابلیتهایی که مربوط به یک هدف هستند، استخراج کنید. سپس مشخص کنید که این انتشار به چه بخش های عملکردی دیگری نیاز دارد و آنها را نیز به عنوان اپیک به بک لاگ محصول اضافه نمائید. در آخر نیز بک لاگ را اولویت بندی کنید. این روش منجر به ایجاد بک لاگی دقیق و کم حجم می شود که اقلام اولویت بالای آن آماده پیاده سازی هستند. فراموش نکنید که تیم توسعه را نیز در انجام این فعالیت سهیم کنید. برای اطلاعات بیشتر در این خصوص به کتاب تدبیراندیشی برای محصول مراجعه کنید.تخمین اقلام موجود در بک لاگ محصول را می توان با استفاده از استوری پوینت و روش پلنینگ پوکر انجام داد. برای اطلاعات بیشتر به کتاب Agile Estimating and Planning نوشته مایک کوهن مراجعه کنید.استفاده از نمودار Burndown انتشار برای پیگیری میزان پیشرفتنمودار burndown انتشار، ابزاری ساده اما قدرتمند برای دنبال کردن و پیش بینی پیشرفت انتشار است. با وجود مفید بودن این ابزار، تجربه نشان داده که بسیاری از مالکان محصول اسکرام از این نمودار استفاده نمی کنند. اما ایجاد این نمودار ساده است. از تیم توسعه بخواهید تخمینی از مقدار کل اقلام بک لاگ محصول برای آن انتشار را در اختیار شما بگذارند. تخمین های سطح بالا و نادقیق کافی است. سپس دو محور ترسیم کنید که محور افقی آن زمان (در قالب شماره اسپرینت) و محور عمودی، میزان کار لازم روی بک لاگ محصول (از جنس استوری پوینت) را مشخص کند.اولین نقطه داده نمودار، تخمینی از میزان کار لازم برای توسعه اقلام این انتشار قبل از شروع کار توسعه است. برای رفتن به نقطه داده بعدی، میزان کار باقی مانده در بک لاگ محصول در انتهای اولین اسپرینت را تعیین کنید. سپس یک خط بین دو نقطه بکشید. این خط burndown نامیده می شود که نرخ پیشرفت انجام اقلام بک لاگ محصول را نشان می دهد. دو عامل روی این نمودار تاثیرگذار هستند: 1) تغییر در بک لاگ محصول و 2) سرعت یا همان velocity (که توانایی تیم توسعه برای پیش بردن کارها را نشان می دهد). امتداد دادن خط burndown تا محور افقی به شما این امکان را می دهد که پیش بینی کنید فعالیتها و کارهای تیم توسعه احتمالا چه زمانی به پایان می رسد (و یا اینکه چه زمانی به اهداف انتشار می رسید و تمام اقلام مرتبط در بک لاگ را تحویل می دهید).نمودار burndown انتشار در شکل بالا دو خط را نشان می دهد: خط ممتد، burndown واقعی است که پیشرفت تا به امروز و میزان کار باقی مانده را ثبت می کند. خط نقطه چین نیز پیشرفت پیش بینی شده بر اساس تجربه burndown کنونی را مشخص می کند. توجه کنید که burndown در دومین اسپرینت یک خط صاف افقی است که احتمالا نتیجه اضافه شدن اقلام جدید به بک لاگ محصول و یا بازنگری تیم توسعه در تخمین ها است.برای دستیابی به یک پیش بینی تا حد امکان دقیق، سه نکته زیر را مدنظر داشته باشید:1. پیش بینی خود را بیشتر بر اساس روند انجام دهید، نه بر اساس فقط یک اسپرینت. برای این منظور معمولا باید دو یا سه اسپرینت جلو بروید تا بتوانید اولین پیش بینی را برای یک انتشار انجام دهید.2. به این موضوع توجه داشته باشید که burndown اسپرینت های قبلی چقدر روی پیش بینی اسپرینت های باقیمانده تاثیرگذار هستند. در مثالی که در بالا نشان داده شد، دومین اسپرینت دارای یک burndown مسطح بود. این اتفاق ممکن است به دلیل اضافه شدن یکسری اقلام به بک لاگ محصول (بر اساس نتیجه اولین جلسه بررسی اسپرینت) و یا تخمین مجدد اقلام بک لاگ توسط تیم توسعه بوجود آمده باشد. برای رسیدن به یک پیش بینی درست، باید در نظر بگیرید که چقدر احتمال دارد که یک burndown دیگر به این شکل اتفاق بیفتد و تا چه میزان روی پیش بینی شما تاثیرگذار خواهد بود. اگر فکر می کنید احتمال تکرار مجدد آن خیلی ضعیف است، پیش بینی شما در نمودار بالا احتمالاً شیب تندتری خواهد داشت.3. مطمئن شوید اولویت بندی اقلام بک لاگ بخصوص در اسپرینت های اول را بر اساس ریسک انجام داده اید. این امر باعث می شود که به احتمال زیاد بک لاگ در چند اسپرینت اول تغییر کند و سپس تثبیت خواهد شد. همچنین پیش بینی کارهای باقیمانده آسان تر می شود و به یک پیش بینی دقیق تر خواهید رسید.اگر پیش بینی نشان دهد که خارج از مسیر هستید -burndown کندتر از حد پیش بینی است- دلایل آن را شناسایی کنید. به عنوان مثال، تیم توسعه ممکن است فاقد برخی مهارت های ضروری باشد، تیم ممکن است خیلی کوچک باشد، ممکن است یک فناوری آنطور که انتظار می رفته کار نکند، ممکن است شما خیلی خوش بین بوده باشید، و یا ممکن است تخمین های اولیه اشتباه بوده باشند. وقتی علت اصلی را مشخص کردید، تصمیم بگیرید که چگونه به آن واکنش نشان دهید. اولویت بندی مجدد هدف، زمان و هزینه به شما در این امر کمک می کند.توجه داشته باشید که اگر مجبور بودید تاریخ انتشار را به عقب بکشید و یا تغییر بزرگتری در هدف انتشار بدهید، این موضوع ممکن است در نقشه راه محصول تأثیر داشته باشد و لازم است آنرا اصلاح کنید.همکاری و تعامل در انجام برنامه ریزی انتشاربر اساس تجربه من، برنامه ریزی برای انتشار بهتر است به صورت یک فعالیت گروهی و با همراه کردن ذینفعان محصول و تیم توسعه انجام شود (شکل زیر). برای این کار، جلسات منظم طراحی نقشه راه محصول را برگزار کنید (به عنوان بخشی از فرایند بازبینی استراتژی محصول و با دعوت از ذینفعان اصلی و اعضای تیم توسعه). همچنین نمودار burndown انتشار را بروزرسانی کرده و در جلسات بازبینی اسپرینت در خصوص آن گفتگو کنید (با همان افراد قبلی).این همکاری تضمین می کند که تصمیمات بلند مدت و کوتاه مدت برنامه ریزی برای انتشارها با کمک ذینفعان محصول و تیم توسعه گرفته شده است و در نهایت منجر به برنامه های بهتر، همسویی بیشتر و افزایش تعهد به اجرای تصمیمات خواهد شد. توجه: این مقاله قبلا در سایت گروه مشاوره مدیریت ذهن چابک منتشر شده است.