Вашиот следен одличен производ започнува со длабока одговорност
Следната одлична идеја за производ ретко се крие во бура на идеи. Почесто, таа се појавува кога некој ќе забележи повторлива фрустрација, ќе разбере зошто постои и ќе остане со проблемот доволно долго за да го подобри целиот систем околу него.
Тоа е длабока одговорност. Тоа не значи да работите секој час, да ја преземате секоја одговорност или да станете личноста што никој не може да ја замени. Тоа е навиката да се третира исходот како реален: да се разберат потребата на корисникот, техничките ограничувања, оперативниот трошок и последиците по објавувањето.
За развивачите и техничките лидери, длабоката одговорност е една од најпрактичните форми на продуктно размислување. Таа го претвора „мојот тикет е завршен“ во „дали ова навистина го направи искуството подобро?“
Одговорноста започнува по барањето
Барањето е почетна точка, а не целосен опис на проблемот. Може да гласи „додади извоз“, „забрзај пребарување“ или „испрати потсетник“. Тим што само ја имплементира формулацијата сè уште може да испорача нешто незграпно, скапо или ненадежно.
Длабоката одговорност поставува уште неколку прашања пред да се посвети на решение:
- Кој се обидува да постигне што и во кој момент?
- Што прават денес кога производот не помага?
- Што би ја направило функционалноста доволно доверлива за да стане дел од нивниот работен процес?
- Што може да откаже и како ќе се опорави корисникот?
- Како тимот ќе знае дали промената помогнала?
Разгледајте барање за додавање CSV извоз. Површинската имплементација е копче што создава датотека. Имплементацијата со преземена одговорност разгледува кои записи се вклучени, како се претставени датумите и временските зони, дали празните полиња се разбирливи, како се однесуваат големите извози, кои дозволи важат и дали неуспешниот извоз му нуди на корисникот корисен следен чекор.
Разликата не е перфекционизам. Таа е препознавање дека корисниците го доживуваат производот како целосна интеракција, а не како збир на завршени тикети.
Корисните производи се градат на споевите
Многу вредни подобрувања живеат меѓу дисциплините. Шема во корисничката поддршка може да открие збунувачки работен процес. Бавно барање може да разоткрие модел на производ што повеќе не одговара на реалната употреба. Инцидент при распоредување може да покаже дека функционалноста зависи од претпоставки што никој не ги направил експлицитни.
Техничките професионалци се добро поставени да ги видат овие споеви бидејќи работат блиску до механизмите. Предизвикот е набљудувањето да се претвори во продуктна можност, наместо да се третира како изолиран инженерски шум.
Ако текот на воведување бара повторена рачна интервенција, не ја автоматизирајте само интервенцијата. Прашајте зошто луѓето стигнуваат до таа точка. Ако задачите во заднина откажуваат повремено, не ги зголемувајте само повторните обиди. Проверете дали повторните обиди можат да ја дуплираат работата, дали неуспехот е видлив и дали оригиналниот дизајн треба да се направи идемпотентен.
На сигурната патека за повторен обид обично ѝ се потребни:
1. Стабилен идентификатор на операцијата
2. Безбедно ракување кога истата операција се извршува двапати
3. Јасни ограничувања на обидите за повторување
4. Видливост кога повторните обиди се исцрпени
5. Патека за опоравување за засегнатиот корисник или оператор
Таквиот начин на размислување спречува честа грешка: решавање на симптомот додека системот станува потежок за управување. Длабоката одговорност ги вклучува и негламурозните делови на производот, бидејќи тие одлучуваат дали ветувачката функционалност ќе остане корисна под вообичаен притисок.
На одговорноста ѝ се потребни граници за да остане здрава
Постои штетна верзија на одговорност што звучи восхитувачки: една личност ја презема секоја итна порака, ја одобрува секоја одлука и го држи целиот контекст. Можеби на почетокот изгледа брзо, но создава кревкост. Производот станува зависен од индивидуалната издржливост наместо да стане полесен за управување од страна на тимот.
Одржливата одговорност е споделена одговорност со јасно задолжување. Техничкиот лидер може да постави насока, да ги направи одлуките видливи и да обезбеди важната работа да има именуван старател, без да стане трајното тесно грло.
Во пракса, тоа значи документирање на одлуките блиску до местото каде што се извршува работата, дефинирање што вклучува „завршено“ и правење на оперативното знаење достапно. Тоа значи и намерно предавање на контекстот. Ако функционалноста не може да биде разбрана, тестирана, распоредена и поддржана од повеќе од една личност, таа сè уште не е целосно преземена.
Направете ја дефиницијата за завршено искрена
Корисната дефиниција за завршено не е церемонијална контролна листа. Таа ги одразува ризиците од промената. За мало интерно подобрување на корисничкиот интерфејс, преглед и основна валидација можеби се доволни. За работен процес поврзан со плаќања, стандардот треба да биде многу повисок: однесувањето при неуспех, дозволите, евидентирањето, надгледувањето, враќањето назад и импликациите за поддршката заслужуваат експлицитно внимание.
Кога тимовите ги третираат овие прашања како опционално средување, тие акумулираат долг во испораката. Функционалноста може брзо да биде објавена, но идната работа станува побавна бидејќи секоја промена мора да се движи низ скриени претпоставки и незавршена оперативна работа.
Оддалечените тимови мора да ја направат одговорноста видлива
Во канцеларија каде што луѓето се на иста локација, тие често можат да извлечат контекст од разговорите што ги слушаат. Оддалечените тимови не можат да се потпрат на тоа. Одлука донесена во краток повик може да исчезне од работната евиденција, оставајќи некој друг подоцна повторно да ја открива.
Силната оддалечена одговорност создава видлива трага. Целта не е документација сама по себе; туку намалување на непотребната зависност од синхрона комуникација.
- Запишете го проблемот пред да дебатирате за решенија.
- Забележете ги клучните компромиси и причината поради која е донесена одлуката.
- Наведете ги претпоставките што би ја промениле одлуката ако се покажат неточни.
- Споделете го планот за објавување, планот за враќање назад и сопственикот на следењето.
- Затворете го кругот со тоа што се случило по лансирањето.
Оваа практика ги подобрува и брзината и довербата. Развивач во друга временска зона може да го прегледа образложението, да ја тестира релевантната патека или да посочи ризик без да чека состанок. Производот, дизајнот, поддршката и инженерството можат да го оспоруваат истото споделено разбирање, наместо да разменуваат резимеа од минати разговори.
Претворете ја испораката во циклус на учење
Одговорноста не завршува кога кодот ќе стигне до продукција. Објавувањето е моментот кога производот конечно се среќава со реалното однесување: реални податоци, реални работни процеси, невообичаени гранични случаи и корисници што не ја знаат патеката што тимот ја замислил.
Пред лансирањето, одлучете кои сигнали се важни. Тие не мора да бидат сложени. Тимот може да го следи завршувањето на работен процес, извештаите за грешки, барањата за поддршка или дали корисниците се враќаат на функционалноста. Важната поента е да се утврди веродостоен сигнал пред да преовлада возбудата од испораката.
По лансирањето, одвојте време да погледнете. Ако очекуваната вредност не се појавува, истражете без дефанзивност. Можеби интерфејсот е нејасен. Можеби функционалноста решава редок проблем. Можеби техничко ограничување ја направило премногу бавна токму во моментот кога им е потребна на корисниците. Брзото учење на тоа е успех бидејќи ја штити следната инвестиција.
Одговорноста не е тврдење дека секоја одлука ќе биде правилна. Таа е посветеност да се забележи што се случило и да се одговори одговорно.
Изградете ја кариерната навика што се надоврзува
Длабоката одговорност е особено вредна за развивачите што сакаат пошироко влијание. Таа развива расудување: како да се разликува локална оптимизација од значаен исход, кога да се поедностави, кога да се инвестира во сигурност и кога да се оспори нејасно барање.
Започнете малку. Во следниот дел од вашата работа, идентификувајте еден кориснички исход, еден веројатен начин на откажување и еден сигнал што можете да го проверите по објавувањето. Споделете ги тие размислувања рано. Потоа истрајте.
Со текот на времето, луѓето ја забележуваат разликата. Тие почнуваат да веруваат не само дека можете да пишувате код, туку и дека можете да помогнете неизвесноста да се претвори во корисен, траен производ. Тука започнуваат одличните производи: со луѓе што се подготвени да се грижат за целиот резултат и доволно мудри да градат системи и тимови што можат да се грижат заедно со нив.