Ohjelmistokehityksen myytit murrettuna

Ohjelmisto- ja järjestelmäkehityksen ympärillä liikkuu paljon myyttejä ja vanhentuneita mielikuvia.

Ohjelmistokehitys on monelle vieras aihealue, minkä vuoksi sen ympärillä liikkuu paljon myyttejä ja vanhentuneita mielikuvia. Jotkut kokevat ohjelmistokehityksen jopa mörkönä, johon sekaantumista pyritään välttämään viimeiseen asti. Nykypäivän ohjelmistokehitys on kuitenkin kaikkea muuta kuin kankeaa ja kallista, minkä vuoksi päätimme murtaa muutamia ohjelmistokehityksen ympärillä pyöriviä myyttejä!

Ohjelmistokehitys on aina kallista.

Ohjelmistokehitysprojektit mielletään usein kalliiksi ja epävarmoiksi projekteiksi, joissa budjetit paukkuvat ja lopputuloksesta tulee aina kalliimpi, kuin mitä aluksi suunniteltiin. Välillä saatetaan huomata, että arvokkaita työtunteja on käytetty täysin epäolennaisten toiminnallisuuksien hiomiseen. Toki ohjelmistoprojektin laajuus, tyyli ja toivotut ominaisuudet vaikuttavat hintalappuun, mutta nykyään on mahdollista toteuttaa monenlaisia ohjelmistoprojekteja kustannustehokkaaseen hintaan.

Ketterä ohjelmistokehitys mahdollistaa sen, että ohjelmistoprojekti voidaan toteuttaa myös budjetin osalta ketterästi. Paras lopputulos saadaan keskittämällä käytössä oleva budjetti tärkeimpien toiminnallisuuksien kehittämiseen. Ketterää ohjelmistokehitystä tehdään lyhyiden sprinttien kautta. Jokaiselle sprintille luodaan omat tavoitteet, aikataulu ja budjetti. Yksi sprintti kestää yleensä muutaman viikon, minkä jälkeen käydään läpi sprintin aikana luodut toiminnallisuudet. Tämän jälkeen päätetään, mihin seuraava osa budjetista sijoitetaan. Näin budjetin seuranta helpottuu ja budjetissa on helpompi pysyä. Määrität asiakkaana itse, kuinka paljon rahaa haluat ohjelmistoprojektiin panostaa.

Ohjelmiston toteutus tehdään tekniikka edellä.

Moni ajattelee, että valmiin ohjelmiston toiminnallisuudet määräytyvät ainoastaan sen mukaan, mikä on teknisesti mahdollista. Tietenkin tekniset asiat vaikuttavat jossain määrin siihen, kuinka tietyt asiat voidaan toteuttaa, mutta ohjelmistokehityksen keskiössä tulisi aina olla asiakkaan toiveet ja tarpeet. On ohjelmistotalon tehtävä selvittää, kuinka nämä toiminnallisuudet saadaan teknisesti toteutettua mahdollisimman kustannustehokkaasti ja järkevästi, jatkokehitysmahdollisuudet huomioiden. Sopiva tekniikka valitaan toivotun lopputuloksen mukaan.

Omaan tarpeeseen sopivan ohjelmistotalon valintaan kannattaa panostaa. Toiset ohjelmistotalot ovat erikoistuneet tiettyyn tekniikkaan, kun taas toiset tekevät projekteja joustavasti eri alustoilla ja ohjelmistokielillä. Meillä asiakkaat yllättyvät usein positiivisesti siitä, kuinka laajan mittakaavan osaamista henkilömäärältään pienestä ohjelmistotalostamme löytyy.

Projektin alussa on tiedettävä tarkasti kaikki, mitä lopulliselta ohjelmistolta halutaan.

Perinteinen ohjelmistokehityksen vesiputousmalli vaatii, että projektin pienetkin yksityiskohdat on tiedettävä jo aivan alussa. Todellisuudessa ohjelmistoprojektit muovautuvat lähes poikkeuksetta matkalla, kun toiminnallisuuksien prioriteetit kirkastuvat ja testikäyttäjiltä saadaan palautetta. Usein muutoksille ei ole perinteisessä mallissa kuitenkaan varattu resursseja niin aikataulun kuin budjetinkaan osalta, minkä vuoksi projekti pitkittyy ja rahaa kuluu budjetoitua enemmän.

Ketterä ohjelmistokehitys mahdollistaa nimensä mukaisesti ohjelmiston kehittämisen ketterästi. Sprinttityylisen työskentelytavan vuoksi ohjelmistosta syntyy säännöllisesti pieniä kokonaisuuksia, joita voidaan kehittää palautteen ja kirkastuneiden tavoitteiden pohjalta eteenpäin. Jokaiseen sprinttiin luodaan omat tavoitteet, aikataulut ja budjetti, minkä ansiosta kehitystyö voidaan ohjata tärkeimmän prioriteetin toiminnallisuuksiin. Näin saadaan paras vastine aika- ja raharesursseille sekä toimivampi lopputulos, joka vastaa parhaiten projektin todellisia tavoitteita. Ketterässä ohjelmistokehityksessä projektin aloitukseen riittävät raamit ja alustava idea siitä, millainen ohjelmistosta halutaan. Loppu hioutuu matkan varrella tiiviillä yhteistyöllä.

Ohjelmistokehittäjät ovat epäsosiaalisia introverttejä.

Monella saattaa olla mielikuva, että ohjelmistokehittäjät ovat yksin pimeässä huoneessa koodaavia nörttejä, jotka kaihtavat sosiaalista kanssakäymistä. Tietenkin meitä löytyy moneen junaan, mutta useimmiten ohjelmistokehittäjät ovat ihan samanlaisia ihmisiä, kuin kaikki muutkin. Parhaimmillaan ohjelmistokehittäjästä muodostuu tärkeä osa tiimiäsi – etenkin silloin, kun valitset kehittäjän, jota kiinnostaa aidosti kehittää toimintaasi ja sitä tukevia ohjelmistoja.

Ketterä ohjelmistokehitys toteutetaan tiiviissä yhteistyössä asiakkaan kanssa, molemminpuolisesti ideoiden ja säännöllisesti yhdessä kehittäen. Nykypäivän ohjelmistokehittäjät ovat yhä useammin luovia, sosiaalisia ja kehityshenkisiä tekijöitä. Yhdessä luomalla syntyy paras lopputulos, kun kehittäjän tekninen osaaminen kohtaa asiakkaan tarpeet ja toiveet.

Ohjelmistoprojektit ovat pitkiä prosesseja.

Ennen saatettiin ajatella, että ohjelmistoprojektiin sitoudutaan vähintään vuodeksi, ellei pidemmäksikin. Maali häämötti jossain hamassa tulevaisuudessa ja projektin parissa puurrettiin pitkään. Ohjelmistokehitys onnistuu kuitenkin myös hyvin ketterästi, kun se tehdään oikeanlaisella mallilla. Ketterän ohjelmistokehityksen mallin sprintit kestävät viikosta kuukauteen, ja jokaisen sprintin lopuksi valmistuu jokin kokonaisuus lopullisesta ohjelmistosta. Ketterän ohjelmistokehityksen mallilla ohjelmiston ensiversio saadaan nopeammin julkaistua, sillä siinä keskitytään aina tärkeimmän prioriteetin toimintojen kehittämiseen. Lopputulos on usein myös laadukkaampi, kun mahdollisia ongelmakohtia voidaan korjata jo matkan varrella käyttäjäpalautteen pohjalta.

Kuten huomaat, ohjelmistokehitys ei ole nykypäivänä välttämättä kallis, aikaavievä tai monimutkainen prosessi. Ketterän ohjelmistokehityksen avulla on mahdollista luoda laadukkaita ohjelmistoja kustannustehokkaasti, nopeasti ja ketterästi!

Jaa: