Mitä on kestävä ohjelmistokehitys?
Kestävä kehitys on nousemassa puheenaiheeksi IT-alalla muun muassa ohjelmistoalan kasvavan hiilijalanjäljen sekä lisääntyvän yhteiskuntavastuun takia. Monet sekä liiketoiminnalliset että yhteiskunnalliset toiminnot muuttuvat entistä riippuvaisemmiksi ohjelmistoista, mikä kokonaisuudessaan lisää alan vastuuta eettiseltä pohjalta.
Kestävässä ohjelmistokehityksessä ei tule ottaa huomioon vain teknisiä vaatimuksia ja
kestäviä teknologiavalintoja, vaan myös se, että testaajat ja kehittäjät ottavat omistajuuden pitkäaikaisesta asiakastyytyväisyydestä. Kestävyyden kannalta yksi haastavimpia asioita onkin jatkuvasti muuttuviin asiakastarpeisiin mukautuminen, esimerkiksi miten priorisoida ominaisuuksien kehittämistä asiakaspalautteen tai muuttuvien liiketoiminnan tarpeiden mukaan.
Kestävä ohjelmistokehitys on synonyymi Compilen tavalle tehdä töitä, ja se on ollut yrityksemme perustajien Juhan ja Mikan ydinfilosofia alusta alkaen. Tämän vuoksi haluamme nostaa esiin, mitä aihe sisältää konkreettisesti ohjelmistokehityksen osalta. Avaamme myös vankan kokemuksemme pohjalta eri näkökulmia kestävään ohjelmistokehitykseen.
Yleisesti kestävä kehitys viittaa nykyhetken taloudellisten, ympäristöllisten sekä sosiaalisten tarpeiden täyttämiseen ilman, että tulevat sukupolvet joutuvat joustamaan omista tarpeistaan. Kestävän kehityksen vaatimuksia tarkastellaan seuraavilla osa-alueilla (Goodland, 2002):
- Ekologinen kestävyys (Digitalisaation ilmastovaikutus on valtava)
- Taloudellinen kestävyys (Millaiset ratkaisut ovat taloudellisesti kestäviä ja kustannustehokkaita asiakkaille)
- Sosiaalinen kestävyys (Millaisia vaikutuksia IT-ratkaisuilla on yhteiskuntaan)
- Inhimillinen kestävyys (Yksilön jatkuva, elämän mittainen kehittyminen ja hyvinvointi)
- Tekninen kestävyys (Järjestelmien pitkäaikainen käyttö ja mahdollisuudet kehittää niitä muuttuvien olosuhteiden ja vaatimusten mukaisesti)
IT-ALAN KESTÄMÄTÖN HIILIJALANJÄLKI
Ohjelmistoalalla on vastuu olla sen ympäristöllisestä kuormituksesta tietoinen. Yhdysvaltalaiset tutkijat arvioivat, että vuoteen 2020 mennessä IT- ja viestintä-ala luovat 3,5% globaaleista ilmastopäästöistä, kun taas vuoteen 2040 mennessä suhdeluvun arvioidaan olevan jo 14%. Professori Jukka Manner arvioi Ylen haastattelussa jo vuonna 2013 ICT-alan vastanneen 10% brittien sähkönkulutuksesta vuonna 2007, ja että ala on kovaa vauhtia ohittamassa päästömäärissään paljon kiistellyn ilmailualan.
Digitalisaation myötä datan määrä kasvaa jatkuvasti. Tämän vuoksi vaaditaan myös entistä enemmän hyperskaalautuvia konesaleja, joista isoimmat esimerkit maailmalla kuluttavat kokonaisten valtioiden verran sähköä. Suomessa lähinnä tällaisia on Googlen Haminan palvelinkeskus. Norjassa puolestaan on näytetty jo hyvää esimerkkiä rakenteilla olevan Kolos-datakeskuksen osalta, jonka pyrkimys on olla maailman suurin täysin uusiutuvalla energialla toimiva konesali. Tällaisia konesaliratkaisuja tarvitaan kasvavassa määrin mm. uusien teknologioiden (kryptovaluuttojen data mining, kone- ja syväoppiminen, IoT, robotic process automation) yleistyessä, mikä on mahdollistunut vasta äskettäin 5G-verkon tulon myötä. 5G-verkko kymmenkertaistaa dataliikenteen kapasiteetin verrattuna 4G-verkkoon.
Suuret globaalit pilvipalveluiden tuottajat pyrkivät aktiivisesti pienentämään hiilijalanjälkeään. Google ilmoitti vuoden 2018 ympäristöraportissaan kattavansa 100% sähkönkulutuksestaan markkinoilta ostetulla uusiutuvalla energialla. Amazon puolestaan sanoo AWS:n tuottaneen viime vuonna yli 50% palveluistaan uusiutuvalla energialla, mutta yhtiö on sitoutunut 100%:n tavoitteeseen. Paikallisilla toimijoilla on kuitenkin asian suhteen vielä paljon parantamisen varaa. Monissa tilanteissa ympäristöystävällisin valinta ei aina ole se kustannustehokkain, jolloin taloudellinen valinta ottaa yliotteen etenkin, jos kyseessä on asiakastyö. Kestävyydessä organisaatiot voivat kuitenkin ottaa ensin sisäisesti pieniä askelia ja edetä tästä kohti esimerkin näyttämistä asiakkaalle.
ASIAKKAAN TALOUDELLISILLA RESURSSEILLA EI TULE KOKEILLA
Taloudellinen kestävyys viittaa siihen, mitkä ratkaisut ovat kustannustehokkaita asiakkaille. Asiakkaan budjetilla ei vain kokeilla, vaan valitaan aidosti juuri heidän toimintaympäristöönsä parhaiten soveltuvat työkalut ja ratkaisut. Ominaisuuksien kehittämiseen kestävästi kuuluu pienissä osakokonaisuuksissa eteneminen (Minimum Viable Product -henkisesti) sekä maltillinen resurssien allokointi lähitulevaisuuteen vuosia rahaa polttavien IT-hankkeiden sijaan.
Voidaankin sanoa, että joitain hankkeita olisi syytä olla käynnistämättä ollenkaan. Näissä tapauksissa poltetaan resursseja turhaan ja tuotetaan koodia ilman, että edes tiedetään, mihin lopputulokseen ollaan pyrkimässä. Luottamus, läpinäkyvyys ja kestävyysajattelu ovat erityisen tärkeitä toiminnan pohjaa määriteltäessä organisaatioiden ja IT-toimittajien välille.
Myös johtamisjärjestelmien tulisi tukea kestävää talouden kehitystä. Johdon parametrit tulisi asettaa niin, että edetään pienillä ketterillä kokeiluilla eikä allokoida kehityksen resursseja pitkälle tulevaisuuteen. Tällä varmistetaan keskittyminen oikeisiin asioihin. Hankkeissa ilmenee usein isoja haasteita, jotka johtuvat organisaation eri tasojen ristiriitaisista tavoitteista. Nämä tavoitteet tulisi yhdenmukaistaa ja tuoda yhteen kaikille kestävälle pohjalle.
OHJELMISTOALALLA SUURI YHTEISKUNNALLINEN VASTUU
Sosiaalinen kestävyys tarkoittaa sosiaalisen pääoman ylläpitoa. Sosiaalista pääomaa ovat investoinnit niihin asioihin, jotka luovat yhteiskuntamme perustan. Yhteiskunnallinen kestävyys vähentää yhteistyön kustannuksia ja parantaa sen edellytyksiä. Luottamus eri osapuolten välillä puolestaan vähentää kaupallisia kustannuksia. (Goodland, 2002.)
Ohjelmistoalalla on kasvavassa määrin suuri eettinen vastuu muun muassa vaalikoneiden algoritmien, tietosuojan ja energiankulutuksen näkökulmasta. Yhteiskuntavastuuraportointi on jo joillain yrityksillä käytössä, mutta miten juuri ohjelmistoala voisi huomioida paremmin tämän kasvavan vastuun?
Microsoftin Jeffrey Snover esittää, että seuraavia yhteiskuntavastuuseen liittyviä kysymyksiä tulisi pohtia ohjelmistokehityshankkeissa:
- Parantaako ratkaisu ihmisten elämänlaatua?
- Voitaisiinko ratkaisua väärinkäyttää johonkin epäeettiseen?
- Mitkä käyttäjäryhmät on suljettu pois?
- Onko tekemisemme eettistä?
- Onko tekemisemme laillista?
TEKNINEN KESTÄVYYS RAKENTUU IHMISTEN JA KULTTUURIN KAUTTA
Inhimillinen kestävyys tarkoittaa niinikään inhimillisen pääoman ylläpitoa. Siihen kuuluvat mm. terveys, koulutus, taidot, tietämys ja johtajuus. Investoinnit yksilöiden opetukseen, terveyteen ja ravitsemukseen on otettu mukaan osaksi taloudellista kehitystä ja sen kestävyyttä. (Goodland, 2002.) Ohjelmistokehityksessä tämä voi koskea esimerkiksi kehitystiimien välistä yhteistyötä ja ylipäänsä työhyvinvoinnillisia tekijöitä, eli miten työnantajat kohtelevat työntekijöitään tai miten työntekijät pitävät itsestään huolta.
Ohjelmistoja on rakennettava ja ylläpidettävä niin, että kehittäjät ja tuotekehityksen tiimit voivat olla pitkäjänteisesti tyytyväisiä tekemäänsä työhön ja työympäristöön. Työskentelykulttuurin tulisi perustua asiantuntija- ja asiakasyhteistyöhön, jotta kaikki osapuolet saavat työhönsä ammattilaisten muodostaman yhteisön tuen. Tällaisen toimintatavan yksi parhaita käytänteitä on DevOps-mallinen ohjelmistokehitys ja sen luoma työskentelykulttuuri.
Yleinen ihmislähtöinen kestävyyttä heikentävä ongelma on myös kehittäjien epärealistiset arviot ajankäytöstä. Näin voi käydä, kun kehityssprinteille luodut aikataulut ovat liian tiukat ja laatu kärsii sen seurauksena. Julkaisupaineet saattavat viedä keskittymisen pois huolellisesta koodin katselmoinnista ja testauksesta, kun liiketoimintaa pyritään palvelemaan julkaisemalla uusia toiminnallisuuksia nopeassa tahdissa.
Vaikka ajanhallinnan haasteet ja liiketoiminnan vaatimusten hallinta on usein pois teknisestä kestävyydestä, on useimmissa yrityksissä ongelma kuitenkin kulttuurin tasolla. Aina tulisi pyrkiä luomaan sisäinen kulttuuri, jossa fokus on laadun rakentamisessa. Tähän kuuluu myös ohjelmistoa tekevän tiimin sekä sen osaamisen, motivaation ja työkalujen jatkuva parantaminen. Tiimien laadukasta työtä ja hyvinvointia tukeva työskentely vaatii ympärilleen kestävän organisaatiokulttuurin, joka vaalii jatkuvaa parantamista ja tarjoaa riittävästi resursseja ja tukea kehitykseen.
Ilman ihmislähtöistä kulttuuria ei ole myöskään edellytyksiä tekniselle kestävyydelle. Teknisen kestävyyden osalta voidaan ottaa huomioon esimerkiksi seuraavat osa-alueet (Penzenstadler, 2013):
- Kehittämisen menetelmät ja työkalut (Development methods and processes)
- Ylläpidon sekä testauksen käytänteet ja prosessit (Maintenance process)
- Järjestelmän tuotanto ja valmistus (System production)
- Järjestelmän käyttöaste (System usage)
On myös tärkeää, että asiakkaita kannustetaan parantamaan kehityksen työkaluja ja menetelmiä siten, että teknistä velkaa ja bugeja ei päätyisi versionhallintaan ja tuotantoon. Tähän sisältyvät muun muassa koodin laaja automaattinen testaus sekä katselmoinnit, joissa on koko tiimi mukana ja joissa ongelmakohdat nostetaan aidosti esille. Näillä toimenpiteillä voidaan parantaa laatua, vähentää regressiota ja nopeuttaa tuotantoa, eli loppujen lopuksi säästää hermoja, luonnonvaroja ja rahaa.
Tämän artikkelin oli tarkoitus antaa yleiskatsaus siihen, mitä kestävä kehitys on, mitkä sen haasteet IT-alalla ovat ja kuinka juuri ohjelmistoala voisi vastata sen kasvavaan vastuuseen sekä teknisessä että ihmislähtöisessä kestävyydessä. Seuraavissa artikkeleissa käsittelemme muun muassa kertomisen ja jakamisen kulttuuria onnistuneissa ohjelmistoprojekteissa, teknisesti kestäviä työkalu- ja teknologiavalintoja sekä vastuullista asiakastyötä.
Lisätietoja
Tagit
Liiketoimintaprosessi
Tietohallinto |
Erikoisosaaminen
Arkkitehtuuri | |
IoT | |
It-infrapalvelut | |
Ohjelmistokehitys |
Toimialakokemus
Asiantuntijapalvelut | |
IT |
Teknologia
Amazon Web Services | |
Azure | |
Tarjonnan tyyppi
Konsultointi |
Omat tagit
Compile - Asiantuntijat ja yhteyshenkilöt
Compile - Muita referenssejä
Compile - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - Java-kehittäjä
- Laura - Systems Specialist, ajoneuvot
- IsoSkills Oy - Open application: Data Engineer, Finland
- Nordea - Sr IT Analyst - Adobe/SAS Marketing Automation
- Nordea - Senior IT / Business Analyst with technical background - Finland, Nordea Payments
- Nordea - Senior IT Analyst, Finnish language required
- Laura - DevOps Engineer
Premium-asiakkaiden viimeisimmät referenssit
- Advania Finland Oy - Turun kaupunki valjastaa digitaaliset ratkaisut palvelemaan strategiaansa
- Sulava Oy - Fondia vahvistaa tekoälyn hyödyntämistä Microsoft Copilotilla
- Druid Oy - International House Turku: Ajanvarauspalvelu
- Symbio - Taxi Point Oy
- Valve - Helsingin yliopiston ylioppilaskunnan verkkopalvelun siirto WordPressiin
- Valve - Eezy Valmennuskeskuksen verkkokauppa-uudistus
- Valve - Danonen Nutricia ja Aptaclub -brändien sivustot
Tapahtumat & webinaarit
- 06.11.2024 - Webinaari: Future-Proof Your Data Infrastructure with Azure
- 13.11.2024 - Rakettiwebinaari: ohjelmistotestaus ja sen tulevaisuus
- 13.11.2024 - Miten palvelumuotoilu poistaa epävarmuutta digi-investoinneista?
- 14.11.2024 - RoimaDay 2024
- 14.11.2024 - Verkkolaskufoorumin syysseminaari 2024
- 19.11.2024 - The Future of Software - Embracing Collaboration in an AI-Powered World
- 19.11.2024 - Tehokkuutta ja säästöjä low-code-ratkaisuilla
Premium-asiakkaiden viimeisimmät bloggaukset
- Innofactor Oyj - Tunnista ja digitalisoi hiomattomat prosessit Power Platformin avulla
- SD Worx - Oletko etuoikeutettu työskentelemään jonkin asian parissa, jolla on todellinen tarkoitus ja merkitys?
- SD Worx - HR ja tekoäly – usein kysytyt kysymykset
- Timeless Technology - Verkon luotettavuuden varmistaminen: Ota käyttöön Perle Systemsin teollisuustason 4G ja 5G reitittimet!
- Efima Oyj - Hyvästi turhat klikkailut: Näin moderni järjestelmä tehostaa myyntityötä erikoistavarakaupassa
- SC Software Oy - SC Softwaren uratarinat: Joel Ollikainen, konsultti
- Softlandia Oy - Sovelletun tekoälyn insinöörien esiinmarssi ja tekoälyosaamisen muutos
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |