یه بکلاگ خوب برای محصول، مثل یه آدم سالمه: مرتب، منظم و همیشه قابل دیدن.
یه بکلاگ اولویتبندیشده توی فضای Agile فقط کار برنامهریزی برای Release و اسپرینت رو راحتتر نمیکنه؛ بلکه یه جورایی بلندگوئه برای همه کارایی که تیم قراره روش وقت بذاره حتی اونایی که پشت صحنهان و مشتری هیچوقت نمیفهمه وجود دارن.
این شفافسازی کلی کمک میکنه توقع ذینفعها و تیمهای دیگه از تیم شما واقعیتر باشه، مخصوصاً وقتی کار جدیدی میخوان بندازن روی دوشتون. خلاصه اینکه وقت مهندسی تیم، دیگه یه چیز نامحدود و کشاومدنی نیست؛ یه منبع ثابته که باید درست مدیریت شه.
بکلاگ محصول چیه؟
بکلاگ محصول در واقع یه لیست اولویتبندیشده از همه کاراییه که تیم توسعه باید انجام بده، و این لیست از روی نقشه راه محصول (Product Roadmap) و نیازمندیهاش ساخته میشه. مهمترین کارا همیشه بالای لیست قرار میگیرن، تا تیم دقیق بدونه اول باید سراغ چی بره.
اما یه نکته مهم: تیم توسعه بههیچوجه طبق سرعت و برنامه ذهنیِ Product Owner کار نمیکنه و Product Owner هم قرار نیست هی کار بریزه سر تیم. برعکس، این تیمه که بسته به ظرفیتی که داره، خودش کار رو از توی بکلاگ برمیداره. حالا یا بهصورت مداوم (توی Kanban) یا بهصورت مرحلهای (توی Scrum).
🔥 یه نکته حرفهای:
همه چی رو توی یه ابزار پیگیری (Issue Tracker) نگه دار. نیای با چند تا سیستم جداگانه باگها، نیازمندیها و کارهای مهندسی رو دنبال کنی. اگه کاریه که تیم توسعه قراره انجام بده، باید توی همون بکلاگ اصلی باشه. بدون استثنا.
از دو تا «R» شروع کن
Roadmap و Requirements یعنی نقشه راه و نیازمندیها پایه و اساس بکلاگ رو میسازن. توی نقشه راه، هر ابتکار یا هدف بزرگ (initiative) تبدیل میشه به چند تا epic، و هر epic هم خودش چند تا نیازمندی و user story داره.
بیا با یه مثال از یه محصول خیالی به اسم Teams in Space همه اینا رو با هم ببینیم… 🚀
از اونجایی که اولین قدم توی نقشه راه محصول Teams in Space راهاندازی وبسایتشه، باید این بخش رو به چند تا epic خرد کنیم (که اینجا با رنگهای سبز، آبی و فیروزهای نشون داده شدن)، و برای هر epic هم یه سری user story بنویسیم.
این کار باعث میشه یه پروژه بزرگ و گنگ، تبدیل بشه به یه مجموعه کار قابل مدیریت که تیم میتونه دونهدونه برش داره و روش کار کنه. هر epic یه تیکه مهم از اون ابتکاره، و user storyها هم توضیح میدن که از دید کاربر، دقیقا چه کاری باید انجام بشه.
بهزبون سادهتر: داریم یه هدف کلی رو میشکونیم به تیکههای قابل گاز گرفتن!
حالا نوبت Product Owner ـه که همهی این user storyها رو توی یه لیست واحد برای تیم توسعه بچینه.
حالا بسته به شرایط، PO (مخفف Product Owner) میتونه تصمیم بگیره یا اول یه epic کامل رو تحویل بده (مثل مثالی که سمت چپ میبینی)، یا اگه برای برنامه مهمتر باشه که مثلا قابلیت رزرو پرواز با تخفیف سریعتر تست بشه، اونوقت باید چند تا user story از epicهای مختلف رو کنار هم بچینه (مثل اون چیزی که سمت راست نشون داده شده).
در واقع PO باید بین “تحویل کامل یه بخش خاص” یا “ارائه سریع یه تجربهی مهم برای کاربر” انتخاب کنه. بستگی داره تیم و محصول توی چه مرحلهای باشن و چی اولویت بیشتری داشته باشه.
این یعنی بکلاگ فقط یه لیست خشک و خالی نیست؛ یه ابزار زندهست برای تصمیمگیری هوشمندانه و ساخت چیزایی که واقعاً ارزش دارن.
چی باعث میشه Product Owner یه کار رو زودتر از بقیه تو بکلاگ بذاره بالا؟
خب، چند تا عامل مهم هست که رو اولویتبندی PO تاثیر میذاره:
- چی برای مشتری مهمتره؟
- نیاز فوری به گرفتن فیدبک داریم؟
- کدوم کارا سختتر یا راحتتر انجام میشن؟
- بعضی کارا به هم ربط دارن؟ مثلاً اگه اول A رو انجام بدیم، B راحتتر میشه؟
درسته که Product Owner مسئول مستقیم اولویتبندی توی بکلاگه، ولی این تصمیمگیری توی یه خلا انجام نمیشه. یه PO کاربلد همیشه با مشتریا، طراحها و تیم توسعه در ارتباطه تا بتونه یه تعادل خوب بین نیازا، ظرفیت تیم، و سرعت تحویل ایجاد کنه.
چطوری یه بکلاگ رو درست و حسابی مدیریت کنیم؟
وقتی بکلاگ ساخته شد، باید مرتب نگهش داری. چون برنامه همیشه در حال تغییره، بکلاگ هم باید آپدیت بمونه.
PO باید قبل از هر جلسهی برنامهریزی اسپرینت یه دور بکلاگ رو مرور کنه؛ مطمئن شه ترتیب کارا درست مونده و بازخوردهایی که از اسپرینت قبل گرفتن، وارد بکلاگ شده باشه.
این بازبینی دورهای توی دنیای Agile معروفه به Backlog Grooming یا گاهی Backlog Refinement.
بکلاگ کوچیک نیست؟ خب، تقسیمش کن!
اگه بکلاگ بزرگ بشه (که معمولاً میشه)، PO باید آیتمها رو به دو دسته تقسیم کنه:
- آیتمهای نزدیک (near-term):
باید کامل و واضح باشن. یعنی user story نوشته شده، با تیم طراحی و توسعه هماهنگ شده، و تخمین زمانی هم براش زده شده. - آیتمهای بلندمدت (long-term):
هنوز میتونن یهکم مبهم باشن. ولی بهتره یه تخمین حدودی از تیم توسعه بگیری تا بتونی جای درستشون تو بکلاگ رو مشخص کنی. تأکید روی کلمه “حدودیـه”، چون وقتی تیم واقعا بخواد روش کار کنه، تخمین واقعی مشخص میشه.
بکلاگ پل ارتباطی بین PO و تیم توسعهست. PO میتونه هر وقت بخواد اولویت کارا رو عوض کنه مثلاً با گرفتن فیدبک جدید از مشتری یا وقتی تخمینها دقیقتر شدن.
ولی وقتی یه کار شروع شده، دیگه تغییرش نده، چون تمرکز تیم بههم میریزه، جریان کار کند میشه و روحیه اعضا هم ممکنه ضربه بخوره.
💡 یه نکته حرفهای:
اگه حجم بکلاگ از توان بلندمدت تیم بیشتر شد، ایرادی نداره بعضی آیتمها رو ببندی. مثلاً میتونی توی issue tracker اونها رو با برچسبی مثل “خارج از محدوده” (out of scope) ببندی، تا اگه بعداً خواستی، بهعنوان رفرنس بری سراغشون.
اشتباهاتی که نباید بکنید (Anti-patterns):
- PO فقط اول پروژه یهبار بکلاگ رو اولویتبندی میکنه و دیگه به بازخوردها اهمیت نمیده.
- فقط کارهایی که مستقیم جلوی چشم مشتریان توی بکلاگ قرار میگیرن.
- بکلاگ یه فایل محلیه که فقط هر از گاهی دست کسی میافته، و بقیه تیم هیچ دیدی بهش ندارن.
بکلاگ یعنی چابکی واقعی
یه PO باهوش همیشه در حال نگهداری و بهروزرسانی بکلاگه تا هم یه تصویر واضح از مسیر پروژه داشته باشه، هم همه بتونن ببینن چی قراره ساخته بشه.
بکلاگ باعث میشه درباره اولویتها بحث و تبادل نظر شکل بگیره، چون واقعاً همه چیز نمیتونه اولویت اول باشه. وقتی ذینفعها به ترتیب کارا اعتراض میکنن، اتفاقاً خوبه! این یعنی یه گفتوگوی سازنده در جریانه تا همه همراستا بشن.
از طرف دیگه، بکلاگ پایهی اصلی برنامهریزی اسپرینته.
هر چی هست باید توی بکلاگ باشهچه user story، چه باگ، چه تغییر طراحی، چه بدهی فنی، چه درخواست مشتری، چه خروجی جلسه retrospective. اینطوری میدونیم دقیقاً قراره چی کار کنیم و هیچ چیزی از قلم نمیافته.
💡 یه نکته دیگه:
PO تعیین میکنه چی توی بکلاگ اولویته، ولی تیم توسعه تعیین میکنه با چه سرعتی از بکلاگ جلو برن.
اینجا خیلی از POهای تازهکار اشتباه میکنن و میخوان هی کار “پوش” کنن سمت تیم. اما Agile یعنی جریان کار، نه فشار.
مقالات مرتبط با scrum: