Teadus- ja arendustegevuse vahelise lõhe ületamine

Onfido biomeetrika meeskonna lugu

Masinõppega alustavatel ettevõtetel on sageli inseneri- ja teadustöö vaheline lõhe. Onfido pole erand. Selles loos käsitlen teid Biomeetrika meeskonna teekonnal tõeliselt ristfunktsionaalseks.

Integreerimata meeskondade sümptomid

Kui ma esimest korda Onfido juures alustasin, peaaegu kaks aastat tagasi, oli uurimisfunktsioon insenerifunktsioonist täiesti eraldi. See istus väljaspool funktsionaalseid meeskondi, tal oli oma juhtimine ja oma eesmärgid.

See tõi kaasa mitmesuguseid valupunkte, mida kogu ettevõttes tuntakse:

  • Masinõppega tegelevad teadlased tundsid, et nad kulutasid oma koodi tootmisele palju aega, mis polnud neil spetsialistid ega olnud isegi nauditavad. Neil oli palju sõltuvusi DevOpsist ja teistest väljaspool nende funktsioone töötavatest inseneridest, mis aeglustas nende arengut.
  • Insenerimeeskond kurtis toodetud algoritmide valmisolekut, mis olid sageli testideta ja ei suutnud skaleerida. Ei aidanud ka see, et taustaprogrammide insenerid Pythonit tegelikult ei teinud.
  • Ettevõttel polnud nähtavat, mis torust alla tuleb, ega mõistnud, kui kaua projekt võtab, ning üldiselt oli pettunud nähtava arengu puudumisest.

Neid teemasid olen näinud teistes varajases staadiumis masinõppel põhinevates tooteettevõtetes, kes tegutsevad ilma integreeritud meeskondadeta. Need pinged võivad tükeldada ja halvendada usaldust funktsioonide vahel, õõnestada igasugust allesjäänud empaatiat ja hävitada kogu ettevõtte funktsioonide maine.

Kuidas meeskonnad integreeriti

Tootejuhina liitumisega tehti mulle ülesandeks jälgida uhiuut Biomeetria ärivaldkonda. Kasutasin protsesse, mida olen varem kasutanud suhtlemistõkete kaotamiseks ja empaatia suurendamiseks: funktsionaalsete meeskondade ja ühiste eesmärkide ühendamiseks.

Meeskond asus ühe tootejuhina, ühe meeskonna juhina, kolme Ruby / Elixiri arendajana ja ühe masinõppe uurijana. Kui tooted ja uuringud olid Londonis, insenerid Lissabonis.

Meeskonna areng. Kaovad näod = edutamine, kolimine teistesse meeskondadesse ja praktika lõpp. Õnneks pole veel kedagi lahkunud it

Suhete loomine funktsioonide vahel

Esimene samm oli luua suhe masinõppe uurijaga, kes pidas end sel ajal ikkagi uurimisrühma osaliseks ja juhtus lihtsalt töötama biomeetriliste algoritmide kallal.

Ma töötasin koos temaga, et mõista tema visiooni, probleemiruumi ja seda, mis teda erutas. Ta aitas mul aru saada, mis on nüüd võimalik, vs sellega, mille eksperimenteerimine võtab kaua aega. Hindasime sarnaste pakkumiste ja potentsiaalsete pakkujate turgu ning kaalusime ehitamise ja ostmise otsuseid.

Koostasime loetelu algoritmidest, et neid koos uurida ja tähtsuse järjekorda seada, mitmekesistades teadlikult oma panustamisportfelli nii, et oleks olemas suur hulk teatud lühiajalisi algoritme, tasakaalus suuremate ja riskantsemate algatustega.

Me lõime partnerluse, just nagu peaminister teeks nende inseneri juhtimisel. See aitas kaasa sellele, et see masinõppega uurija on üsna kaubanduslikult meelestatud ja kliendikeskne, kuid need on omadused, mida saab õpetada. Oluline on partnerluse loomine.

Meie eesmärkide vastavusse viimine

Kogu meeskond kirjutas kord kvartalis eesmärgid ja peamised tulemused (OKR), mis olid võimalikult suures osas suunatud tulemustele, mitte väljunditele. See tähendab: "teisalda meetrit x%", mitte "saata see funktsioon".

