„Верујемо једни другима. На пример, ми уопште немамо плате” – дугачак интервју са Тимом Листером, аутором Пеоплеваре-а

„Верујемо једни другима. На пример, ми уопште немамо плате” – дугачак интервју са Тимом Листером, аутором Пеоплеваре-а

Тим Листер - коаутор књига

  • "Људски фактор. Успешни пројекти и тимови“ (оригинална књига се зове „Пеоплеваре“)
  • „Валцер са медведима: Управљање ризиком у софтверским пројектима“
  • „Полуђени адреналином и зомбирани обрасцима. Обрасци понашања пројектних тимова“

Све ове књиге су класици у својој области и написане су заједно са колегама у Атлантиц Системс Гуилд. У Русији су његове колеге најпознатије - Том ДеМарцо и Петер Хрусцхка, који је написао и многа позната дела.

Тим има 40 година искуства у развоју софтвера; 1975. (ниједан од оних који су написали овај хабрапост није рођен ове године), Тим је већ био извршни потпредседник Иоурдон Инц. Сада проводи време консултујући, подучавајући и пишући, уз повремене посете са извештајима конференцијама широм света.

Направили смо интервју са Тимом Листером специјално за Хабр. Он ће отворити конференцију ДевОопс 2019, а ми имамо много питања, о књигама и још много тога. Интервју воде Михаил Дружинин и Олег Чирухин из програмског комитета конференције.

Мицхаел: Можете ли рећи неколико речи о томе шта сада радите?

Тим: Ја сам шеф удружења Атлантиц Системс Гуилд. У Цеху нас је шесторо, зовемо се директори. Три у САД и три у Европи - зато се Цех зове Атлантик. Толико смо година заједно да их једноставно не можете пребројати. Сви имамо своје специјалности. Са клијентима радим последњу деценију или више. Моји пројекти укључују не само управљање, већ и постављање захтева, планирање пројекта и евалуацију. Чини се да пројекти који лоше почну обично лоше завршавају. Стога, вреди се побринути да све активности буду заиста добро осмишљене и усклађене, да се идеје креатора комбинују. Вреди размислити о томе шта радите и зашто. Које стратегије користити да се пројекат доведе до краја.

Већ дуги низ година саветујем клијенте на различите начине. Интересантан пример је компанија која производи роботе за хирургију колена и кука. Хирург не ради потпуно самостално, већ користи робота. Искрено говорећи, безбедност је овде важна. Али када покушате да разговарате о захтевима са људима који су фокусирани на решавање проблема... Звучаће чудно, али у САД постоји ФДУ (Федерал Друг Администратион), која лиценцира производе попут ових робота. Пре него што било шта продате и употребите на живим људима, морате да добијете лиценцу. Један од услова је да покажете своје захтеве, који су тестови, како сте их тестирали, какви су резултати тестирања. Ако промените захтеве, онда морате да прођете кроз цео овај огроман процес тестирања изнова и изнова. Наши клијенти су успели да у своје захтеве укључе визуелни дизајн апликација. Имали су снимке екрана директно као део захтева. Морамо да их извучемо и објаснимо да углавном сви ови програми не знају ништа о коленима и куковима, све ове ствари са камером итд. Морамо да препишемо документе са захтевима тако да се никада не мењају, осим ако се неки заиста важни основни услови не промене. Ако визуелни дизајн није у складу са захтевима, ажурирање производа ће бити много брже. Наш посао је да пронађемо оне елементе који се баве операцијама колена, кука, леђа, извучемо их у посебне документе и кажемо да ће то бити основни захтеви. Хајде да направимо изоловану групу захтева о операцијама колена. Ово ће нам омогућити да изградимо стабилнији скуп захтева. Говорићемо о целој линији производа, а не о конкретним роботима.

Доста посла је обављено, али су ипак стигли на места где су раније проводили недеље и месеце у поновљеним тестирањима без смисла и потребе, јер се њихови захтеви описани на папиру нису поклапали са стварним захтевима за које су системи изграђени. ФДА им је сваки пут рекла: ваши захтеви су се променили, сада морате све да проверите од нуле. Потпуне поновне провере целог производа убијале су предузеће.

Дакле, постоје тако дивни задаци када се нађете на самом почетку нечег занимљивог, а већ прве акције постављају даља правила игре. Ако се уверите да ова рана активност почне добро да функционише и са менаџерске и са техничке тачке гледишта, постоји шанса да ћете завршити са одличним пројектом. Али ако је овај део скренуо са шина и отишао негде наопако, ако не можете да пронађете основне споразуме... не, није да ће ваш пројекат нужно пропасти. Али више нећете моћи да кажете: „Били смо сјајни, урадили смо све заиста ефикасно.“ То су ствари које радим када комуницирам са клијентима.

Мицхаел: Односно, покрећете пројекте, радите неку врсту кицкоффа и проверавате да ли шине иду у правом смеру?

Тим: Такође имамо идеје како да саставимо све делове слагалице: које вештине су нам потребне, када су тачно потребне, како изгледа језгро тима и друге такве фундаменталне ствари. Да ли су нам потребни запослени са пуним радним временом или можемо некога да запослимо на пола радног времена? Планирање, управљање. Питања попут: Шта је најважније за овај конкретни пројекат? Како то постићи? Шта знамо о овом производу или пројекту, који су ризици и где су непознанице, како ћемо се са свим тим носити? Наравно, у овом тренутку неко почиње да виче "А агиле?" У реду, сви сте флексибилни, али па шта? Како тачно изгледа пројекат, како ћете га извести на начин који одговара пројекту? Не можете само рећи да се „наш приступ протеже на било шта, ми смо Сцрум тим!“ Ово је глупост и глупост. Где ћеш даље, зашто би то требало да ради, где је поента? Учим своје клијенте да размишљају о свим овим питањима.

19 година агилности

Мицхаел: У Агиле-у људи често покушавају да ништа не дефинишу унапред, већ да доносе одлуке што је касније могуће, говорећи: превелики смо, нећу размишљати о целокупној архитектури. Нећу размишљати о гомили других ствари; уместо тога, одмах ћу испоручити купцу нешто што ради.

Тим: Мислим да агилне методологије, почевши од Агиле Манифесто 2001. отворио је очи индустрији. Али с друге стране, ништа није савршено. Ја сам за итеративни развој. Итерација има много смисла у већини пројеката. Али питање о којем треба да размислите је: када је производ изашао и у употреби, колико дуго ће трајати? Да ли је ово производ који ће трајати шест месеци пре него што га замени нешто друго? Или је ово производ који ће радити много, много година? Наравно, нећу именовати имена, али... У Њујорку и његовој финансијској заједници, најосновнији системи су веома стари. Ово је невероватно. Гледате их и мислите, када бисте само могли да се вратите у прошлост, у 1994. годину, и кажете програмерима: „Дошао сам из будућности, из 2019. Само развијајте овај систем онолико дуго колико вам је потребно. Учините га проширивим, размислите о архитектури. Затим ће се побољшавати више од двадесет пет година. Ако одложите развој још мало, у великој шеми ствари нико неће приметити!“ Када процењујете ствари на дужи рок, морате узети у обзир колико ће то укупно коштати. Понекад добро осмишљена архитектура заиста вреди, а понекад није. Треба се осврнути око себе и запитати се: да ли смо у правој ситуацији за такву одлуку?

Дакле, идеја попут „Ми смо за агилне, купац ће нам сам рећи шта жели да добије“ - супер је наивна. Купци ни не знају шта желе, а још више не знају шта би могли да добију. Неки људи ће почети да наводе историјске примере као аргументе, то сам већ видео. Али технички напредни људи то обично не говоре. Кажу: „2019 је, ово су прилике које имамо и можемо потпуно променити начин на који гледамо на те ствари!“ Уместо да опонашате постојећа решења, чинећи их мало лепшим и чешљанијим, понекад морате да изађете и кажете: „Хајде да потпуно измислимо оно што овде покушавамо да урадимо!“

И мислим да већина купаца не може размишљати о проблему на тај начин. Они виде само оно што већ имају, то је све. Након тога долазе са захтевима попут „хајде да ово учинимо мало једноставнијим“, или шта год они обично кажу. Али ми нисмо конобари или конобарице, па можемо узети поруџбину ма колико глупо испала и онда је испећи у кухињи. Ми смо њихови водичи. Морамо им отворити очи и рећи: хеј, имамо нове прилике! Да ли схватате да заиста можемо да променимо начин на који се овај део вашег пословања обавља? Један од проблема са Агиле-ом је то што уклања свест о томе шта је прилика, шта је проблем, шта уопште треба да урадимо, које доступне технологије су најприкладније за ову конкретну ситуацију.

Можда сам овде превише скептичан: много се дивних ствари дешава у агилној заједници. Али имам проблем што људи уместо да дефинишу пројекат почну да дижу руке. Питао бих овде – шта ћемо, како ћемо? И некако магично увек испадне да клијент треба да зна боље од било кога. Али клијент најбоље зна само када бира нешто што је неко већ направио. Ако желим да купим ауто и знам колики је мој породични буџет, онда ћу брзо изабрати аутомобил који одговара мом начину живота. Овде знам све боље од било кога! Али имајте на уму да је неко већ направио аутомобиле. Немам појма како да измислим нови ауто, нисам стручњак. Када креирамо прилагођене или посебне производе, глас купца се мора узети у обзир, али то више није једини глас.

Олег: Поменули сте Агилни манифест. Да ли треба да га некако ажурирамо или ревидирамо узимајући у обзир савремено схватање проблема?

Тим: Не бих га дирао. Мислим да је то велики историјски документ. Мислим, он је оно што јесте. Пуни 19 година, стар је, али је у своје време направио револуцију. Оно што је добро урадио је то што је изазвао реакцију и људи су почели да шапућу о њему. Ви, највероватније, још нисте радили у индустрији 2001. године, али су тада сви радили по процесима. Институт за софтверско инжењерство, пет нивоа модела комплетности софтвера (ЦММИ). Не знам да ли вам такве легенде дубоке антике нешто говоре, али онда је то био пробој. У почетку су људи веровали да ће, ако су процеси правилно постављени, проблеми нестати сами од себе. А онда долази Манифест и каже: „Не, не, не – ми ћемо се заснивати на људима, а не на процесима“. Ми смо мајстори развоја софтвера. Разумемо да је идеалан процес фатаморгана; то се не дешава. Превише је идиосинкразије у пројектима, идеја о једном савршеном процесу за све пројекте нема никаквог смисла. Проблеми су превише сложени да бисмо тврдили да постоји само једно решење за све (здраво, нирвана).

Не усуђујем се да гледам у будућност, али рећи ћу да су људи сада почели више да размишљају о пројектима. Мислим да је Агилни манифест веома добар у томе да искочи и каже: „Хеј! Ви сте на броду, а ви сами возите овај брод. Мораћете да донесете одлуку - нећемо предложити универзални рецепт за све ситуације. Ви сте посада брода и ако сте довољно добри, можете пронаћи пут до циља. Било је других бродова пре вас, а биће и других бродова после вас, али ипак, у извесном смислу, ваше путовање је јединствено.” Нешто налик томе! То је начин размишљања. За мене нема ништа ново под сунцем, људи су и раније пловили и поново ће пловити, али за вас је ово главно путовање и нећу вам рећи шта ће вам се тачно догодити. Морате имати вештине координисаног рада у тиму, а ако их заиста имате, све ће успети и стићи ћете тамо где сте желели.

