Insikt · januari 2021

Hållbar programmering

För oss på Avalon är det viktigt att alla våra konsulter strävar efter hållbarhet i sitt arbete. Vi ska också sträva efter att hjälpa våra kunder att jobba på ett hållbart sätt. Med hållbar utveckling menar vi all utveckling som rör ett projekt. Från versionshantering, hålla sina processer uppdaterade, materialval och ända ner till koden i mjukvaran. Det kan även innebära att pusha för att de produkter man jobbar med ska kunna återvinnas på ett bra sätt, vara giftfria, energieffektiva och att alla har ett socialt ansvar. Ett hållbart projekt ska också vara smidigt att lämna över till en ny person.

För att underlätta processen har vår interna hållbarhetsgrupp tagit fram verktyg som våra konsulter kan använda som hjälpmedel för att få ett mer hållbart medvetet utvecklingsfokus. Verktygen som har arbetats fram är i form av checklistor, en för mjukvarutvecklare och en för mekanikkonstruktörer i syfte att främja hållbar utveckling i dessa roller.

I checklistan har fokusområden för hållbar mjukvaruutveckling identifierats och definierats. Dessa fokusområden innebär att på ett övergripande sätt få en bild över arbetsprocessen samt vilka förbättringsåtgärder som skulle kunna leda till mer hållbar programmering. Viktiga punkter för varje utvecklare att ha med sig in i ett nytt projekt är bland annat:

Versionshantering

Versionshantering möjliggör spårbarhet och är en viktig punkt för att kunna gå tillbaka i arbetet om man upptäcker fel som uppkommit av t.ex vidareutveckling.

Dokumentation

Att vara tydlig i dokumentationen är ofta avgörande för hur bra resultatet blir. I dokumentationen ska det finnas med vad kund och beställare kommit överens om i form av en kravställning.

Dokumentationen kan delas upp i olika nivåer där man börjar med en övergripande programbeskrivning om vad programmet ska göra, hur det ska användas och dess begränsningar. Den ska också visa en grafisk systemarkitektur om hur systemet hänger samman och sedan djupare med mer detaljer i processerna ju närmare utvecklarens/förvaltarens dokumentation man kommer.

En liten avvikare men än så viktig än användarmanualen för de som ska göra det dagliga jobbet. Ofta behöver de inte veta mycket detaljer utan mer en step by step hur systemet ska användas, och i vissa fall hur felkoder som kan komma upp ska hanteras. Detta bygger på att programmerarna har gjort ett bra förarbete med att skapa loggar och felkoder som är enkla att lokalisera i programkoden.

Ett steg i förvaltningsbarhet är att man har bra dokumentation kring systemet.

Testning

Testing är en viktig fokuspunkt och ett kvalitetsbegrepp. Det finns mängder av olika tester om det kan vara bra att ser över vilka av dem företaget använder och om det finns fler som skulle vara bra för just det företaget att använda.

Vissa typer av testning gör att man lätt kan upptäcka om något blir korrupt eller felar som tidigare fungerat. Det är bra med automatiserade tester som kan gå på schema så felen upptäcks snabbare.

Tid för underhåll/ refaktorisering

Det är viktigt att det finns tid för att se över koden och refaktorisering av den. Det betyder att man ska omstrukturera för att få den enklare, mer överskådlig och lättare att underhålla. När man gör underhåll och korrigeringar är det också viktigt att uppdatera relaterad dokumentation.

Modulär programmering

Använder sig företaget av modulär programmering? Om inte så kan det vara bra att tydliggöra fördelarna med det. Modulär programmering är en teknik för programvarudesign som betonar att ett programs funktionalitet separeras i oberoende, utbytbara moduler, så att var och en innehåller allt som behövs för att bara utföra en aspekt av den önskade funktionaliteten. Det gör att man enkelt kan byta ut delar av systemet utan att påverka helheten.

Utbildning

Har alla projektmedlemmar rätt förutsättning för att göra ett bra jobb? Om inte, titta på om det finns kompetens inom företaget som kan hjälpa till med att stötta eller utbilda nya projektmedlemmar. Ett exempel är att tillsätta projektmentorer.

Man bör också utvärdera om kompetensen som krävs för det specifika uppdraget ska vara något som fler bör utbildas inom och då lägga upp en plan för det.

Specifikation

Är specifikationen klar? Är uppdraget tydligt för dig som projektmedlem? Vet du hur jobbet ska fortsätta? Det är viktigt att det finns ett fundament av specifikationer så att utvecklaren vet vad hen ska göra, vad som ska uppnås och hur stor frihet det finns att lösa uppgiften. Utan en tydlig specifikation är det svårt att designa en grym kod.

Helhetsperspektiv

Det är ofta viktigt att det finns ett helhetsperspektiv för produkten. Jobbar man på delar utan att se helheten blir det svårt att redan från början arbeta hållbart. Det blir också svårare att se eventuella förbättringar. Det hänger även ihop med modularitet i koden. Försök se helheten direkt.

Vill du veta mer om hur vi arbetar med hållbarhet på Avalon, hur just du kan använda checklistan eller hur vi kan hjälpa dig? Tveka inte att höra av dig till hello@avaloninnovation.com


Nyhetsbrev


Läs fler artiklar

2021-05-18

Forskningsprojekt för inomhuspositionering

Avalon Innovation medverkar i Mälardagens Högskolas forskningsprojekt Civilingenjörsutbildningen i Robotik med kompetens inom Bluetooth 5.

Läs hela artikeln

Följ oss & håll dig uppdaterad.

2021-01-29

Hållbar programmering

För oss på Avalon är det viktigt att alla våra konsulter strävar efter hållbarhet i sitt arbete. Vi ska också sträva efter att hjälpa våra kunder att jobba på ett hållbart sätt. Med hållbar utveckling menar vi all utveckling som rör ett projekt. Från versionshantering, hålla sina processer uppdaterade, materialval och ända ner till koden i mjukvaran. Det kan även innebära att pusha för att de produkter man jobbar med ska kunna återvinnas på ett bra sätt, vara giftfria, energieffektiva och att alla har ett socialt ansvar. Ett hållbart projekt ska också vara smidigt att lämna över till en ny person.

För att underlätta processen har vår interna hållbarhetsgrupp tagit fram verktyg som våra konsulter kan använda som hjälpmedel för att få ett mer hållbart medvetet utvecklingsfokus. Verktygen som har arbetats fram är i form av checklistor, en för mjukvarutvecklare och en för mekanikkonstruktörer i syfte att främja hållbar utveckling i dessa roller.

I checklistan har fokusområden för hållbar mjukvaruutveckling identifierats och definierats. Dessa fokusområden innebär att på ett övergripande sätt få en bild över arbetsprocessen samt vilka förbättringsåtgärder som skulle kunna leda till mer hållbar programmering. Viktiga punkter för varje utvecklare att ha med sig in i ett nytt projekt är bland annat:

Versionshantering

Versionshantering möjliggör spårbarhet och är en viktig punkt för att kunna gå tillbaka i arbetet om man upptäcker fel som uppkommit av t.ex vidareutveckling.

Dokumentation

Att vara tydlig i dokumentationen är ofta avgörande för hur bra resultatet blir. I dokumentationen ska det finnas med vad kund och beställare kommit överens om i form av en kravställning.

Dokumentationen kan delas upp i olika nivåer där man börjar med en övergripande programbeskrivning om vad programmet ska göra, hur det ska användas och dess begränsningar. Den ska också visa en grafisk systemarkitektur om hur systemet hänger samman och sedan djupare med mer detaljer i processerna ju närmare utvecklarens/förvaltarens dokumentation man kommer.

En liten avvikare men än så viktig än användarmanualen för de som ska göra det dagliga jobbet. Ofta behöver de inte veta mycket detaljer utan mer en step by step hur systemet ska användas, och i vissa fall hur felkoder som kan komma upp ska hanteras. Detta bygger på att programmerarna har gjort ett bra förarbete med att skapa loggar och felkoder som är enkla att lokalisera i programkoden.

Ett steg i förvaltningsbarhet är att man har bra dokumentation kring systemet.

Testning

Testing är en viktig fokuspunkt och ett kvalitetsbegrepp. Det finns mängder av olika tester om det kan vara bra att ser över vilka av dem företaget använder och om det finns fler som skulle vara bra för just det företaget att använda.

Vissa typer av testning gör att man lätt kan upptäcka om något blir korrupt eller felar som tidigare fungerat. Det är bra med automatiserade tester som kan gå på schema så felen upptäcks snabbare.

Tid för underhåll/ refaktorisering

Det är viktigt att det finns tid för att se över koden och refaktorisering av den. Det betyder att man ska omstrukturera för att få den enklare, mer överskådlig och lättare att underhålla. När man gör underhåll och korrigeringar är det också viktigt att uppdatera relaterad dokumentation.

Modulär programmering

Använder sig företaget av modulär programmering? Om inte så kan det vara bra att tydliggöra fördelarna med det. Modulär programmering är en teknik för programvarudesign som betonar att ett programs funktionalitet separeras i oberoende, utbytbara moduler, så att var och en innehåller allt som behövs för att bara utföra en aspekt av den önskade funktionaliteten. Det gör att man enkelt kan byta ut delar av systemet utan att påverka helheten.

Utbildning

Har alla projektmedlemmar rätt förutsättning för att göra ett bra jobb? Om inte, titta på om det finns kompetens inom företaget som kan hjälpa till med att stötta eller utbilda nya projektmedlemmar. Ett exempel är att tillsätta projektmentorer.

Man bör också utvärdera om kompetensen som krävs för det specifika uppdraget ska vara något som fler bör utbildas inom och då lägga upp en plan för det.

Specifikation

Är specifikationen klar? Är uppdraget tydligt för dig som projektmedlem? Vet du hur jobbet ska fortsätta? Det är viktigt att det finns ett fundament av specifikationer så att utvecklaren vet vad hen ska göra, vad som ska uppnås och hur stor frihet det finns att lösa uppgiften. Utan en tydlig specifikation är det svårt att designa en grym kod.

Helhetsperspektiv

Det är ofta viktigt att det finns ett helhetsperspektiv för produkten. Jobbar man på delar utan att se helheten blir det svårt att redan från början arbeta hållbart. Det blir också svårare att se eventuella förbättringar. Det hänger även ihop med modularitet i koden. Försök se helheten direkt.

Vill du veta mer om hur vi arbetar med hållbarhet på Avalon, hur just du kan använda checklistan eller hur vi kan hjälpa dig? Tveka inte att höra av dig till hello@avaloninnovation.com


Nyhetsbrev


Läs fler nyheter

2021-03-31

Att bli konsult på Avalon Innovation

Att få en jobbansökan att sticka ut i mängden är inte alltid så lätt. Därför följer här några tips som kanske kan hjälpa dig på vägen för att få till det där lilla extra i din ansökan när du söker jobb hos oss.

Läs hela artikeln

Följ oss & håll dig uppdaterad.