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