Tutkimuksen ja kehityksen välisen kuilun kaventaminen

Onfido Biometrics -ryhmän tarina

Koneoppimisen aloittelijat kärsivät usein kuilusta tekniikan ja tutkimuksen välillä. Onfido ei ole poikkeus. Tässä tarinassa aion viedä sinut läpi Biometrics-tiimin matkan kohti todella ristikkäistoiminnallisuutta.

Ei-integroituneiden joukkueiden oireet

Kun aloitin ensimmäisen kerran Onfidossa, melkein kaksi vuotta sitten, tutkimustoiminto oli täysin erillinen suunnittelutoiminnosta. Se istui funktionaalisten ryhmien ulkopuolella, sillä oli oma johtajuus ja omat tavoitteensa.

Tämä johti erilaisiin kipupisteisiin, joita tuntui koko liiketoiminnassa:

  • Koneoppimisen tutkijat tunsivat viettävänsä paljon aikaa tuottaakseen koodiaan, mikä heillä ei ollut asiantuntijoita tai edes nauttinut. Heillä oli monia riippuvuuksia DevOpsin ja muiden insinöörien kanssa heidän toimintansa ulkopuolelta, mikä hidasti heidän etenemistään.
  • Suunnittelutiimi valitti tuotettujen algoritmien valmistusvalmiudesta, jotka olivat usein ilman testejä ja jotka eivät kyenneet mitoittamaan. Se ei auttanut, että taustan suunnittelijat eivät todellakaan tehneet Pythonia.
  • Yrityksellä ei ollut näkyvyyttä siitä, mikä putken alla on, eikä ymmärrystä projektin kestosta, ja yleensä se turhautui näkyvän edistyksen puuttumisesta.

Nämä ovat teemoja, jotka olen nähnyt muissa varhaisen vaiheen koneoppimiseen perustuvissa tuoteyrityksissä, jotka toimivat ilman integroituja joukkueita. Nämä jännitteet voivat horjuttaa ja heikentää toimintojen välistä luottamusta, heikentää kaikenlaista jäljellä olevaa empatiaa ja tuhota koko liiketoiminnan maine.

Kuinka integroimme joukkueet

Tuotepäällikkönä tultuaan minut sai tehtäväkseen valvoa aivan uutta Biometrics-liiketoimintalinjaa. Käytin prosessit, joita olen aikaisemmin käyttänyt viestinnän esteiden purkamiseen ja empatian lisäämiseen: toiminnallisten ryhmien ja yhteisten tavoitteiden rajat.

Ryhmä aloitti yhtenä tuotepäällikkönä, yhtenä ryhmänjohtajana, kolmena Ruby / Elixir-kehittäjänä ja yhtenä koneoppimisen tutkijana. Tuotteiden ja tutkimuksen ollessa Lontoossa, insinöörien Lissabonissa.

Tiimin kehitys. Katoavat kasvot = ylennykset, muutto toisiin joukkueisiin ja harjoittelujakson loppu. Onneksi, että ketään ei ole vielä lopettanut

Suhteiden rakentaminen eri toimintojen välillä

Ensimmäinen askel oli rakentaa suhde koneoppimistutkijan kanssa, joka piti silti itseään osaksi tutkimusryhmää ja juuri työskenteli biometristen algoritmien parissa.

Työskentelin hänen kanssaan ymmärtääkseen hänen näkemyksensä, ongelmatilan ja sen, mikä häntä innosti. Hän auttoi minua ymmärtämään, mikä on nyt mahdollista, vs. mitä kestää kauan kokeilla. Arvioimme markkinoita vastaaville tarjouksille ja potentiaalisille tarjoajille ja punnitsimme rakennus- ja ostopäätöksiä.

Laadimme luettelon algoritmeista tutkiaksemme niitä ja priorisoidaksemme ne yhdessä, monipuolistamalla tietoisesti panosportfolioamme siten, että tiettyjä lyhytaikaisia ​​algoritmeja oli paljon, tasapainotettuna suuremmilla, riskialttiimmilla aloitteilla.

Perustimme kumppanuuden, aivan kuten pääministeri tekisi heidän teknisen johtajuutensa kanssa. Se auttoi, että tämä koneoppimisen tutkija on melko kaupallisesti kiinnostunut ja asiakaskeskeinen, mutta nämä ovat piirteitä, jotka voidaan opettaa. Tärkeä asia on rakentaa kumppanuutta.

Kohdistamme tavoitteemme

Koko joukkue kirjoitti neljännesvuosittain tavoitteet ja avaintulokset (OKR) yhdessä, mikä oli mahdollisuuksien mukaan tuloskeskeistä eikä tuotoskeskeistä. Toisin sanoen: “siirrä mittayksikkö x%”, sen sijaan että “lähetä tämä ominaisuus”.

Tuloskeskeiset OKR: t antavat tekniikan ja koneoppimisen tutkijoille mahdollisuuden työskennellä yhdessä tavoitteen saavuttamiseksi, jolla on mitattavissa oleva vaikutus yritystoimintaan olematta määräävää siitä, miten se saavutetaan. Tämän ansiosta tutkijat saivat kokeilla erilaisia ​​algoritmeja vuosineljänneksen aikana, ja vaikka yksi ei toiminut, he voisivat silti hylätä sen ja kokeilla toista tapaa ratkaista se.

Jokaisella vuosineljänneksellä tavoitteeni on löytää tiettyjen markkinoiden tarpeet ja määritellä, onko tällä alueella arvokkaita ratkaistavia ongelmia. Näiden opintojen jakaminen suoraan koneoppimisen tutkijoiden kanssa auttoi minua selvittämään, mikä on mahdollista ja missä voimme saavuttaa läpimurtoja ja innovaatioita markkinoiden edessä.

Jännityksen ratkaiseminen

Kirjoittamalla OKR: itä yhdessä linjasi vuosineljänneksen tavoitteemme, se ei ratkaissut kokonaan tekniikan ja tutkimuksen välisiä jännitteitä. Tähän mennessä ainoa biometrian koneoppimistutkija oli palkannut useita ihmisiä, jotka ilmoittivat hänelle ja olivat halunneet luoda identiteetin Biometrics Research -ryhmänä, erottuakseen edelleen Biometrics (Engineering) -tiimistä.

Muutamat asiat auttoivat lähentämään joukkueita toisiinsa ja johtamaan lopulta täysin toimivan joukkueen luomiseen:

  • "Team Lead" -nimeä uudelleen nimeksi "Engineering Lead": Meidän on tunnustettava, että jos yhdistämme joukkueet, joukkue ei voi johtaa ketään, vaan kolme johtoa kohti: tuotejohtaminen, tekninen lyijy ja tutkimusjohtajuus. Johtavat roolit tarkoittavat linjajohtamisvastuuta sekä arkkitehtonista ja strategista päätöksentekovaltaa toiminnoissaan.
  • Seurustelu yhdessä: Suunnittelu- ja tutkimustoiminnot olivat kahdessa eri maassa, joten tutkijoiden lentäminen koko viikkoon Lissaboniin auttoi todella murtamaan viestinnän esteitä ja rakentamaan ystävyyttä ja empatiaa näiden kahden toiminnon välillä. Se toi meidät yhteen ja ihmiset alkoivat tuntea olevansa osa yhtä joukkuetta. Se toi meille myös monia Pasteis de Nataa (portugalilaisia ​​vaniljakastikkeita) ja maukasta portugalilaista Cozidoa.
  • Scrum-seremonioiden mukauttaminen ja prosessin iteraaminen: Insinöörien ja tutkijoiden työn luonne on villin erilainen, eikä Scrum yksinkertaisesti leikkaa sitä.
Joukkue-lounas Gunpowderissa, Lontoossa.

Mukautetut Scrum-seremoniat ryhmille, joilla on koneoppimisen tutkijoita

Suunnittelutyö on tyypillisesti hyvin määritelty ja varma. Niin paljon, että koko metodologia on rakennettu auttamaan mittaamaan ja ennustamaan ohjelmistoryhmien tulosta tai nopeutta. Startup-maailman suosituin on ketterä ja sen eri maut, kuten scrum ja kanban. Aloittaessamme tiukkaa ish-scrum-ruokavaliota, törmäsimme nopeasti ongelmiin.

Sitä vastoin tutkimustyössä käsitellään monia tuntemattomia. Se alkaa usein toteutettavuustutkimuksella selvittääkseen, onko jotain todella realistista ja mahdollista. Tämä tapahtuu useissa kokeissa ja edustavien tulosten aikaansaaminen voi viedä hyvin kauan.

Tutkijan päivitykset olivat usein ”kokeiluni vielä käynnissä” tai “joo, vielä lukemassa papereita”. Jos he kuvailisivat yksityiskohtaisemmin mitä he tekevät, insinöörit tuijottaisivat tyhjää koneoppimisen asiantuntemuksen puutteen vuoksi. Heidän lippuilla oli myös erittäin korkeat arviot, ja he pitivät kuljettamassa useita sprintejä. Molemmat asiat turhautuivat heihin. He kokivat, etteivät he pystyneet antamaan lihavia päivityksiä ja olemaan ylpeitä edistyksestään.

Tutkijat eivät usein ymmärtäneet, mistä insinöörit puhuivat. He olivat vähemmän mukana ja kiinnostuneita laajemmasta alustaarkkitehtuurista, johon heidän mallinsa lopulta integroidaan.

