
HIROSHI WATANABE/GETTY IMAGES
In het boek 'De Rijkdom van Naties' toont Adam Smith aan hoe de arbeidsverdeling de belangrijkste bron van productiviteitsverhoging wordt. Een voorbeeld is de assemblagelijn van een speldfabriek: 'De ene werknemer trekt de draad, de andere richt deze recht, de derde knipt, de vierde punt de uiteinden, en de vijfde schaaft de andere kant voor het bevestigen van de kop.' Dankzij functiegerichte specialisatie wordt iedere werknemer een hooggekwalificeerde specialist in zijn specifieke taken, wat leidt tot een verhoogde efficiƫntie van het proces. De productie per werknemer stijgt vele malen, en de fabriek wordt efficiƫnter in het produceren van spelden.
Deze functionele arbeidsverdeling is zo ingeburgerd in onze geest, dat we onze teams snel conformeren. Data Science vormt hierop geen uitzondering. Complexe algorithimische zakelijke mogelijkheden vereisen een verscheidenheid aan arbeidstaken, waardoor bedrijven doorgaans teams van specialisten creƫren: onderzoekers, data-analisten, machine learning engineers, wetenschappers die de causale verbanden bestuderen, enzovoort. Het werk van de specialisten wordt gecoƶrdineerd door een productmanager, met een taakverdeling die doet denken aan de speldfabriek: 'de ene persoon verwerft gegevens, de andere modelleert deze, de derde voert ze uit, de vierde meet,' enzovoorts.
Helaas moeten we onze Data Science-teams niet optimaliseren voor productiviteit. Toch doe je dat wel wanneer je begrijpt wat je produceert: spelden of iets anders, en gewoon streeft naar efficiĆ«ntie. Het doel van assemblagelijnen is het uitvoeren van een taak. We weten precies wat we willen ā dat zijn spelden (zoals in het voorbeeld van Smith), maar je zou elk product of elke dienst kunnen noemen waarbij de vereisten alle aspecten van het product en zijn gedrag volledig beschrijven. De rol van de medewerkers is om deze vereisten zo efficiĆ«nt mogelijk uit te voeren.
Maar het doel van Data Science is niet om taken uit te voeren. Het doel is eerder om nieuwe sterke zakelijke kansen te verkennen en te ontwikkelen. Algoritmische producten en diensten, zoals aanbevelingssystemen, klanteninteracties, het classificeren van voorkeuren in stijl, het vinden van maten, kledingontwerp, logistieke optimalisatie, het ontdekken van seizoensgebonden trends en nog veel meer, kunnen niet van tevoren worden ontwikkeld. Ze moeten worden onderzocht. Er zijn geen blauwdrukken voor reproductie, het zijn nieuwe kansen met bijbehorende onzekerheid. Coëfficiënten, modellen, modeltypen, hyperparameters, alle benodigde elementen moeten worden bestudeerd door middel van experimenten, vallen en opstaan, en herhaling. Bij het steken van spelden worden leren en ontwerp van tevoren gedaan, vóór de productie. Met Data Science leer je in het proces, niet ervoor.
In de speldfabriek, wanneer leren de hoogste prioriteit heeft, wachten we niet en willen we niet dat werknemers improviseren op eigenschappen van het product, behalve om de efficiƫntie van de productie te verhogen. Specialisatie in taken heeft zin, omdat het leidt tot efficiƫntie in de processen en consistentie in de productie (zonder wijzigingen aan te brengen in het eindproduct).
Maar wanneer het product nog steeds in ontwikkeling is en het doel is leren, hindert specialisatie onze doelen in de volgende gevallen:
1. Het verhoogt de coƶrdinatiekosten.
Dat wil zeggen de kosten die zich opstapelen gedurende de tijd die aan communicatie, discussie, rechtvaardiging en het bepalen van werkprioriteiten wordt besteed. Deze kosten schalen niet-lineair op met het aantal betrokken personen. (Zoals J. Richard Hackman ons leerde, groeit het aantal relaties r volgens de functie van het aantal leden n, volgens deze vergelijking: r = (n ^ 2-n) / 2. En elke relatie onthult een bepaalde hoeveelheid kostenverhouding). Wanneer data-analisten naar functie zijn georganiseerd, vereist elke stap, elke wijziging, elke overdracht van een service, enz. veel specialisten, wat de coƶrdinatiekosten verhoogt. Bijvoorbeeld, statistische modelleurs die willen experimenteren met nieuwe functies, moeten hun acties coƶrdineren met data-engineers die datasets aanvullen telkens wanneer ze iets nieuws willen proberen. Evenzo betekent elk nieuw getraind model dat de modelontwikkelaar iemand nodig heeft om zijn acties te coƶrdineren voor het in productie nemen ervan. Coƶrdinatiekosten fungeren als een vergoeding voor iteratie, waardoor ze moeilijker en kostbaarder worden en eerder kunnen leiden tot een afname van het onderzoek. Dit kan het leren belemmeren.
2. Dit bemoeilijkt de wachttijd.
Nog verontrustender dan de kosten van coƶrdinatie is de tijd die verloren gaat tussen werkshifts. Terwijl de kosten van coƶrdinatie doorgaans worden gemeten in uren: de tijd die nodig is voor vergaderingen, discussies, projectbeoordelingen, wordt de wachttijd meestal gemeten in dagen, weken of zelfs maanden! Het is moeilijk om de agenda's van functionele specialisten op elkaar af te stemmen, aangezien elke specialist aan verschillende projecten toegewezen moet worden. Een uursvergadering om veranderingen te bespreken kan weken duren om de werkstroom uit te lijnen. En na goedkeuring van de wijzigingen moet de feitelijke werkplanning worden gepland binnen de context van tal van andere projecten, die de werktijd van specialisten in beslag nemen. Werk dat enkele uren of dagen in beslag zou moeten nemen voor het corrigeren van code of onderzoek kan veel langer duren voordat middelen beschikbaar komen. Tot die tijd worden iteratie en leren gepauzeerd.
3. Dit verkleint de context.
Taakverdeling kan het leren kunstmatig beperken door mensen te belonen voor het blijven binnen hun specialisatie. Een onderzoeker die binnen zijn functie moet blijven, zal zijn energie richten op experimenten met verschillende soorten algoritmen: regressie, neurale netwerken, random forest, enzovoort. Natuurlijk kan een goede keuze voor een algoritme leiden tot geleidelijke verbeteringen, maar doorgaans is er veel meer te behalen uit andere activiteiten, zoals het integreren van nieuwe gegevensbronnen. Evenzo helpt het bij het ontwikkelen van een model dat elk stukje verklarende kracht in de gegevens benut. Desondanks kan de sterke kant liggen in het aanpassen van de doelstelling of het versoepelen van bepaalde beperkingen. Dit is moeilijk te zien of te doen als de werkzaamheden beperkt zijn. Aangezien de specialist zich richt op het optimaliseren van algoritmen, heeft hij veel minder kans om zich met iets anders bezig te houden, zelfs als dat aanzienlijke voordelen oplevert.
Laten we de kenmerken benoemen die zich voordoen wanneer data science-teams functioneren als speldfabrieken (bijvoorbeeld in eenvoudige statusupdates): āafwachten op dataconversiewijzigingenā en āafwachten op ML Eng-resourcesā, die veelvoorkomende blokkades zijn. Desondanks geloof ik dat de gevaarlijkste invloed zit in wat je niet opmerkt, omdat je geen spijt kunt hebben van wat je nog niet weet. Onberispelijke uitvoering van vereisten en zelfgenoegzaamheid, bereikt door efficiĆ«ntie van processen, kunnen de waarheid verbergen dat organisaties niet bekend zijn met de voordelen van leren die ze missen.
De oplossing voor dit probleem ligt natuurlijk in het afkomen van de speldfabriekmethode. Om leren en iteratie te stimuleren, moeten de rollen binnen data science algemeen zijn, maar met brede verantwoordelijkheden die niet afhankelijk zijn van technische functies, dat wil zeggen, organiseer data-specialisten zo dat ze geoptimaliseerd zijn voor leren. Dit betekent dat je "full-stack specialisten" moet aannemen ā algemene specialisten die verschillende functies kunnen vervullen: van concept tot modellering, van implementatie tot meting. Het is belangrijk op te merken dat ik niet impliceer dat bij het aannemen van full-stack specialisten het aantal medewerkers moet afnemen. Waarschijnlijk neem ik gewoon aan dat wanneer ze anders georganiseerd zijn, hun prikkels beter aansluiten bij de voordelen van leren en efficiĆ«ntie. Stel je voor dat je een team hebt van drie mensen, elk met drie zakelijke kwaliteiten. In de speldfabriek zou elke specialist een derde van de tijd aan elke professionele taak besteden, omdat niemand anders zijn werk kan doen. In een full-stack omgeving is elke veelzijdige medewerker volledig gewijd aan het gehele bedrijfsproces, het opschalen van werk en leren.
Met minder mensen die de productcyclus ondersteunen, neemt de coƶrdinatie af. De universele werknemer beweegt soepel tussen functies, uitbreidend de datastroom om meer gegevens toe te voegen, nieuwe functies uit te proberen in modellen, nieuwe versies in productie te implementeren voor causale metingen, en herhaalt de stappen zo snel als er nieuwe ideeƫn komen. Natuurlijk voert de universele werknemer verschillende functies sequentieel uit en niet parallel. Uiteindelijk is het maar ƩƩn persoon. Echter, de uitvoering van de taak neemt meestal slechts een klein deel van de tijd in beslag die nodig is om toegang te krijgen tot een andere gespecialiseerde hulpbron. Dus de iteratietijd vermindert.
Onze universele werknemer is misschien niet zo bedreven als een specialist in een bepaalde functie, maar we streven niet naar functionele perfectie of kleine geleidelijke verbeteringen. In plaats daarvan streven we ernaar om voortdurend nieuwe professionele taken te verkennen en te ontdekken met een geleidelijk effect. Met een holistische context voor een volledige oplossing ziet hij kansen die een specialist met een smalle focus zal missen. Hij heeft meer ideeƫn en meer mogelijkheden. Hij faalt ook. Desondanks zijn de kosten van falen laag, terwijl de voordelen van leren hoog zijn. Deze asymmetrie bevordert snelle iteratie en beloont leren.
Het is belangrijk op te merken dat de mate van autonomie en de diversiteit van vaardigheden die wetenschappers die met volledige stacks werken, kunnen bieden, in grote mate afhankelijk is van de betrouwbaarheid van het gegevensplatform waarop kan worden gewerkt. Een goed samengesteld gegevensplatform abstraheert wetenschappers van dataverwerking van de complexiteit van containerisatie, gedistribueerde verwerking, automatisch overschakelen naar een andere resource en andere geavanceerde computerconcepten. Naast de abstractie kan een betrouwbaar gegevensplatform naadloze verbindingen met experimentele infrastructuur bieden, monitoring en waarschuwingssystemen automatiseren, automatische schaling en visualisatie van algoritmische resultaten en debugging bieden. Deze componenten zijn ontworpen en gebouwd door gegevensplatformingenieurs, dat wil zeggen dat ze niet van de Data Science-specialist naar het team van gegevensplatformontwikkelaars worden overgedragen. De Data Science-specialist is verantwoordelijk voor de gehele code die wordt gebruikt om het platform te draaien.
Ik was ook ooit geïnteresseerd in de functionele verdeling van arbeid met behulp van proces efficiëntie, maar door middel van trial and error (geen betere manier om te leren) ontdekte ik dat typische rollen beter bijdragen aan leren en innovatie en de juiste indicatoren bieden: het ontdekken en opbouwen van veel meer zakelijke kansen dan een gespecialiseerde benadering. (Een effectievere manier om over deze benadering van organisatie te leren dan de trial-and-error methode die ik heb doorgemaakt, is het lezen van het boek van Amy Edmondson 'Team Interactions: Hoe organisaties leren, innoveren maken en concurreren in de kenniseconomie').
Er zijn enkele belangrijke aannames die deze benadering van organisatie betrouwbaarder of minder betrouwbaar kunnen maken in sommige bedrijven. Het iteratieproces verlaagt de kosten van proberen en falen. Als de kosten van een fout hoog zijn, wilt u deze mogelijk verminderen (maar dit wordt niet aanbevolen voor medische toepassingen of de productie). Bovendien, als u met petabytes of exabytes aan gegevens werkt, kan specialisatie in datadesign noodzakelijk zijn. Evenzo, als het handhaven van bedrijfsfunctionaliteiten op het netwerk en hun beschikbaarheid belangrijker is dan hun verbetering, kan functionele uitmuntendheid ondergeschikt zijn aan leren. Ten slotte steunt het volledige stackmodel op de mening van deskundigen op dit gebied. Ze zijn geen eenhoorns; ze zijn te vinden of zelf op te leiden. Echter, ze zijn zeer gewild, en om hen aan te trekken en te behouden in het bedrijf is een competitieve materiƫle compensatie, duurzame bedrijfswaarden en interessant werk vereist. Zorg ervoor dat uw bedrijfscultuur dergelijke omstandigheden kan bieden.
Zelfs met alles wat gezegd is, geloof ik dat het volledige stackmodel de beste startvoorwaarden biedt. Begin daarmee en ga daarna doelbewust naar functionele taakdeling alleen wanneer dit absoluut noodzakelijk is.
Er zijn ook andere nadelen van functionele specialisatie. Dit kan leiden tot een verlies van verantwoordelijkheid en passiviteit onder werknemers. Smith zelf bekritiseert taakverdeling, waarbij hij suggereert dat het leidt tot het afvlakken van talent, dat wil zeggen dat werknemers onwetend en geïsoleerd worden, omdat hun rollen beperkt blijven tot een paar repetitieve taken. Terwijl specialisatie de proces efficiëntie kan waarborgen, inspireert het minder vaak werknemers.
Aan de andere kant zorgen universele rollen voor alles wat de tevredenheid op het werk stimuleert: autonomie, vakmanschap en doelgerichtheid. Autonomie betekent dat ze niet afhankelijk zijn van iets voor het behalen van succes. Vakmanschap gaat over sterke concurrentievoordelen. En doelgerichtheid heeft te maken met de mogelijkheid om invloed uit te oefenen op het bedrijf dat ze opbouwen. Als we erin slagen mensen enthousiast te maken over hun werk en een grote impact op het bedrijf te hebben, dan zal de rest op zijn plaats vallen.
Bron: habr.com
