“ požadavek na funkci!!!“
je to často bojový výkřik, který softwaroví inženýři používají k bagatelizaci naléhavosti problému zákazníka. Koneckonců, není čas přidávat nové funkce, když se díváme na nekonečný protokol chyb, který nám čelí.
pro americké softwarové inženýry je rozdíl mezi chybou a požadavkem na funkci křišťálově jasný. Chyba je rozpor mezi tím, jak kód skutečně funguje a jak měl náš kód fungovat. Požadavek na funkci vyžaduje nový kód, který uspokojí případ, který nemůže být zpracován aktuální kódovou základnou.
tento druh myšlenkového procesu nás vždy vede k obecnější otázce, jak by měl být používán software jako DoneDone. Měla by vaše organizace používat jeden typ softwaru pro protokolování chyb, jiný typ softwaru pro správu nadcházejících úkolů a ještě další typ softwaru pro sledování požadavků na nové funkce?
trávíme hodně duševní energie se snaží, aby prosít přes problémy zaznamenány pomocí klienta nebo zákazníka, snaží se zjistit, zda jsme hodit otázku do „bug“, „kbelík“ nebo „feature request“ kbelík. Pro konzultační práci, když pracujeme na předem definované dohodě o tom, jak by se software měl chovat, to dává smysl. Požadavky na nové funkce mohou vyžadovat příplatek.
Ale, když přijde jen čistá praxi stavebních dobrý software, zejména pokud pracujeme na našich vlastních produktů, jak moc bychom se měli starat o kategorizaci problém tímto způsobem?
necháme technické (a technické) problémy řešit.
Robert Martin (aka strýc Bob) mluví hodně o softwaru. Web považuje pouze za doručovací mechanismus a nic víc. Nejedná se o zážitek koncového uživatele, a to není účelem softwaru. Je to prostě malý hloupý detail. Přesto, když programátoři programujeme, Architektura našich aplikací je příliš zcela ovlivněna skutečností, že se jedná o webovou aplikaci.
V stejným způsobem, co když jsme zvažovali termín, který používáme pro „věc, která se udělat musí“ být hloupý detail?
z pohledu osoby zaznamenávající tuto „věc“, opravdu jí záleží na tom, že požaduje novou funkci oproti objevení chyby? Chce jen, aby její problém vyřešila jiná lidská bytost, a pokud možno, vědět, kdy by její problém mohl být vyřešen.
možná budete moci vidět techničnost jasněji, pokud opustíme svět softwaru. Když přijde instalatér opravit děravou sprchu, řekl bych, že vám na detailech nezáleží. Pokud byla sprchová hlavice nesprávně nainstalována (chyba) nebo pokud je těsnění rozbité (chyba) nebo pokud teflonová páska chyběla z levného potrubí( funkce), vše, co vás zajímá, je, jak dlouho bude trvat Oprava a kolik vám bude účtováno.
chyba nebo požadavek? Je to obojí. A na tom nezáleží.
minulý týden jsme Mammoth propuštěn Kin, HR softwarový nástroj pro malé a střední podniky. Kin vám poskytuje jednoduchý způsob, jak sledovat žádosti o volno každého zaměstnance. Jedna věc, kterou Kin teď nedělá, je rozlišovat víkendy a svátky od pracovních dnů. Takže, pokud jste chtěli vzlétnout celý týden během díkůvzdání, musíte ručně zadat počet hodin, které požadujete.
tým již obdržel několik žádostí, aby Kin toto sledování provedl automaticky. Ve skutečnosti je ve frontě na vydání. Ale, když je přihlášen, na jakémkoli místě, kde je přihlášen, měl by to tým Kin považovat za chybu, požadavek na funkci, úkol, nebo úkol?
volám svého vnitřního strýce Boba, moje odpověď je jednoduchá: nezáleží na tom, jak klasifikujete požadavek. Je to jen hloupý detail.
to neznamená, že bychom to vůbec neměli klasifikovat. Tým Kin může označit problém pod „požadavek na funkci“ a nejprve pracovat na opravě kritičtějších problémů (jako uživatel s problémem s autorizací). To je v pořádku a dandy, a platný přístup.
bylo by však chybou automaticky předpokládat, že všechny požadavky na funkce-we-call-jsou méně naléhavé než všechny věci-we-call-bugs. Díky tomu je poměrně malý detail toho, jak klasifikujeme problém, středobodem, když jej vyřešíme. Nemělo by to tak být. Na konci dne, všechny tyto požadavky jsou prostě věci, které potřebují řešení.
nechť je techničnost hloupým detailem
za tímto účelem je štítek, který dáváme všem těmto požadavkům, do značné míry nedůležitý. Důležitější je, že se na ně někdo stará a existuje obecná představa, kdy budou tyto žádosti řešeny. Důležité je, že 33% více uživatelů bude mít prospěch z položky a, která je řešena, oproti položce B. bez ohledu na to, jaký typ věci je položka a nebo položka B, položka a je cennější řešit. To je ono. Nic víc.
Takže, až příště budete trávit příliš mnoho času s tříděním úkolů, chyby, požadavky na nové funkce, a na-dos, zapomenout na formality. Jsou to jen hloupé detaily.
přihlaste se k účtu DoneDone za 30 sekund. Chcete si přečíst více od Ka Wai Cheung? Nová kniha Ka Wai o moderním programátorovi, kód vývojáře, je k dispozici v elektronické knize a tisku. Můžete ho sledovat na Twitteru @developerscode.