Рок — то је утврђени крајњи рок завршетка задатка, спринта или пројекта. У мобилном развоју рокови се одређују на различитим нивоима: рокови за функције унутар спринта, датуми издавања и пројектне прекретнице. Према Project Management Institute, 2023, 70% пројеката у ИТ-у се суочава са пробијањем рокова, што чини управљање роковима једном од кључних компетенција програмера и менаџера.
Главно
Рок — англицизам који је чврсто ушао у лексикон програмера и менаџера. У преводу са енглеског деадлине значи „мртва линија": датум или време након којег се задатак сматра закаснелим. Кршење рокова води ка губитку поверења, казнама и пропуштеним тржишним приликама.
У здравом тиму рок није алат притиска, већ тачка синхронизације очекивања. Тим и заинтересоване стране договарају када ће функционалност бити готова и користе рок за планирање зависних активности: маркетинга, издавања, тестирања. Овакав приступ захтева транспарентност и поверење између свих учесника.
У Аgile-у рокови се не укидају, али постају флексибилнији: уместо фиксног датума за цео пројекат користе се тајмбоксови — фиксни временски периоди (спринтови) у којима тим ради максимум могућег. Сцрум оперише спринтовима фиксне дужине, где обим може да варира, али датум завршетка спринта је непроменљиви рок.
У мобилном развоју постоји неколико нивоа рокова, од којих сваки захтева свој приступ управљању и контроли.
| Ниво | Пример | Хоризонт | Одговорни |
|---|---|---|---|
| Рок за функцију | „Екран профила готов до среде" | 2-3 дана | Програмер |
| Рок спринта | „До краја спринта предајемо 5 стори поена" | 1-2 недеље | Сцрум тим |
| Рок издања | „Издање 3.2 у Апп Сторе-у за месец дана" | 2-4 недеље | Тецх Леад + ПМ |
| Рок пројекта | „МВП готов за 3 месеца" | 3-12 месеци | Пројецт Манагер |
Рокови за функције — најкраћи и најконкретнији. Програмер процењује време за реализацију одређеног екрана или компоненте. На овом нивоу важно је предвидети бафер за неочекиваности: сложена грешка, неочигледан захтев, зависност од другог тима. Оптимални бафер — 20-30% од процене.
Издање у Апп Сторе-у или Гоогле Плаy-у — чврст рок који се не може померити без губитка пословних прилика. Рокови издања укључују време за преглед продавница (Апп Ревиеw — 24-48 сати, Гоогле Плаy — од 2 сата), зато финална верзија мора бити готова 3-5 дана пре жељеног датума издања.
Прекретнице — велике тачке пројекта: МВП, бета, прво издање. Оне се одређују у фази планирања и ретко се преиспитују. Прекретнице захтевају најпажљивије управљање ризицима: свака кашњења у раним фазама се акумулирају и пробијају финални рок.
Пробијање рокова — системски проблем, а не последица лењости програмера. Истраживања Пројецт Манагемент Институте показују: главни разлози кашњења су везани за процесе, а не за људе.
Процена радног напора често се ради од стране менаџера или клијента без учешћа програмера. Резултат: рокови 2-3 пута краћи од реалних. Правило: процену даје онај ко ће радити задатак. Колективна процена тима (Планнинг Покер) је 30-40% прецизнија од индивидуалне.
Сцопе црееп — постепено ширење захтева без ревизије рокова. Клијент додаје „мале исправке" које укупно дају недеље додатног посла. Решење: свака промена захтева мора бити праћена ревизијом рока. Ако је рок фиксан — обим мора бити фиксан такође.
Блокирајуће зависности од других тимова, спољних АПИ-ја, дизајна или одобрења често се не урачунавају у процену. Ако бекенд није спреман — мобилни програмер не може да тестира интеграцију. Мапа зависности (депенденцy мап) треба да се састави пре почетка рада на задатку.
Стари код без тестова, застареле зависности, недостатак ЦИ/ЦД — све то успорава развој и чини рокове непредвидивим. Тим троши 30-50% времена не на нову функционалност, већ на борбу са постојећим кодом. Инвестиције у квалитет кода се исплаћују предвидивим роковима.
Професионално управљање роковима заснива се на транспарентности, разлагању и редовној комуникацији. Постоји неколико проверених метода.
Тимебок — фиксни временски период у коме тим ради максимум могућег. На крају тимебокса резултат се представља, чак и ако није све готово. Тимебоксинг спречава бесконачно дотеривање и учи тим да се фокусира на битно. У Сцруму, сваки спринт је тимебокс.
Временски бафер — резерва која штити рок од неизбежних кашњења. Метода Цритицал Цхаин Пројецт Манагемент препоручује предвиђање 50% бафера од трајања задатка. На пример, ако је задатак процењен на 10 дана, у план се уноси 15. Бафер је видљив само менаџеру како се тим не би опустио.
Дневни 15-минутни састанци — једноставан и ефикасан алат за контролу рокова. Сваки програмер одговара на три питања: шта је урадио јуче, шта ће урадити данас, има ли блокатора. Ако задатак ризикује да не стане у рок — блокатор се открива првог дана, а не последњег.
Семафор (зелено / жуто / црвено) — визуелни статус рока. Зелено — све по плану. Жуто — постоји ризик од пробијања, потребне мере. Црвено — рок ће сигурно бити пробијен, потребна ескалација. Систем је једноставан и јасан: сваки учесник пројекта види статус и разуме где је потребна интервенција.
Грешке у управљању роковима понављају се у већини ИТ тимова. Познавање ових образаца помаже да се избегну.
Синдром студента — навика да се посао почиње у последњем тренутку, када је рок већ близу. Програмер одлаже задатак мислећи да „још има времена", а на крају све ради у журби и са грешкама. Решење: разложити задатак на микро-кораке са међуро́ковима.
„Све увек траје дуже него што очекујете, чак и ако узмете у обзир Хофштатеров закон". Ово је самоиспуњавајуће пророчанство: процене су увек оптимистичне, јер програмери не узимају у обзир непознате непознанице (ункновн ункновнс). Решење: удвостручите сваку процену дату без разлагања.
Када програмер има 5 задатака са истим роком, не зна за шта да се ухвати. Резултат: сви задаци су урађени напола. Решење: један приоритет за један временски период. Ако су рокови у сукобу — ескалирати менаџеру за преприоритизацију.
Често постављана питања
Прво — не паничити и не тражити кривце. Пријавите пробијање што је раније могуће, предложите опције: смањење обима, додавање ресурса, померање датума. Анализирајте узрок: лоша процена, спољне зависности или виша сила. Документујте лекцију и узмите је у обзир у следећим проценама.
Аргументовано одбијање — професионална вештина. Предложите алтернативе: „Можемо да урадимо X до датума, али без Y". Покажите податке: брзину тима, сложеност задатка, ризике. Користите троугао пројекта: „Можете изабрати два од три: брзо, јефтино, квалитетно".
Рок — датум предаје одређеног задатка или етапе. Прекретница — значајна тачка пројекта која може укључивати неколико рокова. На пример, прекретница „МВП готов" састоји се од рокова за сваки екран, бекенд и тестирање. Прекретница је обично чвршћа од рока.
Упоредите са реновирањем: „Можемо да обећамо 2 недеље, али са великим ризиком да ће морати да се прерађује. Или 3 недеље — са гаранцијом квалитета". Наведите примере претходних пројеката где је недостатак бафера довео до пробијања. Предложите етапну предају: фиксне датуме за сваку етапу.
Дистрибуирани тимови захтевају строжу контролу рокова: временске зоне, асинхрона комуникација и недостатак преклапања отежавају синхронизацију. Користите заједнички календар, фиксне дневне састанке, документујте све одлуке. Предвидите додатни бафер за усаглашавање између временских зона.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође