Story pointlar — bu chaqqon ishlab chiqish metodologiyalarida vazifalarning murakkabligini o'lchashning nisbiy birliklaridir. Soatlardan farqli o'laroq, story pointlar nafaqat vaqtni, balki vazifaning murakkabligi, risklari va noaniqligini ham hisobga oladi. Scrum.org, 2023 ma'lumotlariga ko'ra, story pointlarda nisbiy baholashdan foydalanadigan jamoalar soatlarda baholaydigan jamoalarga nisbatan sprint muddatlarini 25% kam o'tkazib yuboradi.
Asosiy ma'lumotlar
Story pointlar — Scrum va boshqa Agile metodologiyalarida qo'llaniladigan vazifa murakkabligi metrikasidir. Jamoa har bir vazifani soatlarda emas, balki nisbiy birliklarda baholaydi: “bu vazifa etalondan ikki baravar murakkab”. Bunday yondashuv turli dasturchilarning tezlik farqini yo'qotadi va murakkablikka e'tibor qaratadi.
Story point tushunchasi 2000-yillarning boshida Scrum ommalashishi bilan paydo bo'ldi. Birinchilardan bo'lib Ron Jeffries Extreme Programming (XP) doirasida usulni tasvirlab berdi. G'oya har doim noto'g'ri bo'lgan “inson-soat” baholashdan jamoa birgalikda aniqlaydigan nisbiy murakkablikka o'tish edi. Hozir story pointlar Agile jamoalar uchun sanoat standartidir.
Story pointlar bilan baholashda jamoa uch omilni hisobga oladi: ish hajmi (kod miqdori, ekranlar, logika), murakkablik (texnik qiyinchiliklar, yangi texnologiyalar) va noaniqlik (noaniq talablar, risklar). Bir story point “risksiz oddiy vazifa”, 8 esa “yuqori noaniqlik bilan murakkab vazifa” ma'nosini anglatishi mumkin.
Story point shkalasini tanlash baholash aniqligi va rejalashtirish qulayligiga ta'sir qiladi. Eng mashhur shkala Fibonachchi ketma-ketligidir, ammo muqobillar ham mavjud.
| Shkala | Qiymatlar | Afzalliklar | Kamchiliklar |
|---|---|---|---|
| Fibonachchi | 1, 2, 3, 5, 8, 13, 21 | Katta vazifalarda tabiiy tarqalish o'sishi | Yangi jamoalar uchun murakkab |
| Chiziqli | 1, 2, 3, 4, 5 | Oddiy va tushunarli | Katta vazifalar uchun tarqalish yo'q |
| Darajali | 1, 2, 4, 8, 16, 32 | Katta vazifalarda maksimal tarqalish | Katta vazifalarni farqlash qiyin |
| T-Shirt | S, M, L, XL | Tez taxminiy baholash | Noaniq, konvertatsiya talab qiladi |
Fibonachchi ketma-ketligi tasodifan tanlanmagan. 1 va 2 o'rtasidagi farq minimal (50%), 13 va 21 o'rtasida esa sezilarli (62%). Bu haqiqatni aks ettiradi: kichik vazifalar aniqroq baholanadi, kattalar esa ko'proq tarqalish bilan. Vazifa 21 story point deb baholanganda, jamoa tushunadi: “buning qancha vaqt olishini bilmaymiz, lekin 13 dan ko'proq”. Fibonachchi shkalasi soxta aniqlikning oldini oladi.
Shkala ishlashi uchun jamoa etalon haqida kelishadi: “X vazifasi — 1 story point”. Odatda etalon oddiy, yaxshi tanish vazifa tanlanadi: “ekraniga matn maydoni qo'shish” yoki “matn terish xatosi turidagi bag'ni tuzatish”. Boshqa barcha vazifalar etalonga nisbatan baholanadi. Etalonsiz story pointlar ma'nosini yo'qotadi — har kim birlikni o'zicha tushunadi.
Velocity (jamoa tezligi) — jamoaning bir sprintda yopadigan o'rtacha story pointlar soni. Bu loyiha muddatlarini prognozlash uchun asosiy metrikadir.
Velocity tugallangan vazifalar asosida hisoblanadi: jamoa tugatishga ulgurgan barcha vazifalarning story pointlari yig'iladi (definition of done bajarilgan). Tugallanmagan vazifalar hisobga olinmaydi. Aniqlik uchun oxirgi 3-5 sprintning o'rtachasi olinadi. Masalan, jamoa oxirgi 4 sprintda 20, 22, 18 va 24 story pointni yopgan bo'lsa, velocity = 21 sp.
Velocity va backlogning umumiy hajmini story pointlarda bilib, relizgacha bo'lgan sprintlar sonini prognozlash mumkin. Masalan, backlogda 210 story point bo'lsa va velocity = 21, 10 sprint kerak bo'ladi. Bu ish jarayonida aniqlashtiriladigan taxminiy prognoz. Muhim: velocity o'rtacha, majburiyat emas. Pastki chegaraga (18 sp) qarab rejalashtiring, o'rtachaga emas.
Velocity buyruq bilan oshirilmaydi — bu jarayonlar sog'lig'ining belgisidir. Barqaror velocity o'sishiga quyidagilar orqali erishiladi: texnik qarzlarni kamaytirish, kod-tekshirish jarayonlarini yaxshilash, kontekst almashinuvlarini kamaytirish, testlash va CI/CD ni avtomatlashtirish. Muhim: turli jamoalarning velocity sini solishtirib bo'lmaydi — har bir jamoa story pointlarni o'zicha belgilaydi.
Story pointlar va soatlar turli maqsadlarga ega va ular orasidagi tanlov kontekstga bog'liq. Tajribali jamoalar turli vazifalar uchun ikkala yondashuvdan foydalanadi.
Story pointlar sprint rejalashtirish uchun ajralmasdir: ular vazifani kim bajarishiga bog'liq emas. Junior kuniga 2 sp, senior — 4 sp bajarishi mumkin, ammo vazifaning bahosi ikkalasi uchun ham 2 sp bo'lib qoladi. Story pointlar dasturchilarni solishtirmasdan jamoa unumdorligini kuzatish imkonini beradi. Bu siyosiy bosimni kamaytiradi va jamoa muhitini yaxshilaydi.
Soatlar tashqi majburiyatlar uchun zarur: shartnomalar, smetalar, mijoz hisobotlari. Mijoz “8 story point” emas, “3 hafta” bilishni xohlaydi. Story pointlarni soatlarga aylantirish uchun historical conversion rate ishlatiladi: jamoa 1 sp = taxminan 4 soat ish ekanligini biladi. Konvertatsiya shaffof va ma'lumotlarga asoslangan bo'lishi kerak, taxminlarga emas.
Ko'p jamoalar kombinatsiyalangan yondashuvdan foydalanadi: vazifalar sprint rejalashtirish uchun story pointlarda baholanadi, keyin menejer ularni tashqi hisobot uchun soat/kunga aylantiradi. Bir jarayonda ikki tizimni aralashtirmaslik muhim: yo story pointlarda baholang va vaqtni velocity dan chiqaring, yoki to'g'ridan-to'g'ri soatlarda baholang.
Story pointlarni joriy qilish ko'pincha nisbiy baholash afzalliklarini bekor qiladigan xatolar bilan birga keladi. Eng keng tarqalganlari quyidagilar.
Eng keng tarqalgan xato — jamoa kelishadi: “1 sp = 4 soat”. Bu holda story pointlar ma'nosini yo'qotadi va boshqa nom ostida soatlarga aylanadi. Story pointlar nisbiy bo'lishi kerak, vaqtga bog'liq bo'lmasligi kerak. Agar A vazifasi B vazifasidan ikki baravar murakkab bo'lsa, necha soat olishidan qat'i nazar, 2 sp oladi.
Vazifa bajarilgandan keyin baholanganda — bu baholash emas, faktni qayd etishdir. Story pointlar ish boshlanishidan oldin, maksimal noaniqlik momentida belgilanishi kerak. Post-factum baholash velocity ni buzadi va rejalashtirish uchun foyda bermaydi. Bundan tashqari, soxta aniqlik hissi yaratadi.
A va B jamoasining velocity sini solishtirish — ma'nosiz mashq. Har bir jamoa etalon va shkalani o'zicha belgilaydi. Bir jamoa uchun 1 sp bir soatlik oddiy vazifa, boshqasi uchun — bir kunlik vazifa. Faqat bir jamoaning velocity sini dinamikada solishtirish mumkin: o'syaptimi yoki kamayyaptimi.
Bir xil murakkablikdagi turli vazifalar har xil story pointlar, murakkabroqlari esa kamroq olganda, shkala buziladi. Jamoa muntazam ravishda shkalani kalibrlashi kerak: har 3-6 sprintda baholarning real murakkablikka qanchalik mos kelganini retrospektiv tekshirish. Bu baholarning izchilligini yaxshilaydi.
Tez-tez beriladigan savollar
Story pointlarning soatlarda qat'iy ekvivalenti yo'q. Bu nisbiy birlik: 1 sp = etalon vazifaning murakkabligi. Soatlarga aylantirish uchun jamoangizning historical conversion rate dan foydalaning: sprintdagi o'rtacha ish soatlarini velocity ga bo'ling. Odatda 1 sp = 4-8 soat, ammo bu har bir jamoa uchun individualdir.
Ha, story pointlarni Kanbanda ishlatish mumkin, ammo cheklovlar bilan. Kanbanda qat'iy sprintlar yo'q, shuning uchun velocity sprint uchun emas, balki hafta yoki oy uchun hisoblanadi. Kanban jamoalari ko'pincha story pointlar o'rniga Cycle Time — vazifaning boshidan oxirigacha o'tish vaqtidan foydalanadi. Tanlov jamoaning xususiyatlariga bog'liq.
Agar baholar farq qilsa (biri 3 sp, boshqasi 13 sp bersa), bu vazifa yaxshi tushunilmaganligidan dalolat beradi. Vazifani kichikroq qismlarga ajrating. Turli dasturchilar ko'rgan risklar va noaniqliklarni muhokama qiling. Agar vazifa katta bo'lsa, story pointlar o'rniga Spike (2-4 kunlik tadqiqot) sifatida baholang.
O'tish 3-6 sprint davom etadi. Shkala tanlash (Fibonachchi — safest choice) va etalon vazifani belgilash bilan boshlang. 2-3 Planning Poker sessiyasi o'tkazing. Har sprintdan keyin velocity ni hisoblang. Story pointlarni soatlarga aylantirmang — jamoaning yangi tizimga ko'nikishiga imkon bering. 3 sprintdan keyin rejalashtirish qanchalik yaxshilanganini ko'rasiz.
Yo'q, baho o'zgarmaydi. Story pointlar ish boshlanishidan oldin qilingan dastlabki murakkablik bahosidir. Vazifa bajarilgandan keyin, hatto real mehnat sarfi boshqacha bo'lsa ham, baho bir xil qoladi. Post-factum bahoni o'zgartirish statistikani buzadi va prognozlashni ma'nosiz qiladi. Farqlarni retrospektivda tahlil qiling, lekin bahoni orqaga qarab o'zgartirmang.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.
Shuningdek o'qing