Пеоплеваре: 30 година касније

Олег: Да ли је Пеоплеваре био револуција као и Манифест?

Тим: Пеоплеваре... Том и ја смо написали ову књигу, али нисмо мислили да ће се тако догодити. Некако је то одјекнуло код многих идеја. Ово је била прва књига која је рекла: развој софтвера је активност која захтева много људи. Упркос нашој техничкој природи, ми смо такође заједница људи који граде нешто велико, чак огромно, веома сложено. Нико не може сам да створи такве ствари, зар не? Тако је идеја "тим" постала веома важна. И то не само са становишта менаџмента, већ и за техничке људе који су се окупили да реше заиста сложене дубоке проблеме са гомилом непознатих. За мене лично, ово је био огроман тест интелигенције током моје каријере. И овде треба да будете у стању да кажете: да, овај проблем је више него што могу да решим сам, али заједно можемо пронаћи елегантно решење на које можемо бити поносни. И мислим да је ова идеја највише одјекнула. Идеја да део времена радимо сами, део времена као део групе, а често одлуку доноси група. Групно решавање проблема је брзо постало важна карактеристика сложених пројеката.

Упркос чињеници да је Тим одржао велики број говора, врло мало њих је постављено на Јутјуб. Можете погледати извештај „Повратак људи“ из 2007. Квалитет, наравно, оставља много да се пожели.

Мицхаел: Да ли се нешто променило у последњих 30 година од објављивања књиге?

Тим: На ово можете гледати из много различитих углова. Социолошки речено... некад давно, у једноставнијим временима, ви и ваш тим сте седели у истој канцеларији. Могли бисте бити блиски сваки дан, заједно попити кафу и разговарати о послу. Оно што се заиста променило је да тимови сада могу бити распоређени географски, у различитим земљама и временским зонама, али и даље раде на истом проблему, а то додаје потпуно нови слој сложености. Ово можда звучи као стара школа, али не постоји ништа као комуникација лицем у лице у којој сте сви заједно, радите заједно, и можете прићи колеги и рећи, види шта сам открио, како ти се свиђа ово? Разговори лицем у лице пружају брз начин за прелазак на неформалну комуникацију, а мислим да би то требало да се допадне и агилним ентузијастима. И такође сам забринут јер је у стварности свет испао веома мали, а сада је сав покривен распоређеним тимовима, и све је веома сложено.

Сви живимо у ДевОпс-у

Мицхаел: Чак и са становишта програмског одбора конференције, имамо људе у Калифорнији, у Њујорку, Европи, Русији... у Сингапуру још нема никога. Разлика у географији је прилично велика, а људи почињу да се шире још више. Ако говоримо о развоју, можете ли нам рећи више о девопс-у и рушењу баријера између тимова? Постоји концепт да сви седе у својим бункерима, а сада се бункери руше, шта мислите о овој аналогији?

Тим: Чини ми се да је у светлу недавних технолошких открића, девопс од велике важности. Раније сте имали тимове програмера и администратора, они су радили, радили, радили и у неком тренутку се појавила ствар са којом сте могли да дођете до администратора и да је разврћете за производњу. И ту је почео разговор о бункеру, јер су админи на неки начин савезници, а не непријатељи, али ти си са њима разговарао тек када је све било спремно за производњу. Да ли сте отишли ​​код њих са нечим и рекли: видите какву апликацију имамо, али да ли бисте могли да избаците ову апликацију? А сада се цео концепт испоруке променио на боље. Мислим, постојала је идеја да можете брзо да прођете кроз промене. Можемо ажурирати производе у ходу. Увек се насмејем када се Фирефок на мом лаптопу појави и каже, хеј, ажурирали смо ваш Фирефок у позадини, и чим будете имали минут, да ли бисте могли да кликнете овде и даћемо вам најновије издање. А ја сам рекао: "О да, душо!" Док сам спавао, радили су на томе да ми испоруче ново издање директно на мом рачунару. Ово је дивно, невероватно.

Али ево потешкоћа: имате ову функцију са ажурирањем софтвера, али је интеграција људи много тежа. Оно што желим да кажем на ДевОопс-у је да сада имамо много више играча него што смо икада имали. Ако само размислите о свима који су укључени у само један тим... Мислили сте на то као тим, а то је много више од пуког тима програмера. Ово су тестери, менаџери пројеката и гомила других људи. И свако има своје погледе на свет. Менаџери производа су потпуно другачији од менаџера пројеката. Администратори имају своје задатке. Постаје прилично тежак проблем координирати све учеснике како би и даље били свесни шта се дешава и не би полудели. Потребно је раздвојити задатке групе и задатке који се односе на све. Ово је веома тежак задатак. С друге стране, мислим да је све много боље него пре много година. То је управо пут на коме људи расту и уче да се понашају исправно. Када урадите интеграцију, схватите да не би требало да постоји подземни развој, тако да софтвер у последњем тренутку не испузи као џак у кутији: као, види шта смо овде урадили! Идеја је да ћете моћи да урадите интеграцију и развој, а на крају ћете се развити на уредан и итеративан начин. Све ово ми много значи. Ово омогућава стварање веће вредности за кориснике система и за вашег клијента.

Мицхаел: Цела идеја девопс-а је да испоручи значајан развој што је пре могуће. Видим да је свет почео све више да убрзава. Како се прилагодити таквим убрзањима? Пре десет година ово није постојало!

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

Идеја да треба да трчиш, трчиш, трчиш није најбоља. Мало је вероватно да неко жели да живи тако свој живот. Желео бих да ритам испорука постави сопствени ритам пројекта. Ако само произведете низ малих, релативно бесмислених ствари, све то нема смисла. Уместо да безумно покушавате да објавите ствари што је раније могуће, оно о чему вреди разговарати са водећим програмерима и менаџерима производа и пројеката је стратегија. Да ли ово уопште има смисла?

Обрасци и антиобрасци

Олег: Обично говорите о обрасцима и антиузорцима, и то је разлика између живота и смрти пројеката. А сада, девопс упада у наше животе. Да ли има неке своје обрасце и анти-обрасе који могу да убију пројекат на лицу места?

Тим: Обрасци и анти-обрасци се дешавају све време. Нешто да причам о. Па, постоји нешто што зовемо "сјајне ствари". Људи заиста воле нову технологију. Они су једноставно опчињени сјајем свега што изгледа кул и са стилом, и престају да постављају питања: да ли је то уопште потребно? Шта ћемо постићи? Да ли је ова ствар поуздана, има ли смисла? Често виђам људе, да тако кажем, на врхунцу технологије. Они су хипнотисани оним што се дешава у свету. Али ако боље погледате које корисне ствари раде, често једноставно нема ништа корисно!

Управо смо разговарали са друговима да је ове године јубиларна година, педесет година откако су људи слетели на Месец. То је било 1969. Технологија која је помогла људима да стигну тамо није чак ни технологија из 1969. године, већ 1960. или 62. јер је НАСА желела да користи само оно што је имало добре доказе о поузданости. И тако погледаш и схватиш – да, и биле су истините! Сада, не, не, али упадате у проблеме са технологијом једноставно зато што је све превише форсирано, продато из свих пукотина. Људи одасвуд вичу: „Види, каква ствар, ово је најновија ствар, најлепша ствар на свету, погодна за апсолутно свакога!“ Е, то је то... обично све ово испадне само мамац, а онда све то мора да се баци. Можда је то све зато што сам већ стар човек и гледам на такве ствари са великом дозом скептицизма, када људи побегну и кажу да су пронашли једини, најисправнији начин за стварање најбољих технологија. У овом тренутку у мени се буди глас који каже: "Какав неред!"

Мицхаел: Заиста, колико често смо чули за следећи сребрни метак?

Тим: Управо тако, и то је уобичајени ток ствари! На пример... чини се да је ово већ постала шала широм света, али овде се често говори о блокчејн технологији. И заправо имају смисла у одређеним ситуацијама! Када су вам заиста потребни поуздани докази о догађајима, да систем функционише и да нас нико није преварио, када имате безбедносне проблеме и све те ствари помешане – блокчејн има смисла. Али када кажу да ће Блоцкцхаин сада проћи широм света, бришући све на свом путу? Сањајте више! Ово је веома скупа и сложена технологија. Технички сложен и дуготрајан. Укључујући и чисто алгоритамски, сваки пут када треба да прерачунате математику, уз најмање измене... и ово је одлична идеја - али само за одређене случајеве. Цео мој живот и каријера су били око овога: занимљиве идеје у врло специфичним ситуацијама. Веома је важно тачно разумети каква је ваша ситуација.

Мицхаел: Да, главно „питање живота, универзума и свега“: да ли је ова технологија или приступ погодан за вашу ситуацију или не?

Тим: О овом питању се већ може разговарати са технолошком групом. Можда чак доведите неког консултанта. Погледајте пројекат и схватите – хоћемо ли сада урадити нешто исправно и корисно, боље него раније? Можда ће се уклопити, можда неће. Али што је најважније, немојте да доносите такву одлуку подразумевано, једноставно зато што је неко излетео: „Нама је очајнички потребан блокчејн! Управо сам прочитао о њему у часопису у авиону!“ Озбиљно? Није чак ни смешно.

Митски "девопс инжењер"

Олег: Сада сви примењују девопс. Неко чита о девопсу на интернету, а сутра се појављује још једно слободно место на сајту за запошљавање. "девопс инжењер". Овде бих желео да вам скренем пажњу: да ли мислите да овај израз „девопс инжењер“ има право на живот? Постоји мишљење да је девопс култура, а ту се нешто не уклапа.

Тим: Тако тако. Нека онда одмах дају неко објашњење овог појма. Нешто што ће га учинити јединственим. Док не докажу да иза оваквог слободног места стоји нека јединствена комбинација вештина, нећу је купити! Мислим, па, имамо назив посла, „девопс инжењер“, занимљив наслов, да, шта даље? Називи послова су генерално веома интересантна ствар. Рецимо "програмер" - шта је то уопште? Различите организације значе потпуно различите ствари. У неким компанијама, висококвалитетни програмери пишу тестове који имају више смисла од тестова које пишу специјални професионални тестери у другим компанијама. Па шта, да ли су они сада програмери или тестери?

Да, имамо називе послова, али ако постављате питања довољно дуго, на крају се испостави да сви решавамо проблеме. Ми смо трагачи за решењем, а неки имају неке техничке вештине, а неки другачије. Ако живите у окружењу у које је продро ДевОпс, бавите се интеграцијом развоја и администрације, а ова активност има неку прилично важну сврху. Али ако вас питају чиме се тачно бавите и за шта сте одговорни, испада да се све те ствари људи баве од памтивека. „Ја сам одговоран за архитектуру“, „Ја сам одговоран за базе података“ и тако даље, шта год, видите – све је то било пре „девопса“.