Tulemuskesksed OKR-id võimaldavad inseneri- ja masinõppega teadlastel teha koostööd eesmärgi saavutamiseks, millel on mõõdetav mõju ettevõttele, ilma et see juhendaks, kuidas seda saavutada. See võimaldas teadlastel kvartali jooksul katsetada mitmesuguste algoritmidega ja isegi kui üks neist ei töötanud, võiksid nad selle ikkagi loobuda ja katsetada selle lahendamiseks mõnda muud moodust.

Igas kvartalis on minu eesmärkideks konkreetse turu vajaduste avastamine ja määratlemine, kas selles ruumis on mingeid lahendatavaid väärtuslikke probleeme. Nende õppetundide otse masinõppe uurijatega jagamine aitas mul leida, mis on teostatav ja kus saaksime saavutada läbimurre ja innovatsiooni juba enne turgu.

Pingete lahendamine

Ehkki OKR-ide kirjutamine joondas meie kvartali eesmärgid kokku, ei lahendanud see tehniliste ja teadusuuringute vahelisi pingeid täielikult. Selleks hetkeks oli ainus biomeetria masinõppega uurija palganud mitu inimest, kes olid talle teatanud ja soovisid luua identiteedi biomeetriliste uuringute meeskonnana, eraldades end edaspidi biomeetria (inseneri) meeskonnast.

Mõned asjad aitasid meeskondi lähendada ja viisid lõpuks täielikult funktsionaalse meeskonna loomiseni:

  • Meie meeskonna juhtnime ümbernimetamine tehniliseks pliiks: Me pidime mõistma, et meeskondade ühendamisel ei saa olla ühte meeskonda, vaid ühe juhtkonna kohta võib öelda kolm järgmist: tootehaldus, tehniline juht ja teadusuuringute juht. Juhtrollid tähistavad nii juhtkonna vastutust kui ka nende funktsioonide arhitektuurilisi ja strateegilisi otsustusõigusi.
  • Sotsialiseerumine koos: inseneri- ja teadustegevuse kaks funktsiooni olid kahes erinevas riigis, seega aitas teadlaste lendamine terveks nädalaks Lissaboni Lissaboni tõesti kaotada suhtlemistõkked ja luua sõprus ja empaatia kahe funktsiooni vahel. See viis meid kokku ja inimesed hakkasid tundma end ühe meeskonnana. Samuti tõi see meile palju Pasteis de Natat (Portugali vanillikaste) ja maitsvat portugali Cozido.
  • Scrumi tseremooniate kohandamine ja protsessi kordamine: Inseneride ja teadlaste töö iseloom on metsikult erinev ja Scrum seda lihtsalt ei lõika.
Meeskonna lõunasöök Londonis püssirohvas.

Kohandatud Scrumi tseremooniad meeskondadele, kus õpivad masinõppe teadlased

Inseneritöö on tavaliselt hästi määratletud ja kindel. Nii palju, et on loodud terve metoodika, mis aitab tarkvarameeskondade väljundit või kiirust mõõta ja ennustada. Startupimaailmas on kõige populaarsem agar ja selle erinevad maitsed nagu võsa ja kanban. Alustades ranget ish-scrum dieeti, sattusime kiiresti probleemidesse.

Seevastu uurimistöös käsitletakse paljusid tundmatuid. Sageli algab see teostatavusuuringuga, et selgitada välja, kas midagi on üldse realistlik ja võimalik. See toimub mitme eksperimendina ja esitletavate tulemuste saavutamiseks võib kuluda väga kaua.

Teadlase värskendused olid sageli „minu eksperiment veel kestab” või „jaa, ikka loen pabereid”. Kui nad kirjeldaksid täpsemalt, mida nad teevad, vahtiksid insenerid masinõppe kogemuste puudumise tõttu tühja pilgu. Nende piletitel oli ka väga kõrgeid hinnanguid ja nad kandsid pidevalt mitu sprinti. Mõlemad asjad pettusid neid. Nad tundsid, et nad ei suuda lihavaid värskendusi anda ja on uhked oma edusammude üle.

Teadlased ei mõistaks sageli ka seda, millest insenerid rääkisid. Nad olid vähem seotud ja huvitatud laiemast platvormiarhitektuurist, millesse nende mudelid lõpuks integreeritakse.

