"Vi litar pĂ„ varandra. Vi har till exempel inga löner alls” - en lĂ„ng intervju med Tim Lister, författare till Peopleware

"Vi litar pĂ„ varandra. Vi har till exempel inga löner alls” - en lĂ„ng intervju med Tim Lister, författare till Peopleware

Tim Lister - medförfattare till böcker

  • "MĂ€nskliga faktorn. FramgĂ„ngsrika projekt och team" (originalboken heter "Peopleware")
  • "Waltzing with the Bears: Managing Risk in Software Projects"
  • "Adrenalin-galen och zombifierad av mönster. Beteendemönster för projektteam"

Alla dessa böcker Àr klassiker inom sitt omrÄde och skrevs tillsammans med kollegor i Atlantic Systems Guild. I Ryssland Àr hans kollegor mest kÀnda - Tom DeMarco О Peter Hruschka, som ocksÄ skrev mÄnga kÀnda verk.

Tim har 40 Ärs erfarenhet av mjukvaruutveckling; 1975 (ingen av dem som skrev detta habrapost föddes i Är), var Tim redan vice vd för Yourdon Inc. Han Àgnar nu sin tid Ät att konsultera, undervisa och skriva, med enstaka besök pÄ med rapporter konferenser runt om i vÀrlden.

Vi gjorde en intervju med Tim Lister speciellt för Habr. Han kommer att öppna DevOops 2019-konferensen, och vi har mÄnga frÄgor, om böcker och mer. Intervjun genomförs av Mikhail Druzhinin och Oleg Chirukhin frÄn konferensens programkommitté.

Michael: Kan du sÀga nÄgra ord om vad du gör nu?

Tim: Jag Àr chef för Atlantic Systems Guild. Vi Àr sex av oss i Guilden, vi kallar oss rektorer. Tre i USA och tre i Europa - det Àr dÀrför Guilden kallas Atlantic. Vi har varit tillsammans i sÄ mÄnga Är att man bara inte kan rÀkna dem. Vi har alla vÄra specialiteter. Jag har arbetat med kunder under det senaste decenniet eller mer. Mina projekt omfattar inte bara ledning utan Àven kravstÀllning, projektplanering och utvÀrdering. Det verkar som att projekt som börjar dÄligt oftast slutar dÄligt. DÀrför Àr det vÀrt att se till att alla aktiviteter verkligen Àr genomtÀnkta och samordnade, att idéerna frÄn skaparna kombineras. Det Àr vÀrt att tÀnka pÄ vad du gör och varför. Vilka strategier man ska anvÀnda för att fÄ projektet att slutföras.

Jag har handlett klienter pÄ olika sÀtt i mÄnga Är. Ett intressant exempel Àr ett företag som tillverkar robotar för knÀ- och höftoperationer. Kirurgen opererar inte helt sjÀlvstÀndigt utan anvÀnder en robot. SÀkerheten hÀr, Àrligt talat, Àr viktig. Men nÀr man försöker diskutera krav med mÀnniskor som Àr fokuserade pÄ att lösa problem... Det kommer att lÄta konstigt, men i USA finns det FDA (Federal Drug Administration), som licensierar produkter som dessa robotar. Innan du sÀljer nÄgot och anvÀnder det pÄ levande mÀnniskor mÄste du skaffa en licens. Ett av villkoren Àr att visa dina krav, vilka testerna Àr, hur du testade dem, vilka testresultaten Àr. Om du Àndrar kraven mÄste du gÄ igenom hela den hÀr enorma testprocessen om och om igen. VÄra kunder lyckades inkludera visuell design av applikationer i sina krav. De hade skÀrmdumpar direkt som en del av kraven. Vi mÄste dra ut dem och förklara att för det mesta vet alla dessa program ingenting om knÀn och höfter, alla dessa saker med kameran, etc. Vi behöver skriva om kravdokumenten sÄ att de aldrig Àndras, sÄvida inte nÄgra riktigt viktiga underliggande förutsÀttningar Àndras. Om visuell design inte Àr i kraven kommer uppdateringen av produkten att gÄ mycket snabbare. VÄrt jobb Àr att hitta de element som handlar om operationer i knÀ, höfter, rygg, dra ut dem i separata dokument och sÀga att dessa kommer att vara de grundlÀggande kraven. LÄt oss stÀlla en isolerad grupp krav om knÀoperationer. Detta kommer att göra det möjligt för oss att bygga en mer stabil uppsÀttning krav. Vi kommer att prata om hela produktlinjen, och inte om specifika robotar.

Mycket arbete gjordes, men de kom ÀndÄ till platser dÀr de tidigare tillbringade veckor och mÄnader av upprepade tester utan mening eller behov, eftersom deras krav beskrivna pÄ papper inte överensstÀmde med de verkliga krav som systemen byggdes för. FDA sa till dem varje gÄng: dina krav har förÀndrats, nu mÄste du kontrollera allt frÄn grunden. Kompletta omkontroller av hela produkten dödade företaget.

SÄ det finns sÄ underbara uppgifter nÀr du befinner dig i början av nÄgot intressant, och de allra första ÄtgÀrderna sÀtter spelets ytterligare regler. Om du ser till att denna tidiga aktivitet börjar fungera bra ur bÄde ledningsmÀssig och teknisk synvinkel, finns det en chans att du kommer att fÄ ett jÀttebra projekt. Men om den hÀr delen har gÄtt av stapeln och blivit fel nÄgonstans, om du inte kan hitta de grundlÀggande överenskommelserna... nej, det Àr inte sÄ att ditt projekt nödvÀndigtvis kommer att misslyckas. Men du kommer inte lÀngre att kunna sÀga: "Vi gjorde det bra, vi gjorde allting riktigt effektivt." Det hÀr Àr de saker jag gör nÀr jag kommunicerar med kunder.

Michael: Dvs man drar igÄng projekt, gör nÄgon form av kickoff och kollar att rÀlsen Àr pÄ vÀg Ät rÀtt hÄll?

Tim: Vi har ocksÄ idéer om hur vi ska lÀgga alla pusselbitarna: vilka fÀrdigheter vi behöver, nÀr exakt de behövs, hur kÀrnan i laget ser ut och andra sÄdana grundlÀggande saker. Behöver vi heltidsanstÀllda eller kan vi anstÀlla nÄgon pÄ deltid? Planering, ledning. FrÄgor som: Vad Àr viktigast för just detta projekt? Hur uppnÄr man detta? Vad vet vi om den hÀr produkten eller projektet, vilka Àr riskerna och var det okÀnda finns, hur ska vi hantera allt detta? Naturligtvis, i det hÀr ögonblicket börjar nÄgon ropa "Vad sÀgs om smidig?!" Okej, ni Àr alla flexibla, men vad sÄ? Hur ser projektet ut exakt, hur ska ni ta ut det pÄ ett sÀtt som passar projektet? Du kan inte bara sÀga att "vÄrt tillvÀgagÄngssÀtt strÀcker sig till vad som helst, vi Àr ett Scrum-team!" Det hÀr Àr nonsens och nonsens. Vart ska du gÄ hÀrnÀst, varför ska det fungera, var Àr poÀngen? Jag lÀr mina kunder att tÀnka pÄ alla dessa frÄgor.

19 Ă„r av smidig

Michael: I Agile försöker folk ofta att inte definiera nÄgot i förvÀg, utan att fatta beslut sÄ sent som möjligt och sÀga: vi Àr för stora, jag tÀnker inte pÄ den övergripande arkitekturen. Jag tÀnker inte pÄ en massa andra saker, istÀllet ska jag leverera nÄgot som fungerar till kunden just nu.

Tim: Jag tror att agila metoder, börjar med Agile manifest 2001 öppnade branschens ögon. Men Ă„ andra sidan Ă€r ingenting perfekt. Jag Ă€r helt för iterativ utveckling. Iteration Ă€r mycket vettigt i de flesta projekt. Men frĂ„gan du behöver tĂ€nka pĂ„ Ă€r: nĂ€r produkten vĂ€l Ă€r ute och anvĂ€nds, hur lĂ€nge hĂ„ller den? Är detta en produkt som hĂ„ller i sex mĂ„nader innan den ersĂ€tts av nĂ„got annat? Eller Ă€r detta en produkt som kommer att fungera i mĂ„nga, mĂ„nga Ă„r? Naturligtvis kommer jag inte att nĂ€mna namn, men... I New York och dess finansiella samhĂ€lle Ă€r de mest grundlĂ€ggande systemen vĂ€ldigt gamla. Det hĂ€r Ă€r otroligt. Du tittar pĂ„ dem och tĂ€nker, om du bara kunde gĂ„ tillbaka i tiden, till 1994, och berĂ€tta för utvecklarna: "Jag kom frĂ„n framtiden, frĂ„n 2019. Utveckla bara detta system sĂ„ lĂ€nge du behöver. Gör det utbyggbart, tĂ€nk pĂ„ arkitekturen. Det kommer sedan att förbĂ€ttras i mer Ă€n tjugofem Ă„r. Om du skjuter upp utvecklingen lite lĂ€ngre, i det stora hela kommer ingen att mĂ€rka det!” NĂ€r du ska uppskatta saker pĂ„ lĂ„ng sikt mĂ„ste du övervĂ€ga hur mycket det kommer att kosta totalt. Ibland Ă€r vĂ€ldesignad arkitektur verkligen vĂ€rt det, och ibland inte. Vi mĂ„ste se oss omkring och frĂ„ga oss sjĂ€lva: Ă€r vi i rĂ€tt situation för ett sĂ„dant beslut?

SÄ en idé som "Vi Àr för agila, kunden kommer sjÀlv att berÀtta vad han vill fÄ" - det Àr supernaivt. Kunder vet inte ens vad de vill ha, och Ànnu mer sÄ att de inte vet vad de kan fÄ. Vissa mÀnniskor kommer att börja anföra historiska exempel som argument, jag har redan sett detta. Men tekniskt avancerade brukar inte sÀga sÄ. De sÀger: "Det Àr 2019, det hÀr Àr möjligheterna vi har, och vi kan helt förÀndra hur vi ser pÄ dessa saker!" IstÀllet för att efterlikna befintliga lösningar, göra dem lite snyggare och mer kammade, behöver du ibland gÄ ut och sÀga: "LÄt oss helt och hÄllet Äteruppfinna det vi försöker göra hÀr!"

Och jag tror inte att de flesta kunder kan tÀnka pÄ problemet pÄ det sÀttet. De ser bara det de redan har, det Àr allt. DÀrefter kommer de med förfrÄgningar som "lÄt oss göra det hÀr lite enklare", eller vad de brukar sÀga. Men vi Àr inga servitörer eller servitriser, sÄ vi kan ta en bestÀllning hur dum den Àn blir och sedan baka den i köket. Vi Àr deras guider. Vi mÄste öppna deras ögon och sÀga: hej, vi har nya möjligheter hÀr! Inser du att vi verkligen kan förÀndra hur den hÀr delen av din verksamhet görs? Ett av problemen med Agile Àr att det tar bort medvetenheten om vad som Àr en möjlighet, vad som Àr ett problem, vad behöver vi ens göra, vilka tillgÀngliga tekniker som Àr bÀst lÀmpade för just den hÀr situationen.

Jag kanske Àr överdrivet skeptisk hÀr: det hÀnder mÄnga underbara saker i det agila samhÀllet. Men jag har ett problem med att istÀllet för att definiera ett projekt sÄ börjar folk rÀta upp handen. Jag skulle frÄga hÀr - vad gör vi, hur ska vi göra det? Och pÄ nÄgot magiskt sÀtt visar det sig alltid att klienten borde veta bÀttre Àn nÄgon annan. Men klienten vet bÀst bara nÀr han vÀljer frÄn saker som redan byggts av nÄgon. Om jag vill köpa en bil och jag vet storleken pÄ min familjebudget, kommer jag snabbt att vÀlja en bil som passar min livsstil. HÀr vet jag allt bÀttre Àn nÄgon annan! Men observera att nÄgon redan har tillverkat bilarna. Jag har ingen aning om hur man uppfinner en ny bil, jag Àr ingen expert. NÀr vi skapar anpassade eller specialprodukter mÄste kundens röst beaktas, men detta Àr inte lÀngre den enda rösten.

Oleg: Du nÀmnde Agile Manifesto. Behöver vi pÄ nÄgot sÀtt uppdatera eller revidera det med hÀnsyn till den moderna förstÄelsen av problemet?

Tim: Jag skulle inte röra honom. Jag tycker att det Àr ett fantastiskt historiskt dokument. Jag menar, han Àr vad han Àr. Han fyller 19 Är, han Àr gammal, men pÄ sin tid gjorde han revolution. Vad han gjorde bra var att han utlöste en reaktion och folk började viska om honom. Du arbetade med största sannolikhet inte Ànnu i branschen 2001, men dÄ arbetade alla enligt processer. Software Engineering Institute, fem nivÄer av mjukvarukompletthetsmodellen (CMMI). Jag vet inte om sÄdana legender frÄn den djupa antiken sÀger dig nÄgot, men dÄ var det ett genombrott. Till en början trodde man att om processerna var rÀtt instÀllda sÄ skulle problemen försvinna av sig sjÀlva. Och sÄ kommer Manifestet och sÀger: "Nej, nej, nej - vi kommer att baseras pÄ mÀnniskor, inte processer." Vi Àr mÀstare pÄ mjukvaruutveckling. Vi förstÄr att den ideala processen Àr en hÀgring, den hÀnder inte. Det finns för mycket egenart i projekt, tanken pÄ en enda perfekt process för alla projekt Àr inte meningsfull. Problemen Àr för komplexa för att hÀvda att det bara finns en lösning pÄ allt (hej, nirvana).

Jag antar inte att se in i framtiden, men jag kommer att sÀga att folk nu har börjat tÀnka mer pÄ projekt. Jag tycker att Agile Manifesto Àr vÀldigt bra pÄ att hoppa ut och sÀga, "Hej! Du Àr pÄ ett fartyg, och du sjÀlv kör det hÀr fartyget. Du mÄste fatta ett beslut - vi kommer inte att föreslÄ ett universellt recept för alla situationer. Du Àr besÀttningen pÄ fartyget, och om du Àr tillrÀckligt bra kan du hitta en vÀg till mÄlet. Det fanns andra skepp före dig, och det kommer att finnas andra skepp efter dig, men ÀndÄ, pÄ sÀtt och vis, Àr din resa unik." NÄgot sÄdant! Det Àr ett sÀtt att tÀnka. För mig Àr det inget nytt under solen, folk har seglat förut och kommer att segla igen, men för dig Àr detta din huvudresa, och jag kommer inte att berÀtta för dig exakt vad som kommer att hÀnda dig. Du mÄste ha förmÄgan att samordna arbete i ett team, och om du verkligen har det kommer allt att lösa sig och du kommer dit du ville.

MĂ€nniskor: 30 Ă„r senare

Oleg: Var Peopleware en revolution likavÀl som Manifestet?

Tim: Peopleware... Tom och jag skrev den hÀr boken, men vi trodde inte att det skulle hÀnda sÄ hÀr. PÄ nÄgot sÀtt resonerade det med mÄnga mÀnniskors idéer. Detta var den första boken som sa: mjukvaruutveckling Àr en mycket mÀnskligt intensiv aktivitet. Trots vÄr tekniska natur Àr vi ocksÄ en gemenskap av mÀnniskor som bygger nÄgot stort, till och med enormt, mycket komplext. Ingen kan skapa sÄdana saker ensam, eller hur? SÄ idén om "team" blev vÀldigt viktig. Och inte bara ur ledningssynpunkt, utan ocksÄ för tekniska mÀnniskor som gick samman för att lösa riktigt komplexa djupa problem med en massa okÀnda. För mig personligen har detta varit ett enormt test av intelligens under hela min karriÀr. Och hÀr mÄste du kunna sÀga: ja, det hÀr problemet Àr mer Àn jag kan hantera pÄ egen hand, men tillsammans kan vi hitta en elegant lösning som vi kan vara stolta över. Och jag tror att det var den hÀr idén som fick mest resonans. Tanken att vi arbetar en del av tiden pÄ egen hand, en del av tiden som en del av en grupp, och ofta fattas beslutet av gruppen. Gruppproblemlösning har snabbt blivit en viktig del av komplexa projekt.

Trots att Tim har hÄllit ett enormt antal föredrag Àr vÀldigt fÄ av dem upplagda pÄ YouTube. Du kan titta pÄ rapporten "The Return of Peopleware" frÄn 2007. Kvaliteten lÀmnar naturligtvis mycket övrigt att önska.

Michael: Har nÄgot förÀndrats under de senaste 30 Ären sedan boken publicerades?

Tim: Du kan se pÄ detta frÄn mÄnga olika vinklar. Sociologiskt sett... en gÄng i tiden, i enklare tider, satt du och ditt team pÄ samma kontor. Ni kunde vara nÀra varje dag, dricka kaffe tillsammans och diskutera arbete. Det som verkligen har förÀndrats Àr att team nu kan fördelas geografiskt, i olika lÀnder och tidszoner, men ÀndÄ arbetar de med samma problem, och detta lÀgger till ett helt nytt lager av komplexitet. Det hÀr kan lÄta gammaldags, men det finns inget som öga mot öga kommunikation dÀr ni Àr alla tillsammans, arbetar tillsammans och ni kan gÄ fram till en kollega och sÀga, titta vad jag upptÀckte, hur gillar ni det hÀr? Konversationer ansikte mot ansikte ger ett snabbt sÀtt att övergÄ till informell kommunikation, och jag tror att smidiga entusiaster ocksÄ borde gilla det. Och jag Àr ocksÄ orolig för i verkligheten har vÀrlden visat sig vara vÀldigt liten, och nu Àr det hela tÀckt med distribuerade team, och det hela Àr vÀldigt komplext.

Vi bor alla i DevOps

Michael: Även ur konferensens programkommittĂ©s synvinkel har vi mĂ€nniskor i Kalifornien, i New York, Europa, Ryssland... det finns ingen i Singapore Ă€n. Skillnaden i geografi Ă€r ganska stor, och folk börjar sprida sig Ă€nnu mer. Om vi ​​pratar om utveckling, kan du berĂ€tta mer om devops och att bryta ner barriĂ€rer mellan team? Det finns ett koncept att alla sitter i sina bunkrar, och nu kollapsar bunkrarna, vad tycker du om denna analogi?

Tim: Det förefaller mig att i ljuset av de senaste tekniska genombrotten Ă€r devops av stor betydelse. Tidigare hade man team av utvecklare och administratörer, de jobbade, jobbade, jobbade och nĂ„gon gĂ„ng dök det upp en grej som man kunde komma till admins med och rulla ut för produktion. Och hĂ€r började samtalet om bunkern, för administratörerna Ă€r typ allierade, Ă„tminstone inte fiender, men man pratade med dem först nĂ€r allt var redo att gĂ„ till produktion. Gick du till dem med nĂ„got och sa: titta vilken applikation vi har, men skulle du kunna rulla ut den hĂ€r applikationen? Och nu har hela konceptet med leverans förĂ€ndrats till det bĂ€ttre. Jag menar, det fanns den hĂ€r idĂ©n att du snabbt kunde driva igenom förĂ€ndringar. Vi kan uppdatera produkter i farten. Jag ler alltid nĂ€r Firefox pĂ„ min bĂ€rbara dator dyker upp och sĂ€ger, hej, vi har uppdaterat din Firefox i bakgrunden, och sĂ„ fort du har en minut, skulle du vilja klicka hĂ€r sĂ„ ger vi dig den senaste versionen. Och jag tĂ€nkte "Åh ja, Ă€lskling!" Medan jag sov arbetade de pĂ„ att leverera en ny version till mig direkt pĂ„ min dator. Det hĂ€r Ă€r underbart, otroligt.

Men hĂ€r Ă€r svĂ„righeten: du har den hĂ€r funktionen med att uppdatera programvaran, men att integrera mĂ€nniskor Ă€r mycket svĂ„rare. Det jag vill uttrycka pĂ„ DevOops keynote Ă€r att vi nu har mĂ„nga fler spelare Ă€n vi nĂ„gonsin haft. Om du bara tĂ€nker pĂ„ alla inblandade i bara ett lag... Du tĂ€nkte pĂ„ det som ett team, och det Ă€r mycket mer Ă€n bara ett team av programmerare. Det hĂ€r Ă€r testare, projektledare och ett gĂ€ng andra mĂ€nniskor. Och alla har sin egen syn pĂ„ vĂ€rlden. Produktchefer Ă€r helt annorlunda Ă€n projektledare. Administratörer har sina egna uppgifter. Det blir ett ganska svĂ„rt problem att samordna alla deltagare för att fortsĂ€tta vara medveten om vad som hĂ€nder och inte bli galen. Det Ă€r nödvĂ€ndigt att separera gruppens uppgifter och uppgifter som gĂ€ller alla. Detta Ă€r en mycket svĂ„r uppgift. Å andra sidan tycker jag att det hela Ă€r mycket bĂ€ttre Ă€n det var för mĂ„nga Ă„r sedan. Det Ă€r precis den vĂ€gen som mĂ€nniskor vĂ€xer och lĂ€r sig att bete sig pĂ„ rĂ€tt sĂ€tt. NĂ€r man gör integration förstĂ„r man att det inte ska ske nĂ„gon underjordisk utveckling, sĂ„ att mjukvaran i allra sista stund inte kryper ut som en jack-in-the-box: typ, titta vad vi gjorde hĂ€r! Tanken Ă€r att du ska kunna göra integration och utveckling, och i slutet ska du rulla ut pĂ„ ett snyggt och iterativt sĂ€tt. Allt detta betyder mycket för mig. Detta gör det möjligt att skapa mer vĂ€rde för anvĂ€ndarna av systemet och för din kund.

Michael: Hela idén med devops Àr att leverera meningsfull utveckling sÄ tidigt som möjligt. Jag ser att vÀrlden har börjat ta fart mer och mer. Hur anpassar man sig till sÄdana accelerationer? För tio Är sedan fanns inte detta!

Tim: Alla vill förstÄs ha mer och mer funktionalitet. Du behöver inte röra pÄ dig, bara lÀgga pÄ mer. Ibland mÄste du till och med sakta ner för nÀsta stegvisa uppdatering för att fÄ med dig nÄgot anvÀndbart - och det Àr helt normalt.

Tanken att du behöver springa, springa, springa Ă€r inte den bĂ€sta. Det Ă€r osannolikt att nĂ„gon vill leva sitt liv sĂ„. Jag skulle vilja att rytmen i leveranserna sĂ€tter projektets egen rytm. Om du bara producerar en ström av smĂ„, relativt meningslösa saker, blir allt meningslöst. IstĂ€llet för att tanklöst försöka slĂ€ppa saker sĂ„ tidigt som möjligt, Ă€r det strategi som Ă€r vĂ€rt att diskutera med de ledande utvecklarna och produkt- och projektledare. Är detta ens vettigt?

Mönster och antimönster

Oleg: Man brukar prata om mönster och antimönster, och detta Àr skillnaden mellan projekts liv och död. Och nu kommer devops in i vÄra liv. Har den nÄgra egna mönster och antimönster som kan döda projektet pÄ plats?

Tim: Mönster och antimönster hĂ€nder hela tiden. NĂ„got att prata om. Tja, det finns det hĂ€r vi kallar "blanka saker". Folk gillar verkligen ny teknik. De fascineras helt enkelt av glansen av allt som ser coolt och stiligt ut, och de slutar stĂ€lla frĂ„gor: Ă€r det ens nödvĂ€ndigt? Vad ska vi uppnĂ„? Är det hĂ€r tillförlitligt, Ă€r det nĂ„gon mening? Jag ser ofta mĂ€nniskor, sĂ„ att sĂ€ga, i framkant av tekniken. De hypnotiseras av vad som hĂ€nder i vĂ€rlden. Men om man tittar nĂ€rmare pĂ„ vilka anvĂ€ndbara saker de gör sĂ„ finns det ofta helt enkelt inget anvĂ€ndbart!

Vi diskuterade just med vÄra kamrater att det hÀr Äret Àr ett jubileumsÄr, femtio Är sedan mÀnniskor landade pÄ mÄnen. Detta var 1969. Tekniken som hjÀlpte mÀnniskor att ta sig dit Àr inte ens 1969 Ärs teknik, utan snarare 1960 eller 62, eftersom NASA bara ville anvÀnda det som hade goda bevis pÄ tillförlitlighet. Och sÄ ser du pÄ det och förstÄr - ja, och de var sanna! Nu, nej, nej, men man fÄr problem med tekniken helt enkelt för att allt pressas för hÄrt, sÀljs frÄn alla sprickor. Folk ropar frÄn överallt: "Titta, vilken grej, det hÀr Àr det nyaste, det vackraste i vÀrlden, passar absolut alla!" Tja, det Àr det... vanligtvis visar sig allt detta bara vara ett lockbete, och sedan mÄste allt slÀngas. Kanske beror det pÄ att jag redan Àr en gammal man och ser pÄ sÄdana saker med stor skepsis, nÀr folk springer ut och sÀger att de har hittat det enda, mest korrekta sÀttet att skapa de bÀsta teknologierna. I detta ögonblick vaknar en röst inom mig som sÀger: "Vilken röra!"

Michael: Ja, hur ofta har vi hört talas om nÀsta silverkula?

Tim: Precis, och det hĂ€r Ă€r det vanliga förloppet! Till exempel... det verkar som att detta redan har blivit ett skĂ€mt runt om i vĂ€rlden, men hĂ€r pratar man ofta om blockchain-teknik. Och de Ă€r faktiskt vettiga i vissa situationer! NĂ€r du verkligen behöver tillförlitliga bevis pĂ„ hĂ€ndelser, att systemet fungerar och att ingen lurade oss, nĂ€r du har sĂ€kerhetsproblem och allt det dĂ€r blandat – blockchain Ă€r vettigt. Men nĂ€r de sĂ€ger att Blockchain nu kommer att svepa över vĂ€rlden och sopa bort allt i dess vĂ€g? Dröm mer! Detta Ă€r en mycket dyr och komplex teknik. Tekniskt komplext och tidskrĂ€vande. Inklusive rent algoritmiskt, varje gĂ„ng du behöver rĂ€kna om matematiken, med de minsta förĂ€ndringar... och detta Ă€r en utmĂ€rkt idĂ© - men bara för vissa fall. Hela mitt liv och karriĂ€r har handlat om detta: intressanta idĂ©er i mycket specifika situationer. Det Ă€r mycket viktigt att förstĂ„ exakt hur din situation Ă€r.

Michael: Ja, den huvudsakliga "frÄgan om livet, universum och allt": Àr denna teknik eller tillvÀgagÄngssÀtt lÀmplig för din situation eller inte?

Tim: Denna frĂ„ga kan redan diskuteras med teknikgruppen. Kanske till och med ta in nĂ„gon konsult. Ta en titt pĂ„ projektet och förstĂ„ – kommer vi nu att göra nĂ„got rĂ€tt och anvĂ€ndbart, bĂ€ttre Ă€n tidigare? Kanske passar det, kanske inte. Men viktigast av allt, ta inte ett sĂ„dant beslut som standard, helt enkelt för att nĂ„gon sa: "Vi behöver desperat en blockchain! Jag lĂ€ste precis om honom i en tidning pĂ„ planet!” Allvarligt? Det Ă€r inte ens roligt.

Den mytomspunna "devops-ingenjören"

Oleg: Nu implementerar alla devops. NÄgon lÀser om devops pÄ Internet, och i morgon dyker ytterligare en ledig tjÀnst upp pÄ en rekryteringssajt. "devops ingenjör". HÀr skulle jag vilja uppmÀrksamma er: tror du att denna term, "devops ingenjör", har rÀtt till liv? Det finns en Äsikt att devops Àr en kultur, och nÄgot stÀmmer inte med hÀr.

Tim: SÄ sÄ. LÄt dem sedan omedelbart ge en förklaring av denna term. NÄgot som gör det unikt. Tills de bevisar att det finns nÄgon unik kombination av kompetens bakom en ledig tjÀnst som denna, kommer jag inte att köpa den! Jag menar, ja, vi har en jobbtitel, "devops ingenjör", en intressant titel, ja, vad hÀnder hÀrnÀst? Arbetstitlar Àr generellt sett en vÀldigt intressant sak. LÄt oss sÀga "utvecklare" - vad Àr det egentligen? Olika organisationer betyder helt olika saker. I vissa företag skriver högkvalitativa programmerare tester som Àr mer vettiga Àn tester skrivna av speciella professionella testare i andra företag. SÄ vad Àr de nu programmerare eller testare?

Ja, vi har jobbtitlar, men om du stÀller frÄgor tillrÀckligt lÀnge visar det sig sÄ smÄningom att vi alla Àr problemlösare. Vi Àr lösningssökande, och vissa har en del teknisk kompetens och en del har olika. Om du bor i en miljö dÀr DevOps har penetrerat, Àr du engagerad i integrationen av utveckling och administration, och denna aktivitet har ett ganska viktigt syfte. Men om man fÄr frÄgan om vad exakt man gör och vad man Àr ansvarig för, visar det sig att folk har gjort alla dessa saker sedan urminnes tider. "Jag Àr ansvarig för arkitekturen", "Jag Àr ansvarig för databaserna" och sÄ vidare, vad du Àn ser - allt detta var innan "devops".

NÀr nÄgon sÀger till mig sin jobbtitel lyssnar jag inte sÄ mycket. Det Àr bÀttre att lÄta honom berÀtta vad han faktiskt Àr ansvarig för, det gör att vi kan förstÄ problemet mycket bÀttre. Mitt favoritexempel Àr nÀr en person pÄstÄr sig vara en "projektledare". Vad? Det betyder ingenting, jag vet fortfarande inte vad du gör. En projektledare kan vara en utvecklare, ledare för ett team pÄ fyra personer, skriva kod, utföra arbete, som har blivit en teamleader, som mÀnniskor sjÀlva kÀnner igen sinsemellan som en ledare. Och dessutom kan en projektledare vara en chef som leder sexhundra personer i ett projekt, hanterar andra chefer, ansvarar för att upprÀtta scheman och planera budgetar, det Àr allt. Det Àr tvÄ helt olika vÀrldar! Men deras jobbtitel lÄter likadant.

LÄt oss vÀnda pÄ det hÀr lite annorlunda. Vad Àr du egentligen bra pÄ, har mycket erfarenhet, har du talang för? Vad kommer du att ta ansvar för för att du tror att du klarar uppgiften? Och hÀr kommer nÄgon genast att börja förneka: nej, nej, nej, jag har ingen lust att ta itu med projektresurser alls, det Àr inte min sak, jag Àr en teknisk snubbe och jag förstÄr anvÀndbarhet och anvÀndargrÀnssnitt, jag vet inte vill överhuvudtaget hantera arméer av mÀnniskor, lÄt mig bÀttre gÄ till jobbet.

Och förresten, jag Àr en stor föresprÄkare för ett tillvÀgagÄngssÀtt dÀr den hÀr typen av uppdelning av kompetens fungerar bra. DÀr tekniker kan vÀxa sina karriÀrer sÄ lÄngt de vill. Men jag ser fortfarande organisationer dÀr tekniker klagar: jag mÄste gÄ in i projektledning eftersom det Àr det enda sÀttet i det hÀr företaget. Ibland leder detta till fruktansvÀrda resultat. De bÀsta teknikerna Àr inte alls bra chefer, och de bÀsta cheferna kan inte hantera teknik. LÄt oss vara Àrliga om detta.

Jag ser en stor efterfrÄgan pÄ detta nu. Om du Àr en tekniker kan ditt företag hjÀlpa dig, men oavsett behöver du verkligen hitta din egen karriÀrvÀg eftersom tekniken hela tiden förÀndras och du mÄste uppfinna dig sjÀlv tillsammans med den! PÄ bara tjugo Är kan tekniken förÀndras minst fem gÄnger. Teknik Àr en konstig sak...

"Experter pÄ allt"

Michael: Hur kan mÀnniskor hantera en sÄdan hastighet av tekniska förÀndringar? Deras komplexitet vÀxer, deras antal vÀxer, den totala mÀngden kommunikation mellan mÀnniskor vÀxer ocksÄ, och det visar sig att du inte kan bli en "expert pÄ allt".

Tim: Höger! Om du arbetar inom teknik, ja, du mÄste definitivt vÀlja nÄgot specifikt och fördjupa dig i det. En del teknik som din organisation tycker Àr anvÀndbar (och kanske faktiskt kommer att vara anvÀndbar). Och om du inte lÀngre Àr intresserad av det - jag hade aldrig trott att jag skulle sÀga det hÀr - ja, du kanske borde flytta till nÄgon annan organisation dÀr tekniken Àr mer intressant eller bekvÀmare att studera.

Men generellt sett har du rĂ€tt. Teknikerna vĂ€xer Ă„t alla hĂ„ll pĂ„ en gĂ„ng; ingen kan sĂ€ga "Jag Ă€r en experttekniker pĂ„ all teknik som finns." Å andra sidan finns det svampmĂ€nniskor som bokstavligen tar till sig teknisk kunskap och Ă€r galna i det. Jag har sett ett par sĂ„dana mĂ€nniskor, de bokstavligen andas och lever det, det Ă€r anvĂ€ndbart och intressant att prata med dem. De studerar inte bara vad som hĂ€nder inom organisationen, utan i allmĂ€nhet pratar de om det, de Ă€r ocksĂ„ riktigt coola teknologer, de Ă€r vĂ€ldigt medvetna och mĂ„lmedvetna. De försöker bara hĂ„lla sig pĂ„ toppen av vĂ„gen, oavsett vad deras huvudsakliga jobb Ă€r, eftersom deras passion Ă€r teknikens rörelse, frĂ€mjandet av tekniken. Om du plötsligt trĂ€ffar en sĂ„dan person ska du gĂ„ pĂ„ lunch med honom och diskutera olika hĂ€ftiga saker under lunchen. Jag tror att varje organisation behöver Ă„tminstone ett par sĂ„dana personer.

Risker och osÀkerhet

Michael: Ärade ingenjörer, ja. LĂ„t oss beröra riskhantering medan vi har tid. Vi inledde den hĂ€r intervjun med en diskussion om medicinsk programvara, dĂ€r fel kan leda till svĂ„ra konsekvenser. Sedan pratade vi om Lunar Program, dĂ€r kostnaden för ett fel Ă€r miljontals dollar, och möjligen flera mĂ€nniskoliv. Men nu ser jag den motsatta rörelsen i branschen, folk tĂ€nker inte pĂ„ risker, försöker inte förutsĂ€ga dem, observerar dem inte ens.

Oleg: Rör dig snabbt och slÄ sönder saker!

Michael: Ja, gÄ snabbt, bryt saker, fler och fler saker, tills du dör av nÄgot. Ur din synvinkel, hur bör den genomsnittliga utvecklaren nÀrma sig att lÀra sig riskhantering nu?

Tim: LÄt oss hÀr dra en grÀns mellan tvÄ saker: risker och osÀkerhet. Det hÀr Àr olika saker. OsÀkerhet uppstÄr nÀr du inte har tillrÀckligt med data vid en given tidpunkt för att komma fram till ett definitivt svar. Till exempel, i ett mycket tidigt skede av ett projekt, om nÄgon frÄgar dig "nÀr kommer du att avsluta arbetet", om du Àr en ganska Àrlig person, kommer du att sÀga: "Jag har ingen aning." Du vet bara inte, och det Àr okej. Du har Ànnu inte studerat problemen och Àr inte bekant med laget, du kÀnner inte till deras fÀrdigheter och sÄ vidare. Detta Àr osÀkerhet.

Risker uppstÄr nÀr potentiella problem redan kan identifieras. SÄnt hÀr kan hÀnda, sannolikheten Àr större Àn noll, men mindre Àn hundra procent, nÄgonstans dÀremellan. PÄ grund av det kan allt hÀnda, frÄn förseningar och onödigt arbete, men till och med till ett ödesdigert resultat för projektet. Resultatet, nÀr ni sÀger - killar, lÄt oss fÀlla ihop vÄra paraplyer och lÀmna stranden, vi kommer aldrig att avsluta det, det Àr över, punkt. Vi gjorde antagandet att det hÀr skulle fungera, men det fungerar inte alls, det Àr dags att sluta. Det hÀr Àr situationerna.

Ofta Ă€r problem lĂ€ttast att lösa nĂ€r de redan har dykt upp, nĂ€r problemet uppstĂ„r just nu. Men nĂ€r ett problem Ă€r precis framför dig, gör du inte riskhantering – du löser problem, krishantering. Om du Ă€r en ledande utvecklare eller chef mĂ„ste du undra vad som kan hĂ€nda som skulle leda till förseningar, bortkastad tid, onödiga kostnader eller kollaps av hela projektet? Vad kommer fĂ„ oss att stanna och börja om? NĂ€r alla dessa saker fungerar, vad ska vi göra med dem? Det finns ett enkelt svar som Ă€r giltigt i de flesta situationer: fly inte frĂ„n risker, arbeta pĂ„ dem. Se hur du kan lösa en riskfylld situation, reducera den till ingenting, förvandla den frĂ„n ett problem till nĂ„got annat. IstĂ€llet för att sĂ€ga: ja, vi kommer att lösa problem nĂ€r de uppstĂ„r.

OsÀkerhet och risk ska stÄ i frÀmsta rummet i allt du sysslar med. Du kan ta en projektplan, titta pÄ vissa kritiska risker i förvÀg och sÀga: vi mÄste ta itu med det hÀr nu, för om nÄgot av det hÀr gÄr fel kommer inget annat att spela nÄgon roll. Du bör inte oroa dig för skönheten i duken pÄ bordet om det Àr oklart om du kan laga middag. Först mÄste du identifiera alla risker med att förbereda en utsökt middag, ta itu med dem och först sedan tÀnka pÄ alla andra saker som inte utgör ett verkligt hot.

Återigen, vad gör ditt projekt unikt? LĂ„t oss se vad som kan fĂ„ vĂ„rt projekt att gĂ„ av stapeln. Vad kan vi göra för att minimera sannolikheten för att detta hĂ€nder? Vanligtvis kan du inte bara neutralisera dem till 100 % och deklarera med gott samvete: "Det Ă€r det, det hĂ€r Ă€r inte lĂ€ngre ett problem, risken har löst sig!" För mig Ă€r detta ett tecken pĂ„ vuxens beteende. Det hĂ€r Ă€r skillnaden mellan ett barn och en vuxen - barn tror att de Ă€r odödliga, att inget kan gĂ„ fel, allt kommer att bli bra! Samtidigt tittar vuxna pĂ„ hur treĂ„riga barn hoppar pĂ„ lekplatsen, följer rörelserna med blicken och sĂ€ger till sig sjĂ€lva: "ooh-ooh, ooh-ooh." Jag stĂ„r i nĂ€rheten och gör mig redo att fĂ„nga nĂ€r barnet faller.

Å andra sidan Ă€r anledningen till att jag gillar den hĂ€r verksamheten sĂ„ mycket för att den Ă€r riskabel. Vi gör saker, och de sakerna Ă€r riskfyllda. De krĂ€ver en vuxen instĂ€llning. Entusiasm ensam kommer inte att lösa dina problem!

VuxeningenjörstÀnkande

Michael: Exemplet med barn Àr bra. Om jag Àr en vanlig ingenjör, dÄ Àr jag glad över att vara barn. Men hur gÄr man mot ett mer vuxet tÀnkande?

Tim: En av idĂ©erna som fungerar lika bra med antingen en nybörjare eller en etablerad utvecklare Ă€r begreppet sammanhang. Vad vi gör, vad vi ska uppnĂ„. Vad Ă€r egentligen viktigt i det hĂ€r projektet? Det spelar ingen roll vem du Ă€r i det hĂ€r projektet, om du Ă€r praktikant eller chefsarkitekt, alla behöver sammanhang. Vi mĂ„ste fĂ„ alla att tĂ€nka i större skala Ă€n sitt eget arbete. "Jag gör min pjĂ€s, och sĂ„ lĂ€nge min pjĂ€s fungerar Ă€r jag glad." Nej och Ă„ter nej. Det Ă€r alltid vĂ€rt (utan att vara oförskĂ€md!) att pĂ„minna mĂ€nniskor om det sammanhang dĂ€r de arbetar. Vad vi alla försöker uppnĂ„ tillsammans. IdĂ©er om att du kan vara ett barn sĂ„ lĂ€nge allt Ă€r bra med din del av projektet - snĂ€lla, gör inte det. Om vi ​​överhuvudtaget korsar mĂ„llinjen kommer vi bara att korsa den tillsammans. Du Ă€r inte ensam, vi Ă€r alla tillsammans. Om alla personer i projektet, bĂ„de gamla och unga, började prata om vad som Ă€r viktigt för projektet, varför företaget investerar pengar i det vi alla försöker uppnĂ„... de flesta av dem kommer att mĂ„ mycket bĂ€ttre eftersom de kommer att se hur deras arbete korrelerar med alla andras arbete. Å ena sidan förstĂ„r jag stycket som jag personligen Ă€r ansvarig för. Men för att avsluta jobbet behöver vi alla andra mĂ€nniskor ocksĂ„. Och om du verkligen tror att du Ă€r klar har vi alltid arbete att göra i projektet!

Oleg: Relativt sett, om du arbetar enligt Kanban, nÀr du trÀffar flaskhalsen av vissa tester, kan du sluta med det du gjorde dÀr (till exempel programmering) och gÄ och hjÀlpa testarna.

Tim: Exakt. Jag tror att de bÀsta teknikerna, om man tittar noga pÄ dem, Àr de typ sina egna chefer. Hur kan jag formulera detta...

Oleg: Ditt liv Àr ditt projekt, som du hanterar.

Tim: Exakt! Jag menar, du tar ansvar, du förstÄr frÄgan, och du kommer i kontakt med mÀnniskor nÀr du ser att dina beslut kan pÄverka deras arbete, sÄdana saker. Det handlar inte om att bara sitta vid skrivbordet, göra sitt jobb och inte ens inse vad som hÀnder runt omkring dig. Nej nej nej. Förresten, en av de bÀsta sakerna med Agile Àr att de föreslog korta spurter, för pÄ sÄ sÀtt kan alla deltagares tillstÄnd tydligt observeras, de kan se allt tillsammans. Vi pratar om varandra varje dag.

Hur man kommer in i riskhantering

Oleg: Finns det nÄgon formell kunskapsstruktur inom detta omrÄde? Jag Àr till exempel Java-utvecklare och vill förstÄ riskhantering utan att bli en riktig projektledare av utbildning. Jag kommer förmodligen att lÀsa McConnells "Hur mycket kostar ett mjukvaruprojekt" först, och vad sedan? Vilka Àr de första stegen?

Tim: Det första Àr att börja kommunicera med mÀnniskor i projektet. Detta ger en omedelbar förbÀttring av kulturen för kommunikation med kollegor. Vi mÄste börja med att öppna allt som standard, istÀllet för att dölja det. SÀg: det hÀr Àr sakerna som stör mig, det hÀr Àr sakerna som hÄller mig vaken pÄ nÀtterna, jag vaknade pÄ natten idag och var som: herregud, jag mÄste tÀnka pÄ det hÀr! Ser andra samma sak? Bör vi som grupp reagera pÄ dessa potentiella problem? Du mÄste kunna stödja en diskussion om dessa Àmnen. Det finns ingen förberedd formel som vi arbetar efter. Det handlar inte om att göra hamburgare, det handlar om mÀnniskor. "Made a cheeseburger, sell a cheeseburger" Àr inte alls vÄr grej, och det Àr dÀrför jag Àlskar det hÀr jobbet sÄ mycket. Jag gillar nÀr allt som managers brukade göra nu blir lagets egendom.

Oleg: Du har pratat i böcker och intervjuer om hur mĂ€nniskor oroar sig mer för lycka Ă€n om siffror pĂ„ en graf. Å andra sidan, nĂ€r du sĂ€ger till teamet: vi flyttar till devops, och nu mĂ„ste programmeraren stĂ€ndigt kommunicera, detta kan vara lĂ„ngt utanför hans komfortzon. Och i detta ögonblick kan han, lĂ„t oss sĂ€ga, vara djupt olycklig. Vad ska man göra i den hĂ€r situationen?

Tim: Jag Àr inte sÀker pÄ exakt vad jag ska göra. Om en utvecklare Àr för isolerad ser de inte varför arbetet utförs i första hand, de tittar bara pÄ sin del av arbetet, och de behöver komma in i vad jag kallar "sammanhang". Han mÄste ta reda pÄ hur allt hÀnger ihop. Och naturligtvis menar jag inte formella presentationer eller nÄgot liknande. Jag talar om att du behöver kommunicera med kollegor om arbetet som helhet, och inte bara om den del av det som du ansvarar för. Det Àr hÀr ni kan börja diskutera idéer, gemensamma överenskommelser för att fÄ ert arbete att passa ihop och hur man tillsammans kan tackla ett gemensamt problem.

För att hjÀlpa dem att anpassa sig vill de ofta skicka tekniker pÄ utbildning och de diskuterar trÀning. En vÀn till mig tycker om att sÀga att trÀning Àr för hundar. Det finns trÀning för mÀnniskor. En av de bÀsta sakerna med att lÀra sig som utvecklare Àr att interagera med dina kamrater. Om nÄgon Àr riktigt bra pÄ nÄgot bör du se dem arbeta eller prata med dem om deras arbete eller nÄgot. NÄgon konventionell Kent Beck pratade stÀndigt om extrem programmering. Det Àr roligt eftersom XP Àr en sÄ enkel idé, men det orsakar sÄ mÄnga problem. För vissa Àr att göra XP som att tvingas ta av sig naken inför vÀnner. De fÄr se vad jag gör! De Àr mina kollegor, de kommer inte bara att se, utan ocksÄ förstÄ! FruktansvÀrd! Vissa mÀnniskor börjar bli allvarligt nervösa. Men nÀr du inser att detta Àr det ultimata sÀttet att lÀra dig förÀndras allt. Du arbetar nÀra mÀnniskor, och vissa mÀnniskor förstÄr Àmnet mycket bÀttre Àn du.

Michael: Men allt detta tvingar dig att kliva ur din komfortzon. Som ingenjör mÄste du komma ur din komfortzon och kommunicera. Som problemlösare mÄste du hela tiden försÀtta dig sjÀlv i en svag position och fundera pÄ vad som kan gÄ fel. Denna typ av arbete Àr till sin natur utformad för att vara en olÀgenhet. Du försÀtter dig medvetet i stressiga situationer. Vanligtvis flyr folk ifrÄn dem, folk gillar att vara glada barn.

Tim: Vad som kan göras kan du komma ut och öppet sĂ€ga: ”Allt Ă€r okej, jag klarar det! Jag Ă€r inte den enda som kĂ€nner mig obekvĂ€m. LĂ„t oss diskutera olika obekvĂ€ma saker, alla tillsammans, som ett team!" Det hĂ€r Ă€r vĂ„ra vanliga problem, vi mĂ„ste ta itu med dem, vet du? Jag tror att idiosynkratiska geniutvecklare Ă€r som mammutar, de försvann. Och deras betydelse Ă€r mycket begrĂ€nsad. Om du inte kan kommunicera kan du inte delta bra. DĂ€rför Ă€r det bara att prata. Var Ă€rlig och öppen. Jag Ă€r vĂ€ldigt ledsen att detta Ă€r obehagligt för nĂ„gon. Kan du förestĂ€lla dig att det för mĂ„nga Ă„r sedan gjordes en studie enligt vilken den största rĂ€dslan i USA inte Ă€r döden, men gissa vad? RĂ€dsla för att tala inför publik! Det betyder att det nĂ„gonstans finns mĂ€nniskor som hellre dör Ă€n att sĂ€ga en komplimang högt. Och jag tror att det rĂ€cker för dig att ha nĂ„gra grundlĂ€ggande fĂ€rdigheter, beroende pĂ„ vad du gör. TalförmĂ„ga, skrivförmĂ„ga - men bara sĂ„ mycket som verkligen behövs i ditt arbete. Om du arbetar som analytiker, men inte kan lĂ€sa, skriva eller tala, sĂ„ har du tyvĂ€rr inget att göra i mina projekt!

Priset för kommunikation

Oleg: Är det inte dyrare att anstĂ€lla sĂ„dana utĂ„triktade medarbetare av olika anledningar? De chattar trots allt hela tiden istĂ€llet för att jobba!

Tim: Jag menade kÀrnan i laget, och inte bara alla. Om du har nÄgon som Àr riktigt cool pÄ att stÀlla in databaser, Àlskar att stÀlla in databaser och kommer att fortsÀtta stÀlla in dina databaser för resten av sitt liv och det Àr det, coolt, fortsÀtt sÄ. Men jag pratar om mÀnniskor som vill bo i sjÀlva projektet. KÀrnan i teamet, som syftar till att utveckla projektet. Dessa mÀnniskor behöver verkligen stÀndigt kommunicera med varandra. Och speciellt i början av projektet, nÀr man diskuterar risker, sÀtt att nÄ globala mÄl och liknande.

Michael: Detta gÀller alla som Àr involverade i projektet, oavsett specialisering, kompetens eller arbetssÀtt. Ni Àr alla intresserade av projektets framgÄng.

Tim: Ja, du kÀnner att du Àr tillrÀckligt fördjupad i projektet, att din uppgift Àr att hjÀlpa projektet att bli verklighet. Oavsett om du Àr programmerare, analytiker, grÀnssnittsdesigner, vem som helst. Det Àr anledningen till att jag kommer till jobbet varje morgon och det hÀr Àr vad vi gör. Vi Àr ansvariga för alla dessa mÀnniskor, oavsett deras kompetens. Det hÀr Àr en grupp mÀnniskor som har vuxenkonversationer.

Oleg: Faktum Àr att, pÄ tal om pratglada anstÀllda, försökte jag simulera invÀndningar frÄn mÀnniskor, sÀrskilt chefer, som uppmanas att byta till devops, mot denna helt nya vision av vÀrlden. Och du som konsulter borde vara medveten om dessa invÀndningar mycket bÀttre Àn jag som utvecklare! Dela vad som oroar chefer mest?

Tim: Chefer? Hm. Oftast Àr chefer pressade av problem, inför behovet av att akut slÀppa nÄgot och göra en leverans och liknande. De tittar pÄ hur vi hela tiden diskuterar och brÄkar om nÄgot, och de ser det sÄ hÀr: samtal, samtal, samtal... Vilka andra samtal? FortsÀtt jobba nu! För att prata kÀnns inte som jobb för dem. Du skriver inte kod, testar inte programvara, verkar inte göra nÄgonting - varför inte skicka dig att göra nÄgot? NÀr allt kommer omkring Àr leverans redan om en mÄnad!

Michael: Skriv lite kod!

Tim: Det verkar för mig att de inte Àr oroliga för arbetet, utan för bristen pÄ synlighet av framstegen. För att det ska verka som om vi nÀrmar oss framgÄng mÄste de se oss trycka pÄ knappar pÄ tangentbordet. Hela dagen frÄn morgon till kvÀll. Detta Àr problem nummer ett.

Oleg: Misha, du tÀnker pÄ nÄgot.

Michael: FörlÄt, jag tappade tankarna och fick en flashback. Allt detta pÄminde mig om ett intressant rally som hÀnde igÄr... Det var för mÄnga rallyn igÄr... Och allt lÄter vÀldigt bekant!

Livet utan löner

Tim: Förresten, det Àr inte alls nödvÀndigt att organisera "rallyn" för kommunikation. Jag menar, de mest anvÀndbara diskussionerna mellan utvecklare sker nÀr de bara pratar med varandra. Man gÄr in pÄ morgonen med en kopp kaffe, och dÀr Àr fem personer samlade och rasande diskuterar nÄgot tekniskt. För mig, om jag Àr chef för det hÀr projektet, Àr det bÀttre att bara le och gÄ nÄgonstans om mitt företag, lÄta dem diskutera det. De Àr redan involverade sÄ mycket som möjligt. Detta Àr ett gott tecken.

Oleg: Förresten, i din bok har du ett gÀng anteckningar om vad som Àr bra och vad som Àr dÄligt. AnvÀnder du nÄgon av dem sjÀlv? Relativt sett har du nu ett företag, och ett som Àr strukturerat pÄ ett mycket oortodoxt sÀtt...

Tim: Oortodox, men den hÀr enheten passar oss perfekt. Vi har kÀnt varandra lÀnge. Vi litar pÄ varandra, vi litade mycket pÄ varandra innan vi blev partners. Och till exempel har vi inga löner alls. Vi jobbar bara, och om jag till exempel tjÀnade pengar pÄ mina kunder, sÄ gick alla pengarna till mig. DÀrefter betalar vi medlemsavgifter till organisationen och det rÀcker för att stödja företaget sjÀlvt. Dessutom Àr vi alla specialiserade pÄ olika saker. Jag jobbar till exempel med revisorer, fyller i skattedeklarationer, gör alla möjliga administrativa saker för företaget och ingen betalar mig för det. James och Tom arbetar pÄ vÄr hemsida och ingen betalar dem heller. SÄ lÀnge du betalar din avgift kommer ingen att tÀnka pÄ att berÀtta för dig vad du behöver göra. Till exempel arbetar Tom nu mycket mindre Àn han en gÄng gjorde. Nu har han andra intressen; vissa saker gör han inte för guilden. Men sÄ lÀnge han betalar sina avgifter kommer ingen att komma fram till honom och sÀga: "Hej, Tom, gÄ till jobbet!" Det Àr vÀldigt lÀtt att ha att göra med kollegor nÀr det inte finns nÄgra pengar mellan er. Och nu Àr vÄr relation en av grundidéerna i förhÄllande till olika specialiteter. Det fungerar och det fungerar vÀldigt bra.

BÀsta rÄd

Michael: För att ÄtergÄ till "bÀsta rÄd", Àr det nÄgot du berÀttar för dina kunder om och om igen? Det finns en idé om 80/20, och vissa rÄd upprepas förmodligen oftare.

Tim: Jag trodde en gÄng att om man skrev en bok som Waltzing with Bears skulle det förÀndra historiens gÄng och folk skulle sluta, men... Ja, se, företag lÄtsas ofta att allt Àr bra med dem. SÄ fort nÄgot dÄligt hÀnder Àr det en chock och en överraskning för dem. "Titta, vi testade systemet, och det klarar inga systemtester, och det hÀr Àr ytterligare tre mÄnader av oplanerat arbete, hur kunde detta hÀnda? Vem visste? Vad kan gÄ fel? Seriöst, tror du pÄ detta?

Jag försöker förklara att du inte ska bli för arg över den nuvarande situationen. Vi mÄste prata ut det, verkligen förstÄ vad som kunde ha gÄtt fel och hur vi kan förhindra att sÄdana saker hÀnder i framtiden. Om ett problem uppstÄr, hur ska vi bekÀmpa det, hur ska vi begrÀnsa det?

För mig ser allt detta skrÀmmande ut. MÀnniskor hanterar komplexa, irriterande problem och fortsÀtter att lÄtsas att om de bara hÄller tummarna och hoppas pÄ det bÀsta sÄ kommer det "bÀsta" att hÀnda. Nej, det fungerar inte sÄ.

Öva riskhantering!

Michael: Hur mÄnga organisationer Àgnar du sig Ät riskhantering enligt din Äsikt?

Tim: Det som gör mig upprörd Àr att folk helt enkelt skriver ner risker, tittar pÄ listan och gÄr till jobbet. Att identifiera risker för dem Àr faktiskt riskhantering. Men för mig lÄter detta som en anledning att frÄga: okej, det finns en lista, vad exakt kommer du att Àndra? Du mÄste Àndra dina standardsekvenser av ÄtgÀrder med hÀnsyn till dessa risker. Om det finns nÄgon svÄrare del av arbetet mÄste du ta itu med det och först dÄ gÄ vidare till nÄgot enklare. I de första spurterna, börja lösa komplexa problem. Detta ser redan ut som riskhantering. Men vanligtvis kan folk inte sÀga vad de Àndrade efter att ha sammanstÀllt en lista över risker.

Michael: Och ÀndÄ, hur mÄnga av dessa företag Àr involverade i riskhantering, fem procent?

Tim: TyvÀrr hatar jag att sÀga detta, men det hÀr Àr en mycket obetydlig del. Men mer Àn fem, eftersom det finns riktigt stora projekt, och de kan helt enkelt inte existera om de inte gör Ätminstone nÄgot. LÄt oss bara sÀga att jag blir vÀldigt förvÄnad om det Àr minst 25%. SmÄ projekt brukar svara pÄ sÄdana frÄgor sÄ hÀr: om problemet pÄverkar oss, dÄ löser vi det. Sedan hamnar de framgÄngsrikt i problem och Àgnar sig Ät problemhantering och krishantering. NÀr du försöker lösa ett problem och problemet inte Àr löst, vÀlkommen till krishantering.

Ja, jag hör ofta, "vi kommer att lösa problem nÀr de uppstÄr." Visst kommer vi att göra det? Kommer vi verkligen att bestÀmma oss?

Oleg: Du kan göra det naivt och helt enkelt skriva in viktiga invarianter i projektstadgan, och om invarianterna gÄr sönder Àr det bara att starta om projektet. Det visar sig mycket piembucky.

Michael: Ja, det hÀnde mig att nÀr risker utlöstes sÄ omdefinierades projektet helt enkelt. Trevligt, bingo, problemet löst, oroa dig inte lÀngre!

Tim: LÄt oss trycka pÄ ÄterstÀllningsknappen! Nej, det fungerar inte sÄ.

Keynote pÄ DevOops 2019

Michael: Vi kommer till den sista frÄgan i denna intervju. Du kommer till nÀsta DevOops med en keynote, kan du lyfta pÄ hemlighetsgardinen för vad du ska berÀtta?

Tim: Just nu skriver sex av dem pÄ en bok om arbetskultur, organisationers outtalade regler. Kultur bestÀms av organisationens kÀrnvÀrden. Oftast mÀrker inte folk detta, men efter att ha jobbat med konsult i mÄnga Är Àr vi vana att mÀrka det. Du kommer in i ett företag, och bokstavligen inom nÄgra minuter börjar du kÀnna vad som hÀnder. Vi kallar detta "smak". Ibland Àr den hÀr doften riktigt bra, och ibland Àr den, ja, oj. Saker och ting Àr vÀldigt olika för olika organisationer.

Michael: Jag har ocksÄ jobbat med konsultverksamhet i flera Är och förstÄr vÀl vad du pratar om.

Tim: Egentligen Ă€r en av de saker som Ă€r vĂ€rda att prata om vid keynoten att allt inte bestĂ€ms av företaget. Du och ditt team, som en gemenskap, har din egen lagkultur. Detta kan vara hela företaget, eller en separat avdelning, ett separat team. Men innan du sa, hĂ€r Ă€r vad vi tror, ​​hĂ€r Ă€r vad som Ă€r viktigt... Du kan inte förĂ€ndra en kultur innan vĂ€rderingarna och övertygelserna bakom specifika handlingar har förstĂ„tts. Beteende Ă€r lĂ€tt att observera, men att söka efter övertygelser Ă€r svĂ„rt. DevOps Ă€r bara ett bra exempel pĂ„ hur saker och ting blir mer och mer komplexa. Interaktioner blir bara mer komplexa, de blir inte alls renare eller tydligare, sĂ„ du bör tĂ€nka pĂ„ vad du tror pĂ„ och vad alla omkring dig Ă€r tysta om.

Om du vill uppnÄ snabba resultat, hÀr Àr ett bra Àmne för dig: har du sett företag dÀr ingen sÀger "jag vet inte"? Det finns platser dÀr du bokstavligen torterar en person tills han erkÀnner att han inte vet nÄgot. Alla vet allt, alla Àr otroligt lÀrda. Du nÀrmar dig vilken person som helst och han mÄste omedelbart svara pÄ frÄgan. IstÀllet för att sÀga "Jag vet inte." Hurra, de anstÀllde ett gÀng lÀrda! Och i vissa kulturer Àr det i allmÀnhet mycket farligt att sÀga "jag vet inte", det kan uppfattas som ett tecken pÄ svaghet. Det finns ocksÄ organisationer dÀr, tvÀrtom, alla kan sÀga "jag vet inte." DÀr Àr det helt lagligt, och om nÄgon börjar skrÀpa som svar pÄ en frÄga Àr det helt normalt att svara: "Du vet inte vad du pratar om, eller hur?" och förvandla det hela till ett skÀmt.

Helst skulle du vilja ha ett jobb dÀr du kan vara stÀndigt lycklig. Det kommer inte att bli lÀtt, inte varje dag Àr solig och trevlig, ibland mÄste man jobba hÄrt, men nÀr man börjar göra inventering kommer det att visa sig: wow, det hÀr Àr en riktigt underbar plats, jag mÄr bra av att jobba hÀr, bÄde kÀnslomÀssigt och intellektuellt. Och det finns företag dit du gÄr som konsult och omedelbart inser att du inte kunde stÄ ut i tre mÄnader och skulle fly i fasa. Det Àr detta jag vill prata om i rapporten.

Tim Lister kommer med en keynote "KaraktÀrer, gemenskap och kultur: Viktiga faktorer för vÀlstÄnd"till DevOops 2019-konferensen, som Àger rum den 29-30 oktober 2019 i St. Petersburg. Du kan köpa biljetter pÄ den officiella webbplatsen. Vi vÀntar pÄ dig pÄ DevOops!

KĂ€lla: will.com

LĂ€gg en kommentar