بکلاگ — فهرست مرتبی از تمام وظایف، نیازمندیها و بهبودهایی است که باید در پروژه پیادهسازی شوند. این مصنوع مرکزی متدولوژیهای چابک است: در اسکرام، بکلاگ توسط Product Owner مدیریت میشود، در کانبان — توسط کل تیم. به گفته Scrum Guide, 2020، بکلاگ هرگز کامل نیست: همواره همراه با محصول و نیازهای بازار تکامل مییابد.
نکات کلیدی
بکلاگ (از انگلیسی backlog) — منبع واحد نیازمندیها برای تمام تغییرات در محصول است. Product Owner مسئول محتوا، دسترسی و شفافیت آن است: هر عضو تیم باید بداند چه وظایفی در بکلاگ وجود دارد و به چه ترتیبی اجرا خواهند شد.
Product Backlog شامل تمام وظایف پروژه در چشمانداز است — از ویژگیهای سهماهه بعدی تا ایدههای یکساله. Sprint Backlog — زیرمجموعهای از وظایف Product Backlog است که تیم برای اسپرینت جاری برمیدارد. Sprint Backlog در طول اسپرینت ثابت میماند، در حالی که Product Backlog دائماً تغییر میکند.
در اسکرام، بکلاگ به شدت ساختاریافته است: Product Backlog و Sprint Backlog وجود دارد، وظایف در استوری پوینت تخمین زده میشوند، اسپرینتها طول ثابتی دارند. در کانبان، بکلاگ انعطافپذیرتر است: وظایف با آزاد شدن برنامهنویسان کشیده میشوند، اولویتها میتوانند روزانه تغییر کنند و محدودیتهای WIP (work in progress) جریان وظایف را تنظیم میکنند.
بکلاگ باکیفیت شامل انواع مختلف وظایف است، نه فقط قابلیتهای جدید. بکلاگ متوازن تمام جنبههای توسعه محصول را در نظر میگیرد.
| نوع عنصر | توضیحات | مثال |
|---|---|---|
| User Story | قابلیت جدید از دید کاربر | «به عنوان کاربر، میخواهم رمز عبور خود را بازنشانی کنم» |
| Bug | نقص یا خطا در قابلیت موجود | «دکمه ثبتنام در iOS 16 کار نمیکند» |
| Tech Debt | بهبود پایگاه کد بدون اثر قابل مشاهده برای کاربر | «بهروزرسانی وابستگیها به آخرین نسخهها» |
| Spike / Research | تحقیق یا نمونه اولیه برای کاهش عدم قطعیت | «بررسی امکان مهاجرت به Jetpack Compose» |
| Improvement | بهبود فرآیندها یا زیرساخت | «راهاندازی CI/CD برای ساخت خودکار» |
بلوک ساختمانی اصلی بکلاگ User Story (داستان کاربر) است. User Story باکیفیت توضیح میدهد که کاربر چه ارزشی دریافت میکند، نه اینکه چه اقدامات فنی باید انجام شود. قالب INVEST: Independent, Negotiable, Valuable, Estimable, Small, Testable. داستان باید در یک اسپرینت جا بگیرد، در غیر این صورت باید تجزیه شود.
معیارهای پذیرش (acceptance criteria) مشخص میکنند که چه زمانی یک وظیفه انجام شده تلقی میشود. آنها در قالب Given-When-Then یا به صورت فهرست سادهای از شرایط نوشته میشوند. به عنوان مثال: «کاربر میتواند رمز عبور را از طریق ایمیل بازنشانی کند، ایمیل در ۳۰ ثانیه میرسد، لینک به مدت ۲۴ ساعت فعال است». معیارهای پذیرش واضح، اختلافات را در مرحله دمو از بین میبرند.
اولویتبندی — مهمترین و دشوارترین فرآیند مدیریت بکلاگ است. Product Owner باید ارزش تجاری، تلاش، ریسکها و وابستگیهای بین وظایف را در نظر بگیرد.
MoSCoW — روش کلاسیک اولویتبندی. Must have — بدون وظیفه، محصول کار نمیکند. Should have — وظیفه مهم اما قابل تعویق. Could have — بهبودی که دوست داریم انجام دهیم. Won’t have — وظایف به تعویق افتاده برای آینده. توزیع: ۶۰٪ Must، ۲۰٪ Should، ۲۰٪ Could. این روش به تمرکز بر قابلیتهای حیاتی کمک میکند.
ماتریس «ارزش / تلاش» وظایف را به چهار ربع تقسیم میکند: Quick Wins (ارزش بالا، تلاش کم) — اول انجام میدهیم، Big Bets (ارزش بالا، تلاش زیاد) — از قبل برنامهریزی میکنیم، Fill-ins (ارزش کم، تلاش کم) — در فاصلهها انجام میدهیم، و Avoid (ارزش کم، تلاش زیاد) — انجام نمیدهیم. این رویکرد امکان حداکثرسازی ارزش با منابع محدود را فراهم میکند.
WSJF — روش اولویتبندی از SAFe، مبتنی بر فرمول: ارزش / اندازه وظیفه. هرچه نسبت ارزش به اندازه بیشتر باشد، اولویت بالاتر است. WSJF ارزش تجاری، بحرانی بودن زمان و ریسکها را در نظر میگیرد. این روش برای تیمهای محصولی بالغ با حجم زیاد بکلاگ مناسب است.
مدیریت مؤثر بکلاگ نیازمند فعالیتهای منظم، ابزارهای مناسب و انضباط کل تیم است.
Refinement — جلسه منظم (معمولاً هفتهای یک بار) که در آن تیم عناصر بکلاگ را شفافسازی، ارزیابی و اولویتبندی مجدد میکند. Scrum Guide توصیه میکند بیش از ۱۰٪ از زمان تیم را صرف refinement نکنید. نتیجه: ۲۰-۳۰٪ بالایی بکلاگ برای برنامهریزی اسپرینت آماده است — دارای تخمین، معیارهای پذیرش و تأیید.
محبوبترین ابزارها برای مدیریت بکلاگ: Jira (استاندارد صنعت با پیکربندی انعطافپذیر workflow)، Linear (ردیاب سریع و مدرن)، Trello (برای تیمهای کوچک و کانبان)، Notion (فضای انعطافپذیر با پایگاه داده) و Youtrack. انتخاب ابزار به اندازه تیم، متدولوژی و بودجه بستگی دارد.
حتی Product Ownerهای با تجربه اشتباهاتی در مدیریت بکلاگ مرتکب میشوند که کارایی تیم و کیفیت محصول را کاهش میدهد.
رایجترین اشتباه — ریختن تمام ایدهها بدون فیلتر و اولویتبندی در بکلاگ. بکلاگ به صدها وظیفه رشد میکند که جهتیابی در آن غیرممکن میشود. راهحل: تمیز کردن منظم بکلاگ — حذف وظایف قدیمی، ادغام موارد مشابه، به تعویق انداختن موارد غیرضروری. بکلاگ سالم شامل ۵۰-۱۰۰ عنصر است، نه هزاران.
وقتی بکلاگ فقط از User Story تشکیل شده باشد، بدهی فنی افزایش مییابد و بهبودهای زیرساختی به تعویق میافتند. دیر یا زود تیم به سقف بهرهوری به دلیل وابستگیهای قدیمی، عدم وجود تستها یا مشکلات معماری برخورد میکند. قانون: ۲۰٪ وظایف در اسپرینت باید فنی باشند — بازسازی، تستها، بهروزرسانیها.
جزئینویسی وظایف ۳-۶ ماه آینده اتلاف وقت است. نیازمندیها تغییر میکنند، بازار تکامل مییابد و وظایف با جزئیات نوشته شده باید بازنویسی شوند. فقط وظایفی را جزئینویسی کنید که در ۱-۲ اسپرینت آینده قرار میگیرند. برای وظایف دور، عنوان و توضیح کوتاه کافی است.
باگهای کوچک وارد بکلاگ نمیشوند چون «وقت نیست» یا «بعداً درست میکنیم». با گذشت زمان، باگها بیشتر میشوند، کیفیت کاهش مییابد و محصول اعتماد کاربران را از دست میدهد. قانون: هر باگ در بکلاگ ثبت میشود، حتی اگر اولویت پایینی داشته باشد. اگر باگهای زیادی جمع شدهاند — یک اسپرینت را به رفع آنها اختصاص دهید.
سؤالات متداول
Product Backlog — فهرست کامل تمام وظایف پروژه در چشمانداز بلندمدت است که توسط Product Owner مدیریت میشود. Sprint Backlog — زیرمجموعهای از وظایف Product Backlog است که تیم برای اسپرینت جاری برمیدارد. Sprint Backlog در طول اسپرینت ثابت میماند، Product Backlog دائماً تغییر میکند.
بکلاگ بر عهده Product Owner است. او اولویتها را تعیین میکند، وظایف را فرموله میکند و در مورد آمادگی عناصر برای اسپرینت تصمیم میگیرد. برنامهنویسان میتوانند تغییرات پیشنهاد دهند، وظایف فنی اضافه کنند و پیچیدگی را ارزیابی کنند، اما تصمیم نهایی در مورد اولویتها با Product Owner است.
Grooming توصیه میشود هفتهای یک بار یا حداقل یک بار در هر اسپرینت انجام شود. Scrum Guide توصیه میکند بیش از ۱۰٪ از زمان برنامهنویسان را صرف refinement نکنید. برای اسپرینت دو هفتهای، این حدود ۱-۲ ساعت در هفته است. Grooming منظم از انباشت «زباله» در بکلاگ جلوگیری میکند.
یک Product Backlog سالم شامل ۵۰-۱۰۰ عنصر است. کمتر — به این معنی است که تیم به آینده فکر نمیکند، بیشتر — بکلاگ به زبالهدان تبدیل میشود. مهم تعداد وظایف نیست، بلکه کیفیت آنهاست: ۲۰-۳۰٪ بالایی باید برای اسپرینت آماده باشند، بقیه — در درجات مختلف آمادهسازی.
Product Backlog را میتوان در هر زمان تغییر داد — این وضعیت عادی آن است. اما Sprint Backlog برای تمرکز تیم بر هدف، در طول اسپرینت ثابت میماند. تنها استثنا: زمانی که Product Owner وظیفهای را به دلیل از دست دادن اولویت از اسپرینت حذف میکند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.