Story pointlər — çevik inkişaf metodologiyalarında tapşırıqların mürəkkəbliyini ölçmək üçün nisbi vahidlərdir. Saatlardan fərqli olaraq, story pointlər təkcə vaxtı deyil, həm də mürəkkəbliyi, riskləri və qeyri-müəyyənliyi nəzərə alır. Scrum.org, 2023 məlumatlarına görə, story pointlərdə nisbi qiymətləndirmədən istifadə edən komandalar saatlarla qiymətləndirən komandalarla müqayisədə sprint vaxtlarını 25% daha az keçirirlər.
Əsas məqamlar
Story pointlər — Scrum və digər Agile metodologiyalarında istifadə olunan tapşırıq mürəkkəbliyi metrikasıdır. Komanda hər tapşırığı saatlarla deyil, nisbi vahidlərlə qiymətləndirir: “bu tapşırıq etalondan iki dəfə mürəkkəbdir”. Bu yanaşma müxtəlif tərtibatçıların sürət fərqini aradan qaldırır və mürəkkəbliyə fokuslanır.
Story point anlayışı 2000-ci illərin əvvəlində Scrum-un populyarlaşması ilə yaranmışdır. İlk dəfə Ron Jeffries tərəfindən Extreme Programming (XP) çərçivəsində təsvir edilmişdir. İdeya həmişə qeyri-dəqiq olan “insan-saat” qiymətləndirməsindən, komandanın kollektiv şəkildə müəyyən etdiyi nisbi mürəkkəbliyə keçmək idi. İndi story pointlər Agile komandaları üçün sənaye standartıdır.
Story pointlərlə qiymətləndirmədə komanda üç amili nəzərə alır: iş həcmi (kod miqdarı, ekranlar, logika), mürəkkəblik (texniki çətinliklər, yeni texnologiyalar) və qeyri-müəyyənlik (qeyri-müəyyən tələblər, risklər). Bir story point “risksiz sadə tapşırıq”, 8 isə “yüksək qeyri-müəyyənliklə mürəkkəb tapşırıq” mənasını verə bilər.
Story point şkalasının seçimi qiymətləndirmənin dəqiqliyinə və planlamanın rahatlığına təsir edir. Ən məşhur şkala Fibonaççi ardıcıllığıdır, lakin alternativlər də var.
| Şkala | Dəyərlər | Üstünlüklər | Çatışmazlıqlar |
|---|---|---|---|
| Fibonaççi | 1, 2, 3, 5, 8, 13, 21 | Böyük tapşırıqlarda təbii səpələnmə artımı | Yeni komandalar üçün çətin |
| Xətti | 1, 2, 3, 4, 5 | Sadə və anlaşıqlı | Böyük tapşırıqlar üçün səpələnmə yoxdur |
| Eksponensial | 1, 2, 4, 8, 16, 32 | Böyük tapşırıqlarda maksimum səpələnmə | Böyük tapşırıqları ayırd etmək çətindir |
| T-Shirt | S, M, L, XL | Sürətli kobud qiymətləndirmə | Qeyri-dəqiq, konvertasiya tələb edir |
Fibonaççi ardıcıllığı təsadüfən seçilməyib. 1 ilə 2 arasındakı fərq minimaldır (50%), 13 ilə 21 arasında isə əhəmiyyətlidir (62%). Bu reallığı əks etdirir: kiçik tapşırıqlar daha dəqiq qiymətləndirilir, böyüklər isə daha çox səpələnmə ilə. Tapşırıq 21 story point olaraq qiymətləndiriləndə komanda anlayır: “bunun nə qədər vaxt aparacağını bilmirik, amma mütləq 13-dən çoxdur”. Fibonaççi şkalası yalançı dəqiqliyin qarşısını alır.
Şkalanın işləməsi üçün komanda etalon barədə razılaşır: “X tapşırığı — 1 story pointdir”. Adətən etalon sadə, yaxşı tanış olan tapşırıq seçilir: “ekrana mətn sahəsi əlavə et” və ya “səhv növü olan bug-u düzəlt”. Bütün digər tapşırıqlar etalona nisbətən qiymətləndirilir. Etalon olmadan story pointlər mənasını itirir — hər kəs vahidi özünəməxsus şəkildə başa düşür.
Velocity (komanda sürəti) — komandanın bir sprintdə bağladığı orta story point sayı. Bu, layihə müddətlərini proqnozlaşdırmaq üçün əsas metrikadır.
Velocity tamamlanmış tapşırıqlara əsasən hesablanır: komandanın bitirməyi bacardığı bütün tapşırıqların story pointləri cəmlənir (definition of done yerinə yetirilib). Bitməmiş tapşırıqlar nəzərə alınmır. Dəqiqlik üçün son 3-5 sprintin ortalaması götürülür. Məsələn, komanda son 4 sprintdə 20, 22, 18 və 24 story point bağlayıbsa, velocity = 21 sp.
Velocity və backlogun ümumi həcmini story pointlərdə bilərək, buraxılışa qədər olan sprint sayını proqnozlaşdırmaq olar. Məsələn, backlogda 210 story point varsa və velocity = 21, 10 sprint lazımdır. Bu, iş prosesində dəqiqləşdirilən təxmini proqnozdur. Vacib: velocity ortalama deyil, öhdəlik deyil. Aşağı həddə (18 sp) görə planlaşdırın, orta ilə deyil.
Velocity əmrlə artırıla bilməz — bu, proseslərin sağlamlığının göstəricisidir. Davamlı velocity artımı aşağıdakılarla əldə edilir: texniki borcun azaldılması, kod-nəzərdən keçirmə proseslərinin yaxşılaşdırılması, kontekst dəyişmələrinin azaldılması, test avtomatlaşdırması və CI/CD. Vacib: müxtəlif komandaların velocity-si müqayisə edilə bilməz — hər komanda story pointləri özünəməxsus şəkildə təyin edir.
Story pointlərin və saatların fərqli məqsədləri var və onların arasında seçim kontekstdən asılıdır. Təcrübəli komandalar müxtəlif tapşırıqlar üçün hər iki yanaşmadan istifadə edir.
Story pointlər sprint planlaması üçün əvəzolunmazdır: onlar tapşırığı kimin edəcəyindən asılı deyil. Junior gündə 2 sp, senior — 4 sp edə bilər, lakin tapşırığın qiymətləndirilməsi hər ikisi üçün 2 sp olaraq qalır. Story pointlər tərtibatçıları müqayisə etmədən komanda məhsuldarlığını izləməyə imkan verir. Bu, siyasi təzyiqi azaldır və komanda atmosferini yaxşılaşdırır.
Saalar xarici öhdəliklər üçün lazımdır: müqavilələr, smetalar, müştəri hesabatları. Müştəri “8 story point” deyil, “3 həftə” bilmək istəyir. Story pointləri saatlara çevirmək üçün historical conversion rate istifadə olunur: komanda bilir ki, 1 sp = təxminən 4 saat iş. Konvertasiya şəffaf və məlumatlara əsaslanmalıdır, təxminlərə deyil.
Bir çox komanda kombinə edilmiş yanaşmadan istifadə edir: tapşırıqlar sprint planlaması üçün story pointlərdə qiymətləndirilir, sonra menecer xarici hesabat üçün onları saatlara/günlərə çevirir. Bir prosesdə iki sistemi qarışdırmamaq vacibdir: ya story pointlərdə qiymətləndirib vaxtı velocity-dən çıxarırsınız, ya da birbaşa saatlarla qiymətləndirirsiniz.
Story pointlərin tətbiqi tez-tez nisbi qiymətləndirmənin üstünlüklərini aradan qaldıran səhvlərlə müşayiət olunur. Ən geniş yayılmışlar bunlardır.
Ən geniş yayılmış səhv — komanda razılaşır: “1 sp = 4 saat”. Bu halda story pointlər mənasını itirir və başqa ad altında saatlara çevrilir. Story pointlər nisbi olmalıdır, vaxta bağlı olmamalıdır. Əgər A tapşırığı B tapşırığından iki dəfə mürəkkəbdirsə, neçə saat çəkməsindən asılı olmayaraq 2 sp alır.
Tapşırıq yerinə yetirildikdən sonra qiymətləndirildikdə — bu qiymətləndirmə deyil, faktın təsdiqidir. Story pointlər işə başlamazdan əvvəl, maksimum qeyri-müəyyənlik anında təyin edilməlidir. Post-factum qiymətləndirmə velocity-ni təhrif edir və planlama üçün fayda vermir. Üstəlik, yalançı dəqiqlik hissi yaradır.
A və B komandasının velocity-sini müqayisə etmək — mənasız məşqdir. Hər komanda etalon və şkalanı özünəməxsus şəkildə təyin edir. Bir komanda üçün 1 sp bir saatlıq sadə tapşırıq, digəri üçün — bir günlük tapşırıqdır. Yalnız bir komandanın dinamikada velocity-sini müqayisə etmək olar: artır və ya azalır.
Eyni mürəkkəblikdə olan müxtəlif tapşırıqlar fərqli story pointlər, daha mürəkkəb olanlar isə daha az aldıqda şkala pozulur. Komanda mütəmadi olaraq şkalanı kalibrləməlidir: hər 3-6 sprintdən bir retrospektiv olaraq qiymətləndirmələrin real mürəkkəbliyə nə dərəcədə uyğun olduğunu yoxlamalıdır. Bu, qiymətləndirmələrin ardıcıllığını yaxşılaşdırır.
Tez-tez verilən suallar
Story pointlərin saatlarda sabit ekvivalenti yoxdur. Bu nisbi vahiddir: 1 sp = etalon tapşırığın mürəkkəbliyi. Saatlara çevirmək üçün komandanızın historical conversion rate-dən istifadə edin: sprint ərzində işlənmiş orta saat sayını velocity-yə bölün. Adətən 1 sp = 4-8 saat, lakin bu hər komanda üçün fərdidir.
Bəli, story pointləri Kanbanda istifadə etmək olar, lakin məhdudiyyətlərlə. Kanbanda sabit sprintlər yoxdur, buna görə velocity sprint üçün deyil, həftə və ya ay üçün hesablanır. Kanban komandaları tez-tez story pointlər əvəzinə Cycle Time — tapşırığın əvvəldən sona qədər keçmə vaxtından istifadə edir. Seçim komandanın spesifikasından asılıdır.
Əgər qiymətləndirmələr fərqlənirsə (biri 3 sp, digəri 13 sp verir), bu, tapşırığın zəif başa düşüldüyünə işarədir. Tapşırığı daha kiçik hissələrə ayırın. Müxtəlif tərtibatçıların gördüyü riskləri və qeyri-müəyyənlikləri müzakirə edin. Tapşırıq böyükdürsə, story pointlər əvəzinə Spike (2-4 günlük tədqiqat) kimi qiymətləndirin.
Keçid 3-6 sprint çəkir. Şkala seçməklə başlayın (Fibonaççi — safest choice) və etalon tapşırığı müəyyən edin. 2-3 Planning Poker sessiyası keçirin. Hər sprintdən sonra velocity hesablayın. Story pointləri saatlara çevirməyin — komandanın yeni sistemə alışmasına icazə verin. 3 sprintdən sonra planlamanın nə qədər yaxşılaşdığını görəcəksiniz.
Xeyr, qiymətləndirmə dəyişmir. Story pointlər işə başlamazdan əvvəl edilən ilkin mürəkkəblik qiymətləndirməsidir. Tapşırıq yerinə yetirildikdən sonra qiymətləndirmə eyni qalır, hətta real əmək sərfi fərqli olsa belə. Post-factum qiymətləndirmə dəyişikliyi statistikaları təhrif edir və proqnozlaşdırmanı mənasız edir. Retrospektivdə fərqləri təhlil edin, lakin qiymətləndirməni geriyə doğru dəyişməyin.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun