Utfordrende kompleksitet og tidspress
Embedded systemer blir stadig mer komplekse, og utvikling av slike systemer krever innsats fra stadig flere fagdisipliner. For å lykkes må utviklere kunne faget sitt godt, og de må også kunne se det i sammenheng med andres fag. Å være racer i programmeringsspråk, kodekonvensjoner og verktøy er ikke dumt, men det er ikke nok når man skal levere et større system. Man bygger ikke solide hus av å være verdensmester i å sage og slå spiker. Huset må først tegnes, og det må et Embedded system også.
Å designe et system før man begynner med koding er krevende ikke bare for utviklere, men også for andre i organisasjonen. Det er stort press på å levere fortest mulig, noe som ofte fører til at man går rett på koding.
Det går fint i starten. Man får noe til å blinke og snurre, men så begynner problemene. Nye funksjoner blir stadig vanskeligere å integrere. Mye må rives ned og bygges opp på nytt, snarveier blir tatt. De fleste av oss har sett det, vært en del av det, kjent på frustrasjonen.
Systemarbeid til unnsetning
Det er faktisk mulig å unngå denne fella og allikevel komme raskere i mål og attpåtil med et bedre resultat. I et prosjekt er det viktig at man så tidlig som mulig skaper en felles forståelse for hva man ønsker å oppnå, hva er utgangspunktet, begrensningene, mulighetene og andre faktorer.
Man samler seg rundt krav, først høy-nivå, så tekniske krav. Man tegner arkitektur og skriver spesifikasjoner. Så kjører man review, korrigerer og kjører review på nytt. Det er ikke meningen at det skal designes til minste detalj, men det skal være tydelig nok for alle.
Det gir mange fordeler: Enklere estimering av tid og ressurser, oversikt over risiko, planlegging av test, men først og fremst en felles ide om hva man skal lage. Det er dette som er utvikling, resten er implementasjon. Da er det godt å ha racere i programmeringsspråk, kodekonvensjoner og verktøy.
Våre utviklere er gode arkitekter
Mange av SW utviklerne i EmLogic har utdannelse og erfaring innen Systems Engineering. Vi har en kultur for å gjøre hverandre bedre gjennom metodikkarbeid og coaching. Våre erfarne utviklere lærer mindre erfarne opp i systemarbeid. På denne måten jobber vi mye smidigere og ferdigstiller oppdrag på en strukturert og godt dokumentert måte.
Vi satser på metodikk! Dette er vår styrke og det kommer kundene våre til gode.