Када ми неко каже назив свог радног места, не слушам много. Боље је пустити га да вам каже за шта је заправо одговоран, то ће нам омогућити да боље разумемо проблем. Мој омиљени пример је када особа тврди да је „менаџер пројекта“. Шта? То ништа не значи, још увек не знам шта радиш. Менаџер пројекта може бити програмер, вођа тима од четири особе, који пише код, ради посао, који је постао вођа тима, кога људи сами међу собом препознају као лидера. Такође, менаџер пројекта може бити менаџер који управља са шест стотина људи на пројекту, управља другим менаџерима, одговоран је за састављање распореда и планирање буџета, то је све. Ово су два потпуно различита света! Али њихов назив посла звучи исто.

Хајде да ово окренемо мало другачије. У чему сте заиста добри, имате пуно искуства, да ли имате талента? За шта ћете преузети одговорност јер мислите да можете да се носите са задатком? И овде ће неко одмах почети да пориче: не, не, не, ја уопште немам жељу да се бавим пројектним ресурсима, то није моја ствар, ја сам технички тип и разумем употребљивост и корисничке интерфејсе, не ако уопште желим да управљам армијама људи, боље да идем на посао.

Иначе, ја сам велики заговорник приступа у којем ова врста раздвајања вештина добро функционише. Где техничари могу да развијају своје каријере колико год желе. Међутим, и даље видим организације у којима се техничари жале: мораћу да уђем у управљање пројектима јер је то једини начин у овој компанији. Понекад то доводи до страшних исхода. Најбољи техничари уопште нису добри менаџери, а најбољи менаџери не могу да се носе са технологијом. Будимо искрени у вези овога.

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

"Стручњаци за све"

Мицхаел: Како људи могу да се носе са таквом брзином промене технологије? Њихова сложеност расте, њихов број расте, расте и укупна количина комуникације међу људима, а испоставило се да не можете постати „стручњак за све“.

Тим: Јел тако! Ако се бавите технологијом, да, свакако морате да изаберете нешто специфично и да се удубите у то. Нека технологија коју ваша организација сматра корисном (и можда ће заиста бити корисна). А ако вас то више не занима – никад не бих веровао да ћу ово рећи – па, можда би требало да пређете у неку другу организацију где је технологија интересантнија или погоднија за проучавање.

Али генерално, да, у праву сте. Технологије расту у свим правцима одједном; нико не може рећи „Ја сам стручњак за технологију у свим технологијама које постоје“. С друге стране, постоје људи од сунђера који буквално упијају технолошко знање и луди су за њим. Видео сам пар таквих људи, они буквално дишу и живе, корисно је и занимљиво разговарати са њима. Они не проучавају само оно што се дешава унутар организације, већ и генерално говоре о томе, они су и стварно цоол технолози, веома су свесни и сврсисходни. Они само покушавају да остану на врху таласа, без обзира на то шта им је главни посао, јер њихова страст је кретање технологије, промоција технологије. Ако изненада сретнете такву особу, требало би да одете са њим на ручак и разговарате о разним кул стварима за ручком. Мислим да је свакој организацији потребно бар пар таквих људи.

Ризици и неизвесност

Мицхаел: Поштовани инжењери, да. Хајде да се дотакнемо управљања ризиком док имамо времена. Овај интервју смо започели расправом о медицинском софтверу, где грешке могу довести до страшних последица. Затим смо разговарали о Лунарном програму, где је цена грешке милионе долара, а могуће и неколико људских живота. Али сада видим супротно кретање у индустрији, људи не размишљају о ризицима, не покушавају да их предвиде, чак их и не посматрају.

Олег: Крећите се брзо и разбијте ствари!

Мицхаел: Да, крећи се брзо, разбијај ствари, све више и више ствари, док не умреш од нечега. Са ваше тачке гледишта, како би просечан програмер сада требало да приступи учењу управљања ризиком?

Тим: Хајде да повучемо линију између две ствари: ризика и неизвесности. То су различите ствари. Неизвесност се јавља када немате довољно података у било ком тренутку да бисте дошли до коначног одговора. На пример, у врло раној фази пројекта, ако вас неко пита „када ћете завршити посао“, ако сте прилично поштена особа, рећи ћете: „Немам појма“. Само не знаш, и то је у реду. Још нисте проучили проблеме и нисте упознати са тимом, не познајете њихове вештине и тако даље. Ово је неизвесност.

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

Често је проблеме најлакше решити када су се већ појавили, када се проблем дешава управо сада. Али када је проблем пред вама, ви не радите на управљању ризиком – већ на решавању проблема, управљању кризом. Ако сте главни програмер или менаџер, сигурно се питате шта би се могло догодити што би довело до кашњења, губитка времена, непотребних трошкова или колапса читавог пројекта? Шта ће нас натерати да станемо и почнемо изнова? Када све ове ствари профункционишу, шта ћемо са њима? Постоји једноставан одговор који важи за већину ситуација: не бежите од ризика, радите на њима. Погледајте како можете да решите ризичну ситуацију, сведете је на ништа, претворите је из проблема у нешто друго. Уместо да кажемо: па, решаваћемо проблеме како се појаве.

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

Опет, шта чини ваш пројекат јединственим? Хајде да видимо шта може да учини да наш пројекат изађе из шина. Шта можемо да урадимо да смањимо вероватноћу да се ово деси? Обично их не можете само 100% неутралисати и чисте савести изјавити: „То је то, ово више није проблем, ризик је решен!“ За мене је ово знак понашања одраслих. То је разлика између детета и одрасле особе – деца мисле да су бесмртна, да ништа не може поћи по злу, све ће бити у реду! Истовремено, одрасли гледају како трогодишња деца скачу по игралишту, прате покрете очима и говоре себи: „уууууууууууууууу”. Стојим у близини и спремам се да ухватим када дете падне.

С друге стране, разлог зашто толико волим овај посао је тај што је ризичан. Ми радимо ствари, а те ствари су ризичне. Они захтевају приступ одраслих. Сам ентузијазам неће решити ваше проблеме!

Инжењерско размишљање одраслих

Мицхаел: Пример са децом је добар. Ако сам обичан инжењер, онда ми је драго што сам дете. Али како кренути ка размишљању одраслих?

Тим: Једна од идеја која подједнако добро функционише и код почетника или код етаблираних програмера је концепт контекста. Шта радимо, шта ћемо постићи. Шта је заиста важно у овом пројекту? Није важно ко сте на овом пројекту, да ли сте приправник или главни архитекта, свима је потребан контекст. Морамо да натерамо сваког да размишља у већем обиму од сопствених дела. „Ја правим свој комад, и све док мој комад ради, срећан сам. Не и опет не. Увек вреди (без грубости!) подсетити људе на контекст у коме раде. Оно што сви заједно покушавамо да постигнемо. Идеје да можете бити дете све док је све у реду са вашим делом пројекта - молим вас, немојте то да радите. Ако уопште пређемо циљну линију, прећи ћемо је само заједно. Нисте сами, сви смо заједно. Када би сви људи у пројекту, и стари и млади, почели да причају шта је тачно важно за пројекат, зашто компанија улаже новац у оно што сви покушавамо да постигнемо... већина њих ће се осећати много боље јер видеће како је њихов рад у корелацији са радом свих осталих. С једне стране, разумем комад за који сам лично одговоран. Али да бисмо завршили посао, потребни су нам и сви други људи. А ако заиста мислите да сте завршили, увек имамо посла у пројекту!

Олег: Релативно говорећи, ако радите по Канбану, када наиђете на уско грло неког тестирања, можете напустити оно што сте тамо радили (на пример, програмирање) и отићи да помогнете тестерима.

Тим: Баш тако. Мислим да су најбољи техничари, ако их боље погледате, они сами себи менаџери. Како да формулишем ово...

Олег: Ваш живот је ваш пројекат којим управљате.

Тим: Баш тако! Мислим, преузимате одговорност, разумете проблем и долазите у контакт са људима када видите да ваше одлуке могу утицати на њихов рад, такве ствари. Не ради се само о томе да само седите за својим столом, радите свој посао, па чак ни не схватате шта се дешава око вас. Не не не. Иначе, једна од најбољих ствари у вези са Агиле-ом је то што су предложили кратке спринтове, јер се на тај начин јасно види стање свих учесника, они то све заједно виде. Сваки дан причамо једно о другом.

Како ући у управљање ризиком

Олег: Постоји ли формална структура знања у овој области? На пример, ја сам Јава програмер и желим да разумем управљање ризицима, а да не постанем прави менаџер пројекта по образовању. Вероватно ћу прво прочитати Меконелов „Колико кошта софтверски пројекат“, па шта онда? Који су први кораци?

Тим: Први је да почнете да комуницирате са људима у пројекту. Ово омогућава тренутно побољшање културе комуникације са колегама. Морамо да почнемо тако што ћемо подразумевано све отворити, уместо да га сакријемо. Реци: то су ствари које ме муче, то су ствари које ме држе будним ноћу, пробудио сам се ноћу данас и рекао: Боже, морам да размислим о овоме! Да ли други виде исту ствар? Да ли као група треба да одговоримо на ове потенцијалне проблеме? Морате бити у могућности да подржите дискусију о овим темама. Не постоји унапред припремљена формула по којој радимо. Не ради се о прављењу хамбургера, већ о људима. „Направи чизбургер, продај чизбургер“ уопште није наша ствар, и зато толико волим овај посао. Свиђа ми се када све што су менаџери радили сада постаје власништво тима.

Олег: У књигама и интервјуима сте говорили о томе како је људима више стало до среће него до бројева на графикону. С друге стране, када кажете тиму: прелазимо на девопс, а сада програмер мора стално да комуницира, ово може бити далеко изван његове зоне комфора. И у овом тренутку може, рецимо, бити дубоко несрећан. Шта учинити у овој ситуацији?

Тим: Нисам сигуран шта да радим. Ако је програмер превише изолован, они уопште не виде зашто се посао обавља, они само гледају свој део посла и треба да уђу у оно што ја зовем „контекст“. Он треба да схвати како је све повезано. И наравно, не мислим на формалне презентације или нешто слично. Говорим о томе да са колегама треба да комуницирате о послу у целини, а не само о делу за који сте одговорни. Овде можете да почнете да разговарате о идејама, заједничким договорима како би се ваш рад добро уклопио и како да се заједно ухватите у коштац са заједничким проблемом.

Да би им помогли да се прилагоде, често желе да пошаљу техничаре на обуку и разговарају о обуци. Један мој пријатељ воли да каже да је обука за псе. Постоји обука за људе. Једна од најбољих ствари у учењу као програмер је интеракција са својим вршњацима. Ако је неко заиста добар у нечему, требало би да га гледате како ради или разговарате са њим о његовом послу или нечему нечему. Неки конвенционални Кент Бек је стално говорио о екстремном програмирању. Смешно је јер је КСП тако једноставна идеја, али изазива толико проблема. За неке, радити КСП је као приморан да се скину голи пред пријатељима. Видеће шта радим! Они су моје колеге, не само да ће видети, већ и разумети! Страшно! Неки људи почињу да се озбиљно нервирају. Али када схватите да је ово врхунски начин учења, све се мења. Блиско сарађујете са људима, а неки људи разумеју тему много боље од вас.

