Što je Feature Creep?

Puzanje značajke, koje se također naziva puzanje opsega, odnosi se na sklonost projektnih zahtjeva da premaše njihove izvorne procjene. Uobičajeno je s razvojem velikih računalnih projekata u kojima inženjeri odlučuju da se proizvodu dodaju dodatne značajke prije objavljivanja kako bi bio upotrebljiviji i ugodniji za ciljno tržište. To se također može dogoditi kada se klijent koji ugovara projekt stalno dodaje na popis želja. Puzanje značajke može utjecati na ukupni proračun projekta, kao i značajno odgoditi vrijeme objavljivanja, uzrokujući frustraciju rukovoditelja tvrtke. Također u konačnici može oslabiti proizvod tako što ga začepi zanimljivim, ali nepotrebnim značajkama, pa se tvrtke moraju pobrinuti da to izbjegnu.

Problem se može ublažiti usko organiziranim projektnim timom koji prepoznaje točne zahtjeve projekta i radi zajedno na njihovom ispunjavanju. Voditelj projekta koji je svjestan rizika puzanja značajki može pomoći da ga spriječi na prolazu tako što će preusmjeriti tim ili podsjetiti klijenta na izvorne ciljeve projekta. Povremeno je prekoračenje procjena zapravo potrebno, posebno kod velikih projekata u kojima inženjeri istražuju nove koncepte. U tim slučajevima, nekoliko članova tima trebalo bi se sastati zajedno kako bi procijenili propadanje značajke koje se događa i odlučilo je li to valjan rezultat smjera u kojem se projekt kreće.

Pogotovo u slučaju softvera, iskušenje da se podlegne puzanju značajki često je intenzivno. Softverski programeri neprestano razmišljaju o novim načinima poboljšanja svojih proizvoda, a u određenom trenutku voditelji projekata to moraju zaustaviti. Puzanje značajke u ovom slučaju može se smanjiti održavanjem čestih projektnih sastanaka kako bi se sudionici projekta podsjetili na ciljeve koji su navedeni na početku. Prilikom razvoja bilo koje vrste novog proizvoda, tim bi se uvijek trebao sastati prije početka rada kako bi se dogovorili o tome što se stvara, što tim želi da radi i kako će proizvod ostvariti te ciljeve.

Napori da se obeshrabri puzanje opsega nisu osmišljeni da kažnjavaju kreativnost. Umjesto toga, članovi tima bi trebali napraviti bilješke o dodatnim značajkama za koje smatraju da bi bile zanimljive i korisne te bi ih trebali dostaviti zajedno s tjednim bilješkama o projektu. Ako se drugi članovi tima slažu da su značajke vitalne, mogu se dodati razvoju projekta. Ako su značajke zanimljive, ali nisu potrebne za to određeno izdanje projekta, mogu se ponuditi za daljnji razvoj u kasnijim izdanjima projekta, bilo da se radi o novom softveru, automobilu ili bilo kojoj drugoj vrsti uređaja.