Se tuli niin huonoksi, että tutkijat alkoivat ohittaa stand up, koska he eivät pitäneet sitä arvokkaana, mikä lisäsi ryhmän toimintahäiriöitä.

Muutokset, jotka auttoivat:

  • Perjantain kertaus: Sen sijaan, että liittyisivät stand upiin (muodollisesti Daily Scrum in scrum), joka päivä tutkijat liittyisivät joka toinen päivä, ja lopulta vain perjantaina, jolloin he tekisivät pidemmän päivityksen siitä, mitä he olivat saavuttaneet sillä viikolla. Tämä antoi heille enemmän aikaa kokeilla ja antoi heille enemmän käyttöaikaa kuvaamaan työnsä lähestymistapaa ja asiayhteyttä. Insinöörit esittelivät myös päivityksen viikon etenemisestä ja keskustelivat heidän hankkeistaan ​​ja arkkitehtuuripäätöksistään.
  • Nouse yhteenvetoon löysästä: Jokaisen nousun lopussa kirjoitan yhteenvedon siitä, mitä on tapahtunut ja mihin ihmiset keskittyvät tänään. I @ Suosittelen mitä tahansa tutkimuksesta, jos se on tarkoituksenmukaista, kuten algoritmien integroinnin edistymistä tai heidän panostaan ​​ryhmän lukituksen poistamiseen. Tämä on auttanut tutkijoita pysymään silmukassa.
  • Algoritmikeskustelu: Erillisessä istunnossa kukin tutkija selitti, mihin he työskentelivät, kuinka heidän algoritmi toimi tai ei vielä tehnyt, lähestymistapaansa, missä he olivat sen kanssa. Se sisälsi joitain peruskoulutuksia muille kuin koneoppiville ihmisille ja auttoi tasoittamaan toimintaedellytyksiä ja luomaan joitain yhteisiä kieliä.
  • Yhteinen jälkitarkastus ja sprintisuunnittelu: Tämä ei ole sinänsä muutos. On tärkeätä korostaa, että koko joukkue liittyi tilauskannan tarkennusistuntojen ja sprintisuunnittelun aikana, koska se auttoi kohdistamaan sprintin tavoitteita, yhdisti ne OKR: iimme ja yhdessä luomaan polun algoritmitutkimuksen valmistumisesta tuotantoon, järjestämään levityksen ja menemisen elää kaikille.
  • Arvioimattomat tutkimusliput: Huomasimme, että tutkimustehtävien arviot eivät tosiasiallisesti auttaneet meitä ennustamaan, milloin työ tehdään. Päätimme pudottaa pisteitä kokonaan tutkijoille, mutta pidä liput sprintissä keinona aloittaa keskustelut perjantain kerta-aikana.
  • Palkkaa silta: Tiimin avainvuokraus oli Python-insinöörimme, joka siltasi aukon tutkijoiden Python-koodin ja Ruby- ja Elixir-taustainsinöörien välillä. Roolilla oli merkitystä määritellessämme, miten siirrymme akateemisesta tyyppikoodista tuotantoluokan skaalautuvaan koodiin.
Menestymisen kunniaksi, vaikka olemme kaukana. Linkki twiittiin.

Päättävät kommentit

Nykyään Biometrics-tiimi on yhtä johdonmukainen kuin koskaan. Siitä lähtien olemme tyytyväisiä kahta uutta toimintoa joukkueeseemme: palvelunhallintaa / tietojen analysointia Lontoossa, ja testisuunnittelijamme Lissabonissa on alkanut tukea meitä kokopäiväisesti sen sijaan, että jaettaisiin muiden ryhmien kanssa.

Juhlimme onnistumisia yhdessä löysällä ja videoneuvotteluilla, onnittelemme toisiamme hienosta työstä ja opimme vähemmän menestyneistä projekteistamme joukkueena. Tuotevierailut Lissabonissa kerran neljännesvuosittain. Tutkimus ja palvelut menevät Lissaboniin kuuden kuukauden välein. Engineering and Test tulevat Lontooseen vähintään kahdesti vuodessa. Jatkamme hengaamista, oppimme toisiltamme ja iteraamme prosessejamme.

Mikä hauska matka on ollut toistaiseksi!

Nouse Zoomin yli. Joku on saattanut sanoa jotain hauskaa.

Voit lukea ohjelmistokehittäjän näkemyksen tästä Daniel Serranon (3 min lukema) tarinasta, kirjoitettu noin vuosi sitten, joten kaikkia edellä mainittuja muutoksia ei ollut tuolloin tehty.

PS: Pidän hienostuneena kuinka olen käynyt läpi neljä erilaista leikkausta kaikissa näissä valokuvissa.