«بک لاگ محصول / Product Backlog» یا بهاختصار بک لاگ، یک فهرست منظم از تسکها، فیچرها یا آیتمهایی است که باید بهعنوان بخشی از یک نقشه راه بزرگتر تکمیل شوند. ساخت یک محصول با یک ایده آغاز میشود و نیاز به یک تیم متعهد دارد تا محصولی خاص را پرورش دهید.
جالب است بدانید آیفون نیز ابتدا بهصورت یک محصول اولیه ساخته شد و بعدها مسیر محبوبیت خود در بین مخاطبان را باز کرد. همه دستاوردهای آیفون به لطف تیم بسیار خوب آن بود. وقتی شما یک تیم توسعهدهنده (دولوپرها) که از متد اسکرام استفاده میکند را مدیریت میکنید، برای رسیدن به محصول موفق، منظم بودن و منظم ماندن از اوجب واجبات است!
اما چطور یک تیم توسعهدهنده میتواند منظم بماند و به اهداف خود برسد؟ جواب مشخص است: با یک «لیست کار / To-Do List» آزمودن پس داده و صحیح. بک لاگ محصول اساساً یک لیست کار سازماندهیشده است؛ فهرستی منظم از تسکها، فیچرها و آیتمهایی است که باید تکمیل شوند تا کل محصول به هدف نهایی خود برسد.
اگر تیم شما از متدولوژی اجایل بهره میبرد، داشتن یک Product Backlog به شما کمک میکند پروژه خود را به بخشهای کوچکتر تقسیم کنید و سپس بین آن بخشها اولویتبندی کنید.
ادامه مطلب را حتماً دنبال کنید تا با هم نگاهی دقیقتر به بک لاگ محصول بیندازیم و با نحوه ساخت آن نیز آشنا شویم.
«تفکر چابک فقط یک متدولوژی نیست، بلکه یک نگاه متفاوت به کار تیمی و حل مسئله است. در اجیلیتی، آموزش Agile با رویکردی عملی، تدریجی و متناسب با فضای کاری تیمهای ایرانی طراحی شده است. این آموزشها برای کسانیست که میخواهند واقعاً چابک کار کنند.»
بک لاگ محصول چیست؟
بک لاگ محصول یک لیست اولویتبندی شده از آیتمها است تا تیم پروژه را به اهداف موردنظرش برساند. بهطورکلی، هر محصول در توسعه خود حتماً نیاز به یک بک لاگ محصول خواهد داشت و تیم توسعه نیاز مبرم به آن دارد.
گهگاهی نیز پیش میآید که برای توسعه یک محصول، تیمهای متعدد و بک لاگهای محصول متعددی وجود دارند که تیمها بهطور همزمان روی آنها کار میکنند. برای مثال، نگاهی بیندازیم به محصول شرکت ادوبی به نام «Adobe Creative Cloud». این محصول یک محصول کلان و بسیار بزرگ است که محصولات دیگری مانند فوتوشاپ، ایلوستریتور و افترافکتز را در خود جای داده است. بهاینترتیب، هر کدام از این محصولات تیمهای اختصاصی خود و بک لاگهای مربوط به خود را دارند.
معمولاً شما باید بک لاگ محصول را از «نقشه راه محصول / Product Roadmap» بسازید که در اصل یک برنامه عملی است برای تکامل محصول شما. دولوپرها از تسکهای موجود در Backlog استفاده میکنند تا به نتایج دلخواه خود به سریعترین شکل برسند.
انواع بک لاگ
در مدیریت پروژههای اجایل، بهویژه اسکرام، معمولاً وقتی صحبت از بک لاگ میشود، ذهن بهسرعت به سمت Product Backlog میرود که به آن پرداختیم. اما واقعیت این است که انواع مختلفی از بک لاگ وجود دارند که هرکدام هدف خاصی را دنبال میکنند.
-
بک لاگ اسپرینت / Sprint Backlog:
این لیست شامل آیتمهایی از بک لاگ محصول است که تیم توسعه برای یک اسپرینت خاص متعهد به انجام آنها شده است. علاوه بر آیتمهای انتخابشده از بک لاگ محصول، تسکهای فنی و جزئیات اجرایی نیز به آنها اضافه میشود. این بک لاگ در طول اسپرینت بهروزرسانی میشود و وضعیت پیشرفت کار را نشان میدهد.
-
بک لاگ انتشار / Release Backlog:
در برخی تیمها (نه همه آنها)، برای برنامهریزی بهتر انتشار نسخههای محصول، از بک لاگی به نام بک لاگ انتشار استفاده میشود. این بک لاگ مجموعهای از آیتمهایی است که قرار است در یک ورژن خاص منتشر شوند. به این ترتیب تیمها چشمانداز دقیقتری از محتوای هر نسخه خواهند داشت.
-
بک لاگ خطاها / Defect Backlog:
این بک لاگ شامل تمامی باگها، خطاها و مشکلاتی است که در حین توسعه یا پس از تحویل محصول شناسایی میشوند. گاهی این آیتمها در بک لاگ محصول وارد میشوند، اما در پروژههای بزرگتر ممکن است بهصورت جداگانه ساخته و نگهداری شوند تا اولویتبندی و رسیدگی به آنها دقیقتر و شفافتر صورت بگیرد.
نوع بک لاگ |
توضیحات |
مثال |
بک لاگ محصول |
فهرستی از آیتمها برای توسعه کل محصول |
فیچرهای جدید در فوتوشاپ |
بک لاگ اسپرینت |
آیتمهای منتخب برای انجام در یک اسپرینت |
تسکهای دو هفته آینده تیم توسعه |
بک لاگ انتشار |
آیتمهایی که قرار است در یک نسخه مشخص منتشر شوند |
لیست امکانات نسخه ۲.۰ اپلیکیشن |
بک لاگ خطاها |
لیست باگها و خطاهای شناساییشده |
گزارش باگ در ذخیره پروژه در افترافکت |
چه کسانی از بک لاگ محصول استفاده میکند؟
اگرچه هر تیم توسعهای میتواند از بک لاگ محصول استفاده کند، اما این ابزار بیشتر برای «تیمهای چابک / Agile Teams» و تیمهایی که از متد اسکرام استفاده میکنند رایج است و کمک میکند بهتر کارها را نظمدهی و اولویتبندی کنند. البته هر چارچوب، بک لاگ خود را به روشی متفاوت مدیریت میکند.
در بک لاگهای اجایل، اگر یک آیتم را مثلاً در یوزر استوری یا اپیک تغییر دهیم، تسکها در بک لاگ میتوانند بهراحتی تغییر کنند. در واقع تسکها در اجایل بسیار زنده و در حال تغییر هستند و اولویت آنها بسته به اهمیت در آن زمان توسط مالک محصول / Product Owner تغییر میکند. این تغییرات بخصوص در روشهایی مانند کانبان بسیار زیاد رخ میدهد و تیم باید به آپدیتهای لحظهای آگاه و پایبند باشد.
در مقابل، در چارچوب اسکرام، بک لاگ اسکرام سازمانیافتگی بیشتری دارد و مالک محصول بیشتر به لیست اولویتبندی آن پایبند است و با دقت بیشتری آن را حفظ میکند. در هر جلسه برنامه ریزی اسپرینت آیتمها از لیست Backlog به داخل لیست بک لاگ اسپرینت جابجا میشوند و تیم اسکرام باید روی انجام آنها در یک دوره اسپرینت تمرکز کند. پس از آن در جلسات اصلاح بک لاگ، آیتمها ممکن است متناسب با هدف آن زمان پروژه تغییر کرده یا آپدیت شوند.
چه آیتمهایی در بک لاگ محصول قرار میگیرند؟
تمام عناوین مربوط به محصول یا پروژه باید در Backlog قرار داده شوند. این که دقیقاً چه آیتمی باشد و به چه شکل، کاملاً به تیم توسعه مربوط میشود؛ اما آیتمهای زیر معمولاً در بک لاگ قرار میگیرند.
-
فیچرهای جدید
-
ایدههای جدید برای فیچرها
-
تمام باگها اعم از ساده یا بسیار شدید
-
بهبود فیچرها
-
بهبودها یا تغییرات صرفنظر شده
-
ویژگیهایی که ذینفعان یا مشتریان درخواست دادهاند
-
تغییرات در طراحی
-
مسائل مربوط به «تجربه کاربری / UX»
-
«بدهی فنی / Technical Debt»
-
تغییرات در زیرساختها
این آیتمها که بسیار از لحاظ اهمیت و اندازه میتوانند متفاوت باشند بر اساس مشکلات و نیازهای کاربر و ترجیح تیم توسعه توصیف و اولویتبندی میشوند. مثلاً مدیر محصول / Product Manager میتواند از داخل یک یوزر استوری آیتمی را استخراج و برای تیم توسعه قرار دهد.
5 قدم برای مدیریت بک لاگ
قدم 1: با یک نقشه راه منسجم و بینشی صحیحی از کاربر شروع کنید
ما در اجیلیتی معتقدیم که یک محصول برتر از توجه به موارد زیر به دست میآید:
-
بینش عمیق از نیازهای کاربر
-
استراتژی شفاف برای محصول
-
نقشه راه منسجم و مرتبط با اهداف پروژه
قبل از اینکه بخواهید یک Product Backlog بسازید و آن را اولویتبندی کنید باید بتوانید یک دید عمیق از «کاربر هدف» و نیازهای اساسی او به دست بیاورید. بهاینترتیب میتوانید یک نقشه راه دقیق بسازید که بهراحتی میشود آن را بهروز کرد و متناسب با اهداف تغییر داد.
قدم 2: تمام آیتمهای جدید را پیدا کرده و در بک لاگ خود قرار دهید
بهمحض اینکه نقشه راه خود را تهیه و بازبینی کردید، تمام موضوعات موردنیاز را از آن استخراج کرده و در بک لاگ محصول خود قرار دهید.
هدف اصلی نقشه راه، تعریف مسیر کلی محصول در حال توسعه، «انتشارهای مهم / Major Releases» و فیچرهای اصلی است. سپس در Backlog میتوانید تمام مسائل و موضوعات ریز و درشت، فیچرهای کوچک و بزرگ، باگها و همه درخواستهای مشتریان را جای دهید.
در این مرحله شما هنوز هیچچیزی را دستهبندی و اولویتبندی نکردهاید.
قدم 3: آیتمهای بک لاگ را در استوریها و اپیکها دستهبندی کنید
آیتمهای کوچک را در قالب استوری (داستان کاربر) و آیتمهای بزرگ را در قالب اپیک در بک لاگ جاگذاری کنید.
یادآوری:
-
«داستان کاربر / User Story» آیتمهایی هستند که از دید کاربر نهایی و به هدف برطرفکردن نیاز او نوشته شدهاند.
-
«اپیک / Epic» تکههای بزرگی از کار هستند که خودشان از چندین یوزر استوری تشکیل شدهاند.
قدم 4: موضوعات را اولویتبندی کنید
مالک محصول تمام آیتمهایی را که برای کوتاهمدت برنامهریزی شدهاند را در بالای Backlog قرار میدهد. این آیتمهای بالایی که معمولاً در اولویت انجام قرار دارند باید بهطور جامع توضیح داده شوند و هرچه از بالای لیست به پایین میآییم، با افت اولویت میشود توضیحات را کم کرد.
به بیان بهتر، هرچه اولویت کارها دورتر باشد میتوان فعلاً از توضیح جزئیات آن صرفنظر کرد. ولی آیتمهای نزدیک به اقدام باید از لحاظ نحوه اجرا کاملاً مشخص شده باشند.
عواملی که میتوانند در اولویتبندی آیتمها تاثیر بگذارند بهقرار زیرند:
-
ارزش آن فیچر
-
پیچیدگی اجرای آن آیتم
-
افورت یا تلاش لازم برای توسعه آن (Development Effort)
-
انتظارات مشتریان
-
گستره دسترسی و کاربری آن فیچر
-
تغییرات اخیر اعمال شده روی نقشه راه.
در واقع مالک محصول باید همواره اولویتبندی بک لاگ را متناسب با تغییرات «نقشه راه / Roadmap» بهروز کند و آیتمها را بهموقع حذف و اضافه کند.
قدم 5: بهطور منظم بک لاگ خود را بازبینی کنید
بسیار مهم است که بک لاگ محصول شما بهطور منظم بازبینی شود و موارد غیرضروری از آن حذف شده و نظم آن همواره حفظ شود. در تفکر چابک یا اجایل به این فرایند، تصفیه بک لاگ یا بهتر بگوییم «بک لاگ ریفاینمنت / Backlog Refinement» میگویند که در قالب جلسات ریفاینمنت برگزار میشود. البته در قدیم به آن «بک لاگ گرومینگ / Backlog Grooming» نیز میگفتند.
این بازبینیها در اولویتبندی تضمین میکند که بک لاگ شما همیشه مرتب و قابل اجراست و سرعت رشد پروژه شما همواره حفظ میشود.
اشتباهات رایج در مدیریت بک لاگ
بک لاگ نباید با یک سند نیازمندیها اشتباه گرفته شود. اگرچه نیازهای کاربر باید در آن دیده شود؛ اما تفاوتهای اساسی وجود دارد.
-
موارد موجود در لیست بک لاگ ضروریاند؛ اما بهتنهایی برای توصیف تغییرات موردنظر در محصول کافی نیستند. درک کامل از محصول از طریق گفتگوهایی که درباره آیتمهای جداگانه لیست بک لاگ محصول و اطلاعات تکمیلی که تیم برای ثبت درباره این آیتمها انتخاب میکند، حاصل میشود.
-
برخلاف آنچه در یک سند نیازمندیها ثبت میشود، قرارگرفتن یک آیتم در لیست Product Backlog لزوماً به معنی اینکه که حتماً تحویل داده خواهد شد نیست.
-
برخلاف سند نیازمندیها که بهصورت تثبیت شده است و انتظار میرود پس از یک مرحله مشخص دیگر تغییر نکند، لیست بک لاگ محصول با افزایش درک از محصول بهطور مداوم تغییر میکند.
-
برخلاف آنچه در یک سند نیازمندیها ثبت میشود، قرارگرفتن یک آیتم در لیست بک لاگ لزوماً به معنی اینکه که حتماً تحویل داده خواهد شد نیست.
اگر یک تیم پیش از نهایی کردن رویکرد خود برای مدیریت بک لاگ، شروع به استفاده از یک ابزار دیجیتال مدیریت پروژه مانند جیرا و ترلو کند، این ابزارها احتمالاً نگرش تیم به مدیریت بک لاگ را تحت تأثیر قرار میدهد. همچنین، تیم ممکن است بیش از حد درگیر نحوه استفاده از ابزار شود و به جای انتخاب فرآیندی که برای آنها مناسبتر است، به استفاده از ابزار متمرکز شود.
اگر Backlog را بهدرستی مدیریت نکنید این احتمال نیز وجود دارد که بک لاگ بیش از حد بزرگ شود و اجرای آن سخت شود. این وضعیت زمانی رخ میدهد که تیم هر ایدهای که برای دستیابی به هدف پیشنهاد میشود را به بک لاگ اضافه کند، اما این ایدهها را بررسی نکند یا آیتمهایی که قرار نیست تحویل داده شوند را حذف نکند.
همچنین، اگر در زمان نادرست یعنی زودتر از زمانی که تیم قصد دارد روی آنها کار کند تمام آیتمهای بزرگ به آیتمهای کوچکتر تقسیم شوند، عملاً کار روی آنها غیرممکن میشود و نظم و عملکرد تیم را بهشدت تحت تاثیر قرار میدهد.
جمعبندی
بک لاگ محصول، لیستی سازمانیافته از تسکها، فیچرها، ایدهها و نیازهایی است که باید برای توسعه و تکمیل محصول انجام شوند. این لیست به تیم کمک میکند تا تمامی جزئیات مربوط به پروژه را در قالبی منسجم داشته باشند و آنها را اولویتبندی کنند.
مدیریت صحیح Product Backlog فواید بسیاری دارد، از جمله تسهیل برنامهریزی، افزایش شفافیت در تیم و امکان تمرکز بر مهمترین تسکها. با بازبینی منظم و حذف آیتمهای غیرضروری، تیم شما میتواند بهرهوری خود را افزایش داده و محصولی موفق را در زمان مناسب تحویل دهد. یک بک لاگ خوب ابزار قدرتمندی است که تیم را در مسیر دستیابی به اهداف پروژه هدایت میکند.