Бизнис

Product Ownership: Architecting for Evolving User Needs

Сопственост на производот: Архитектура за развојните потреби на корисниците

Сопственоста над производот често погрешно се смета за улога, заостаната листа на задачи или личност што одлучува што ќе се изгради следно. Во практика, тоа е дисциплина на одржување на производот корисен додека се менуваат луѓето што го користат, бизнисот околу него и технологијата под него.

Тоа ја прави сопственоста особено важна во софтверските тимови. Функционалноста може да биде испорачана навреме, да ги помине тестовите и сепак да го направи производот потежок за разбирање, поддршка или развој. Вистинското прашање не е само дали тимот го испорачал бараното. Туку дали тимот ја олеснил следната корисна одлука.

Сопственоста започнува со јасен проблем

Добрите сопственици на производи ги претвораат барањата во проблеми што вреди да се решат. „Додадете копче за извоз“ всушност може да значи дека клиентите не можат да ги споделат резултатите со колегите. „Направете ја контролната табла побрза“ може да значи дека луѓето губат доверба кога тековните информации пристигнуваат предоцна. Бараното решение е важно, но не треба да се третира како целосна спецификација.

Практична навика е секоја предложена промена да се формулира со едноставен јазик:

  • Кој го доживува проблемот?
  • Што се обидува да постигне?
  • Што моментално му пречи?
  • Кој исход би покажал дека промената помогнала?
  • Каков компромис прифаќаме со тоа што го правиме сега?

Овие прашања не ја забавуваат испораката. Тие ги спречуваат тимовите да трошат недели во усовршување одговор на погрешното прашање. Исто така, им го даваат на развивачите контекстот потребен да забележат поедноставни пристапи, гранични случаи и можности за повторно користење на постојните способности.

Градете за промени, не за замислено совршенство

Потребите на корисниците се развиваат затоа што се развиваат и организациите. Работен тек што функционира за мал тим може да не успее кога ќе се воведат одобрувања, дозволи, повеќе региони или интеграции. Затоа, сопственоста над производот бара архитектонски став: зачувајте опции таму каде што неизвесноста е голема и избегнувајте непотребна сложеност таму каде што неизвесноста е мала.

Тоа не значи градење генерализирана платформа пред да има докази дека е потребна. Предвремената апстракција може едноставниот производ да го претвори во лавиринт од екрани за конфигурација и кревки рамки. Тоа значи да се идентификуваат деловите што најверојатно ќе се менуваат и тие граници да станат видливи.

На пример, функција за известување може да започне со еден внатрешен извор на податоци. Ако се можни идни извори, изолирајте го преземањето на податоците зад јасен интерфејс наместо да ја мешате логиката за преземање низ целиот кориснички интерфејс. Првата имплементација може да остане едноставна, додека подоцнежните дополнувања имаат природно место каде да одат.

Слично, правилата што одредуваат подобност, цени или дозволи заслужуваат повеќе внимание отколку привремен избор на распоред. Кога деловните правила се закопани во контролери, шаблони или обработувачи на настани на клиентската страна, секоја промена на политика станува потрага по траги. Ставете ги важните одлуки блиску до јазикот на доменот, покријте ги со фокусирани тестови и дајте им имиња што може да ги препознае неспецијалист.

Намерно користете повратни одлуки

Не секоја одлука заслужува иста формалност. Прилагодување на боја, ревизија на текст или тесно ограничен експеримент со интерфејс обично може да се врати назад. Нов модел на идентитет, политика за задржување податоци или договор за јавен API е многу потешко да се отповика.

Сопствениците на производи им помагаат на тимовите да се движат побрзо со тоа што прават разлика меѓу двете. Поттикнувајте мали, набљудливи изданија за повратни избори. За избори што потешко се враќаат назад, направете ги претпоставките јасни, разгледајте ги начините на неуспех и вклучете ги луѓето одговорни за операции, безбедност, поддршка и комуникација со клиентите.

Заостанатата листа е мапа, не складиште

Заостанатите листи стануваат нездрави кога бесконечно го собираат секој предлог. Долгата листа може да изгледа како доказ за планирање, додека го крие отсуството на приоритети. Сопственоста значи уредување на побарувачката, не само нејзино бележење.

Секоја значајна ставка треба да објасни зошто е важна сега. Исто така, треба да може да се отстрани. Ако никој не може да го образложи корисничкиот проблем, стратешката вредност или последицата од одложувањето, можеби не припаѓа во активното планирање.

Корисната заостаната листа често содржи мешавина од работа насочена кон клиентите, технички инвестиции, истражување и оперативни подобрувања. Третирањето на техничката работа како посебна категорија што мора да се натпреварува за преостанатиот капацитет е честа грешка. Доверливоста, набљудливоста, ажурирањата на зависностите, пристапноста и поедноставувањето на кревок работен тек се сè производна работа кога го штитат корисничкото искуство и способноста на тимот да испорачува.

Наместо дискусијата да ја врамувате како „функционалности наспроти технички долг“, опишете го ризикот за производот. Услуга со нејасни предупредувања за неуспех нема само инженерска грижа; таа има ризик од задоцнета реакција за клиентите. Сложен процес на распоредување не само што им создава непријатност на развивачите; тој ја зголемува веројатноста вредна поправка да пристигне доцна или да не успее при изданието.

Обезбедете им заеднички контекст на оддалечените тимови

Во оддалечен или дистрибуиран тим, знаењето за производот лесно може да остане заробено во состаноци, директни пораки или во меморијата на неколку луѓе. Тоа е скапо. Ги забавува новите придонесувачи, создава неусогласени одлуки и ги остава развивачите да нагаѓаат зошто постои некое барање.

Доброто сопствеништво создава лесен, траен контекст. Краток запис за одлука може да ги опфати проблемот, ограничувањата, разгледаните алтернативи, избраната насока и условите што би го натерале тимот повторно да ја разгледа одлуката. Добро напишана задача може да го наведе очекуваното однесување, целите што не се дел од опфатот и примерите за прифаќање, без да се преправа дека е целосен план за имплементација.

Пишаниот контекст треба да поддржува разговор, а не да го замени. Целта е соработката да биде поинклузивна и помалку зависна од тоа кој случајно присуствувал на повик. Кога развивач прашува: „Што треба да се случи ако овој корисник нема дозвола?“, тоа не е триење. Тоа е производот што станува попрецизен.

Побарајте инженерска проценка рано

Развивачите се најблиску до ограничувањата на имплементацијата, однесувањето на системот и трошоците за одржување. Да се вклучат дури откако некое решение е веќе ветено значи да се потроши таа перспектива. Раниот технички придонес може да открие дека навидум мало барање ја менува сопственоста над податоците, проширува безбедносна граница или создава тежок пат за поддршка.

Тоа може да открие и подобар пат: постојна способност што може да се прошири, помал експеримент што ја потврдува побарувачката или низа промени што го намалува ризикот. Сопственоста над производот не е ослабена од заедничкото донесување одлуки. Таа станува поверодостојна затоа што одлуките ја одразуваат реалноста на системот.

Мерете го учењето, не само резултатот

Испораката е настан; вредноста на производот е промена во однесувањето или способноста. По изданието, вратете се на првичниот проблем. Дали луѓето ја завршуваат задачата посигурно? Дали се менуваат прашањата до поддршката? Дали тимовите го усвојуваат работниот тек или го заобиколуваат?

Метриките можат да помогнат, но не треба да станат замена за проценка. Поголем број кликнувања може да укажува на успех, збунетост или на двете. Комбинирајте квантитативни сигнали со повратни информации од поддршката, набљудувања за употребливоста и разговори со луѓе што го користат производот во реални услови.

Најважно, оставете простор да дејствувате според наученото. Ако експериментот не го решил наменетиот проблем, кажете го тоа јасно. Отстранете го, изменете го или престанете да вложувате во него. Одржливата испорака зависи од тим што може да го смени правецот без секоја ревизија да ја третира како неуспех.

Сопственоста е управување со грижа

Најтрајните производи не се оние со најдолги листи на функционалности. Тоа се оние чии тимови продолжуваат да ги разбираат своите корисници, своите системи и последиците од секоја нова обврска.

Тоа е подлабокото ветување на сопственоста над производот: да го остави производот појасен, побезбеден и поприлагодлив отколку што бил претходно. Кога тимовите ги поврзуваат потребите на корисниците со техничките избори, штитат време за одржување, отворено споделуваат контекст и учат по испораката, тие прават повеќе од испорака на софтвер. Тие градат капацитет да останат корисни додека се менува светот околу производот.

Портрет на автор на блогот

Mihajlo

Јас сум Михајло - развивач поттикнат од љубопитност, дисциплина и постојаната желба да создадам нешто значајно. Споделувам увиди, упатства и бесплатни услуги за да им помогнам на другите да ја поедностават својата работа и да растат во постојано развивачкиот свет на софтверот и вештачката интелигенција.