Brug kunstig intelligens (AI) til at lave mere præcise projektestimater

Udgivet: November 22, 2019
Senest opdateret: May 12, 2023

Estimeret læsetid: 6 minutter

Kunstig intelligens eller AI er ikke længere et science fiction-påfund med selvtænkende robotter, der overtager verden. I dag er AI (mere specifikt maskinlæring) blevet en del af vores daglige liv, og vi drager fordel af det mange fronter: Fra smarte spamfiltre, der hjælper med at rydde op i vores e-mail-indbakker, chatbots, der fungerer som kundesupport på websites, til navigationsapps, der kommer med forslag til de bedste ruter på rejsen og sundhedsteknologier, der assisterer læger med diagnoser og behandling m.v.

I virksomheder bruges AI til at omdanne processer til automatiserede og smartere workflows. I denne blog kan du læse, hvordan vi bruger vi AI og maskinlæring til at skabe bedre projektestimater.

Men hvad er kunstig intelligens egentlig?

AI henviser til maskiners indbyggede intelligens, der skal simulere menneskets naturlige intelligens, inklusive processer som indlæring, ræsonnement og problemløsning.

Der er tre typer AI:

  1. Artificial Narrow Intelligence (ANI) – ANI er dén, der findes i vores samfund i dag. Denne type AI fokuserer på klart afgrænsede og specifikke opgaver som talegenkendelse, billedklassificering eller vurdering af reklamers popularitet.
  2. Artificial General Intelligence (AGI) - Denne type AI kan være lige så dygtig som et menneske, ikke bare sådan, at den kan udføre visse opgaver i stedet for et menneske, men at den kan lære, forstå og gøre alt, hvad mennesker kan, på egen hånd og uden målrettet programmering. Dog vil det sandsynligvis kræve årtiers, hvis ikke århundreders, forskning og udvikling at opnå.
  3. Artificial Super Intelligence  (ASI) - Denne type AI overskrider langt menneskers evner og intelligens. Heldigvis er vi ikke der endnu.

Sådan anvender vi AI i projektestimering

At lave projektestimater kan være vanskeligt. Især fordi der er mange faktorer, der bidrager til den samlede tid, det tager at udvikle og gennemføre et softwareprojekt. For at hjælpe vores projektledere med at nå frem til et mere nøjagtigt tids-estimat benytter vi en AI/maskinlærings-model. Ved hjælp af denne model er vi bedre i stand til at forudsige det faktiske antal arbejdstimer, specifikke opgaver kræver.

For at kunne gøre dette, trækker vi på vores 20 års historiske data om tidsforbrug på de projekter, vi udviklede, og deres respektive oprindelige estimater. Derefter bruger vi en type ANI kaldet Predictive Analytics, som analyserer dataene og forudsiger resultater baseret på mønsteret, som data viser.

Det værktøj, vi bruger, hedder TensorFlow. Det er et bibliotek til maskinlæring lavet af Google Brain Team, der sammenfatter forskellige maskinlærings- eller deep learning-modeller og algoritmer, der blandt andet kan bruges til genkendelse, klassificering eller forudsigelse. Maskinlæring er en del af AI, der har med evnen til at lære og dygtiggøre sig på egen hånd at gøre - I dette tilfælde gennem mønstergenkendelse i vores historiske såvel som nye data om projekter. I sig selv er AI et meget bredt udtryk, der omfatter læren om og de videnskabelige skridt i retning af at få computere til at simulere den menneskelige intelligens.

Vores projektestimeringsmodel fungerer således:

  1. Vi fastlægger først, hvilke typer data vi kan bruge til at hjælpe med forudsigelse. For eksempel har vi data om den forbrugte tid på hver opgave i et projekt sammen med deres estimerede timer. Disse alene kan allerede bruges til at generere en forudsigelse.
  2. Vi har tusindvis af sådanne optegnelser og kan derfor lægge de data ind i en TensorFlow-model til estimering.
  3. Vi vælger derefter den kolonne, vi vil forudsige på - I dette tilfælde kolonnen "Timeforbrug".
  4. Modellen inddeler de data, vi har i træningsdata og testdata - Normalt i forholdet 4:1. Derpå vælger vi den rette læringsalgoritme til at oplære modellen. Træningsdataene bliver det, der er analyseret og brugt i TensorFlow til at skabe de matematiske funktioner til opdatering af modellen, mens testdataene bliver det, der bruges til at kontrollere, om den opdaterede model rammer de korrekte tal i sine forudsigelser.
  5. Når indlæringen er færdig, er modellen klar til at komme med forudsigelser. Vi gør dette ved at give modellen input i de kolonner, vi fodrede den med i indlæringsfasen, undtagen den kolonne, vi valgte at bruge til forudsigelse. I dette tilfælde angiver vi de Estimerede Timer.

Forudsigelse i praksis

Vi integrerede vores estimeringsmodel med vores online projektstyringssystem, som vi bruger til at lave projektestimater. Når vi indtaster tal i feltet “Est. Hrs”, kan man se forudsigelsen i ”realtime”, hvor modellen automatisk outputter et estimat, der er tættere på de faktiske timer brugt på lignende opgaver i vores historiske data.

Dette er selvfølgelig bare et simpelt eksempel på, hvordan modellen fungerer. I virkeligheden bruger vi mere end to kolonner med data til at lave forudsigelsen mere præcis og nøjagtig. Overslaget varierer alt efter den type projekt, vi laver, de specifikke opgaver der skal udføres, kundetypen, projektomfang og mange andre variabler.

Brugen af AI i vores projektestimering har hjulpet os til at forbedre vores tidsestimater. Men så længe den nødvendige data til estimering er tilgængelig, eller rent praktisk kan indhentes, så kan AI/maskinlæring faktisk også anvendes i andre forretningsprocesser.

AUTHOR

Peter Skouhus

Peter Skouhus

En dansk iværksætter, der ejer 1902 Software Development, et it-selskab på Filippinerne, hvor han har boet siden 1998. Peter har stor erfaring inden for IT-udvikling, strategisk it-ledelse og salg.