Мицхаел: Али све ово вас тера да изађете из своје зоне удобности. Као инжењер, морате изаћи из своје зоне удобности и комуницирати. Као решавач проблема, морате се стално стављати у слабу позицију и размишљати о томе шта би могло поћи наопако. Ова врста посла је инхерентно дизајнирана да буде сметња. Свесно се стављате у стресне ситуације. Обично људи беже од њих, људи воле да буду срећна деца.

Тим: Шта се може, можете изаћи и отворено рећи: „Све је у реду, могу ја то! Нисам једини који се осећа непријатно. Хајде да разговарамо о разним непријатним стварима, сви заједно, као тим!" То су наши заједнички проблеми, морамо се носити са њима, знате? Мислим да су идиосинкратични генијални програмери као мамути, нестали су. А њихов значај је веома ограничен. Ако не можете да комуницирате, не можете добро учествовати. Зато, само говори. Будите искрени и отворени. Јако ми је жао што је ово некоме непријатно. Можете ли да замислите, пре много година постојала је студија према којој главни страх у Сједињеним Државама није смрт, али погодите шта? Страх од јавног наступа! То значи да негде постоје људи који би радије умрли него да кажу комплимент наглас. И мислим да је довољно да имате неке основне вештине, у зависности од тога шта радите. Говорничке вештине, вештине писања - али само онолико колико је заиста потребно у вашем послу. Ако радите као аналитичар, али не можете да читате, пишете или говорите, онда, нажалост, нећете имати шта да радите у мојим пројектима!

Цена комуникације

Олег: Није ли запошљавање таквих одлазећих радника скупље из разних разлога? На крају крајева, они стално ћаскају уместо да раде!

Тим: Мислио сам на срж тима, и то не на све. Ако имате некога ко је стварно кул у подешавању база података, воли да подешава базе података и наставиће да подешава ваше базе података до краја свог живота и то је то, кул, наставите тако. Али говорим о људима који желе да живе у самом пројекту. Језгро тима, усмерено на развој пројекта. Ови људи заиста морају стално да комуницирају једни са другима. А посебно на почетку пројекта, када разговарате о ризицима, начинима за постизање глобалних циљева и слично.

Мицхаел: Ово се односи на све који су укључени у пројекат, без обзира на специјализацију, вештине или начин рада. Сви сте заинтересовани за успех пројекта.

Тим: Да, осећате да сте довољно уроњени у пројекат, да је ваш задатак да помогнете да се пројекат оствари. Било да сте програмер, аналитичар, дизајнер интерфејса, било ко. То је разлог зашто долазим на посао свако јутро и то је оно што радимо. Ми смо одговорни за све ове људе, без обзира на њихове вештине. Ово је група људи који разговарају са одраслима.

Олег: У ствари, говорећи о причљивим запосленима, покушао сам да симулирам замерке људи, посебно менаџера, од којих се тражи да пређу на девопс, на потпуно ову нову визију света. А ви, као консултанти, требало би да будете свесни ових замерки много боље од мене, као програмера! Поделите шта највише брине менаџере?

Тим: Менаџери? Хм. Менаџери су најчешће под притиском проблема, суочени са потребом да нешто хитно ослободе и испоруче и сл. Гледају како ми стално расправљамо и свађамо се око нечега, а они то виде овако: разговори, разговори, разговори... Какви још разговори? Врати се на посао! Зато што им причање не личи на посао. Не пишете код, не тестирате софтвер, чини се да ништа не радите - зашто вас не пошаље да урадите нешто? На крају крајева, испорука је већ за месец дана!

Мицхаел: Иди напиши неки код!

Тим: Чини ми се да их не брине посао, већ невидљивост напретка. Да би изгледало као да смо све ближе успеху, потребно је да нас виде како притискамо дугмад на тастатури. Цео дан од јутра до вечери. Ово је проблем број један.

Олег: Миша, размишљаш о нечему.

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

Живот без плата

Тим: Иначе, уопште није потребно организовати „митинге“ за комуникацију. Мислим, најкорисније дискусије између програмера се дешавају када само разговарају једни с другима. Уђете ујутру са шољицом кафе, а петоро људи се окупило и бијесно расправљају о нечему техничком. За мене, ако сам менаџер овог пројекта, боље је да се само насмешим и одем негде око свог посла, нека разговарају о томе. Они су већ укључени колико је то могуће. Ово је добар знак.

Олег: Иначе, у својој књизи имате гомилу белешки о томе шта је добро, а шта лоше. Да ли и сами користите неку од њих? Релативно говорећи, сада имате компанију, и то ону која је структурирана на врло неортодоксан начин...

Тим: Неортодоксно, али нам овај уређај савршено одговара. Знамо се дуго. Верујемо једни другима, много смо веровали једни другима пре него што смо постали партнери. А на пример, ми уопште немамо плате. Ми само радимо, и на пример, ако сам зарадио новац од својих клијената, онда је сав новац отишао мени. Након тога плаћамо чланарину организацији и то је довољно за издржавање саме компаније. Осим тога, сви смо специјализовани за различите ствари. На пример, радим са рачуновођама, попуњавам пореске пријаве, радим разне административне послове за компанију, а нико ми то не плаћа. Џејмс и Том раде на нашој веб страници и нико их такође не плаћа. Докле год плаћате своје обавезе, никоме неће пасти на памет да вам каже шта треба да урадите. На пример, Том сада ради много мање него некада. Сада има друге интересе; неке ствари ради не за Цех. Али докле год плаћа своје обавезе, нико му неће прићи и рећи: „Хеј, Томе, иди на посао!“ Врло је лако имати посла са колегама када између вас нема новца. А сада је наш однос једна од темељних идеја у односу на различите специјалности. Ради и ради веома добро.

најбољи савет