See läks nii halvaks, et teadlased hakkasid püsti tõusmist vahele jätma, kuna nad ei pidanud seda väärtuslikuks, luues veelgi meeskonna talitlushäireid.

Muudatused, mis aitasid:

  • Reedene kokkuvõte: Selle asemel, et liituda stand upiga (ametlikult igapäevane Scrum in scrum), liituvad teadlased iga päev igal teisel päeval ja lõpuks alles reedel, kus nad annavad sellel nädalal saavutatust pikema ülevaate. See võimaldas neil rohkem aega katsetada ja andis neile rohkem aega, et kirjeldada oma töö lähenemisviisi ja konteksti. Insenerid andsid ka ülevaate selle nädala edusammudest ning käsitlesid oma projekte ja arhitektuuriotsuseid konteksti.
  • Püsti kokkuvõte lõtvusest: iga püsti tõusmise lõpus kirjutan kokkuvõtte sellest, mis on juhtunud ja millele inimesed täna keskenduvad. Ma @ soovitan vajaduse korral ükskõik millist uurimistööst, näiteks algoritmide integreerimisel tehtud edusamme või meeskonna blokeeringu vabastamiseks vajalikku sisendit. See on aidanud teadlastel silma peal hoida.
  • Algoritmi vestlus: spetsiaalsel sessioonil selgitas iga teadlane, mille kallal nad töötasid, kuidas nende algoritm töötas või veel mitte, lähenemisviisi, kus nad olid. See hõlmas masinõppeta inimeste põhilisi oskusi ja aitas võrdsustada mängutingimused ning luua ühise keele.
  • Jagatud mahajäämuse täpsustamine ja sprindiplaneerimine: see pole iseenesest muutus. Oluline on rõhutada, et kogu meeskond ühines mahajäämuse täpsustamise sessioonide ja sprindi kavandamise ajal, kuna see aitas sprindi eesmärke viia vastavusse, siduda need meie OKR-idega ja luua ühiselt teed algoritmi uurimise lõpetamisest selle tootmiseni, lavastada ja edasi minna elagu kõigile.
  • Hindamata uuringupiletid: leidsime, et uuringuülesannete kalkulatsioonid ei aidanud meil tegelikult ette näha, millal töö tehakse. Otsustasime loobuda punktidest teadlaste jaoks täielikult, kuid hoidke piletid sprindis viisiks vestluste sütitamiseks reedese kokkuvõtte ajal.
  • Silla rentimine: Meeskonna jaoks oli oluline rent meie Pythoni insener, kes ületas lõhe teadlaste Pythoni koodi ja meie Ruby ja Elixiri tagavarainseneride vahel. See roll aitas määratleda, kuidas me läheme akadeemilisest tüübikoodist tootmistaseme skaleeritava koodini.
Tähistame kordaminekuid ka siis, kui oleme kaugel. Ling piiksu juurde.

Kommentaaride sulgemine

Täna on biomeetria meeskond sama sidus kui kunagi varem. Pärast seda oleme oma meeskonda tervitanud kahte uut funktsiooni: teenusehaldus / andmete analüüs Londonis ja meie testimisinsener Lissabonis on hakanud meid täiskohaga toetama, selle asemel, et teiste meeskondadega jagada.

Tähistame koos kordaminekuid ja videokonverentse koos kordaminekuga, õnnitleme üksteist suurepärase töö eest ja õpime meeskonnana vähem edukatest projektidest. Tootekülastused käivad Lissabonis kord kvartalis. Teadusuuringud ja teenistused lähevad Lissaboni iga kuue kuu tagant. Engineering ja Test tulevad Londonisse vähemalt kaks korda aastas. Me ajame pidevalt hange, õpime üksteiselt ja korrame oma protsesse.

Milline lõbus teekond see seni olnud on!

Püsti Zoom kohal. Keegi vist ütles midagi naljakat.

Tarkvaraarendaja vaadet sellest loost, mille autor on Daniel Serrano (3 minutit loetud), kirjutati umbes aasta tagasi, saate lugeda kõiki ülaltoodud muudatusi selleks ajaks.

PS: Minu meelest on lõbus, kuidas ma olen kõigil nendel fotodel neli erinevat juukselõikust läbi teinud.