Мицхаел: Враћајући се на „најбољи савет“, да ли постоји нешто што говорите својим клијентима изнова и изнова? Постоји идеја о 80/20, а неки савети се вероватно чешће понављају.

Тим: Једном сам мислио да ако напишете књигу попут Валцера са медведима, то би променило ток историје и људи би стали, али... Па, видите, компаније се често претварају да је с њима све у реду. Чим се нешто лоше деси, то је за њих шок и изненађење. „Видите, ми смо тестирали систем и он не пролази ниједан системски тест, а ово је још три месеца непланираних радова, како је то могло да се деси? Ко је знао? Шта би могло поћи по злу? Озбиљно, да ли верујеш у ово?

Покушавам да објасним да се не треба превише љутити због тренутне ситуације. Морамо да разговарамо о томе, да заиста разумемо шта је могло поћи наопако и како спречити да се такве ствари дешавају у будућности. Ако се проблем појави, како ћемо се борити против њега, како ћемо га обуздати?

Мени све ово изгледа застрашујуће. Људи се баве сложеним, узнемирујућим проблемима и настављају да се претварају да ће се „најбоље“ заиста десити, ако само прекрсте палчеве и надају се најбољем. Не, то не функционише тако.

Вежбајте управљање ризиком!

Мицхаел: По вашем мишљењу, колико организација се бави управљањем ризицима?

Тим: Оно што ме љути је то што људи једноставно запишу ризике, погледају резултујућу листу и иду на посао. У ствари, идентификовање ризика за њих је управљање ризиком. Али мени ово звучи као разлог да се питам: у реду, постоји листа, шта ћете тачно променити? Морате да промените своје стандардне секвенце акција узимајући у обзир ове ризике. Ако постоји неки најтежи део посла, треба се ухватити у коштац са њим, па тек онда прећи на нешто једноставније. У првим спринтовима почните да решавате сложене проблеме. Ово већ личи на управљање ризиком. Али обично људи не могу да кажу шта су променили након састављања листе ризика.

Мицхаел: Па ипак, колико је ових компанија укључено у управљање ризицима, пет одсто?

Тим: Нажалост, мрзим ово да кажем, али ово је неки врло безначајан део. Али више од пет, јер постоје заиста велики пројекти, а они једноставно не могу постојати ако бар нешто не ураде. Рецимо да ћу се јако изненадити ако буде бар 25%. Мали пројекти обично одговарају на ова питања: ако проблем утиче на нас, онда ћемо га решити. Тада се успешно упадају у невоље и баве се управљањем проблемима и кризним управљањем. Када покушате да решите проблем, а проблем није решен, добродошли у кризни менаџмент.

Да, често чујем: „ми ћемо решавати проблеме како се појаве. Сигурно хоћемо? Хоћемо ли заиста одлучити?

Олег: Можете то учинити наивно и једноставно уписати важне инваријанте у повељу пројекта, а ако се инваријанте покваре, само поново покрените пројекат. Испада веома пиембуцки.

Мицхаел: Да, дешавало ми се да када су се ризици покренули, пројекат је једноставно редефинисан. Лепо, бинго, проблем решен, не брини више!

Тим: Хајде да притиснемо дугме за ресетовање! Не, то не функционише тако.

Кључна реч на ДевОопс 2019

Мицхаел: Дошли смо до последњег питања овог интервјуа. Долазите на следећи ДевОопс са главним излагањем, да ли бисте могли да подигнете завесу тајне о томе шта ћете рећи?

Тим: Тренутно њих шесторо пишу књигу о култури рада, о неизреченим правилима организације. Култура је одређена основним вредностима организације. Људи то обично не примећују, али пошто смо годинама радили у консалтингу, навикли смо да то примећујемо. Уђете у компанију и буквално за неколико минута почнете да осећате шта се дешава. Ово зовемо "укус". Понекад је овај мирис заиста добар, а понекад је, па, упс. Ствари су веома различите за различите организације.

Мицхаел: И ја се годинама бавим консалтингом и добро разумем о чему говорите.

Тим: Заправо, једна од ствари о којима вреди говорити на уводном излагању је да није све одређено од стране компаније. Ви и ваш тим, као заједница, имате своју тимску културу. Ово може бити цела компанија, или посебно одељење, посебан тим. Али пре него што сте рекли, ево шта верујемо, ево шта је важно... Не можете променити културу пре него што се схвате вредности и уверења која стоје иза конкретних акција. Понашање је лако уочити, али је тешко тражити уверења. ДевОпс је само одличан пример како ствари постају све сложеније. Интеракције постају само сложеније, уопште не постају чистије и јасније, па треба размислити у шта верујете и о чему сви око вас ћуте.

Ако желите да постигнете брзе резултате, ево једне добре теме за вас: да ли сте видели компаније у којима нико не каже „не знам“? Постоје места где буквално мучите човека док не призна да нешто не зна. Сви све знају, сви су невероватни ерудити. Приђете било којој особи и она мора одмах да одговори на питање. Уместо да кажете „Не знам“. Ура, ангажовали су гомилу ерудита! А у неким културама генерално је веома опасно рећи „не знам“; то се може схватити као знак слабости. Постоје и организације у којима, напротив, свако може да каже „не знам“. Тамо је то потпуно легално, а ако неко крене да глупира на неко питање, сасвим је нормално да одговори: „Не знаш о чему причаш, зар не?“ и све то претворити у шалу.

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

Тим Листер ће стићи са главним говором „Карактери, заједница и култура: важни фактори за просперитет“на ДевОопс 2019 конференцију, која ће се одржати од 29. до 30. октобра 2019. у Санкт Петербургу. Можете купити карте на званичној веб страници. Чекамо вас у ДевОопсу!

Извор: ввв.хабр.цом

Додај коментар