Ohjelmiston kokoonpanonhallinta, joka joskus tunnetaan myös yksinkertaisesti nimellä SCM, on tietotekniikan ammattilainen, joka valvoo tietyn ohjelmistotuotteen elinkaarta, yleensä ohjelmistoyritykselle tai valmistusyritykselle. Johtajat on usein määrätty useisiin projekteihin kerralla, ja heidän tehtäviinsä voi kuulua kaikkea alkuperäisestä koodauksesta ja projektisuunnittelusta lopulliseen kehitykseen ja yhdistämiseen. Tämä henkilö ei yleensä ole vastuussa asioista, kuten myynnistä ja markkinoinnista – nämä tehtävät kuuluvat yleensä muille osastoille – mutta lähes kaikki ohjelman suunnittelussa ja luomisessa kuuluu johtajan toimivaltaan. Hänen päätehtäviinsä kuuluu kehittäminen, testaus ja laadunvarmistus; Myös henkilöstöasiat, kuten valvonta ja valtuuksien siirto, ovat yleensä mukana. Suurin osa ihmisistä, joilla on tällainen työ, työskentelee suurissa ohjelmistokehitysyrityksissä, ja on tavallista, että heillä on korkeakoulututkinto tietotekniikasta, tietotekniikasta ja koodauksesta.
Perustehtävät ja työn kuvaus
Jokaisen SCM: n päivittäiset tehtävät vaihtelevat välttämättä työn laajuuden ja yleisen yrityksen dynamiikan mukaan. Yleisimmässä mielessä ydintehtäviin kuuluu kuitenkin prosessien tarjoaminen ja hallinnointi, joita käytetään muutoksen hallintaan ja hallintaan ohjelmistotuotteen koko elinkaaren ajan. Lähes kaikissa tapauksissa SCM varmistaa, että ohjelmisto pysyy luotettavana ja toistettavana koko kehitysprosessin ajan, jos muutoksia tai tarkistuksia tehdään.
Tämän toteuttaminen ei ole aina helppoa, ja siihen voi liittyä useita erilaisia liikkuvia kappaleita. Useimmat johtajat työskentelevät useiden kehitysryhmien kanssa ja varmistavat, että kaikki noudattavat tiettyjä kehitysohjeita. Ohjelmistotuotteiden eheyden varmistamiseksi johtajat tuottavat tyypillisesti niin kutsutun ”ohjelmistokehityksen”, joka aloitetaan projektin alkuvaiheessa. Tämä rakenne toistetaan yleensä monta kertaa koko kehitysprosessin aikana.
Peruslähdekoodi
Yksi tärkeimmistä asioista, joita ohjelmiston kokoonpanonhallinta tekee kehitysvaiheessa, on varmistaa, että kaikki ohjelmistotuotteen kehityksessä tehdyt muutokset hallitaan, testataan, dokumentoidaan ja tallennetaan tiettyjen standardien mukaisesti kaikissa kehitysvaiheissa. Kun ohjelmoija luo ohjelman, kirjoitetaan alkuperäinen lähtötason lähdekoodi, joka sisältää kaikki ohjelman toimimiseen tarvittavat komennot. Ohjelmaa kehitettäessä lähdekoodiin tehdään tiettyjä muutoksia tai parannuksia ohjelmiston toimintojen parantamiseksi tai lisäämiseksi. Jos myös toinen ohjelmoija tekee muutoksia tai jos tiedot ovat jostain syystä vioittuneet, alkuperäinen lähdekoodi saattaa muuttua tai jopa kadota, jos sitä ei tallenneta.
Ohjelmistokehitysprosessin ymmärtäminen
Ohjelmiston kokoonpanonhallinnan on varmistettava, että kaikki nämä eri lähdekoodit toimivat yhdessä, jotta ohjelmisto toimii suunnitellulla tavalla. Tätä varten seimi luo täysin automatisoidun päivittäisen ohjelmistokokoonpanon, prosessin, joka yhdistää kaikki eri vaiheet, joita tarvitaan lähdekoodin kokoamiseksi artefakteiksi tai tiedostoiksi. Näiden tiedostojen on läpäistävä useita testejä varmistaakseen, että ne on integroitu oikein kaikkiin muihin ohjelmiston osiin. Tämä rakennusprosessi varmistaa, että ohjelmisto toimii oikein, kun kaikki komponentit yhdistetään lopullisen version luomiseksi.
Tiedoston kokoaminen
Ohjelmiston kokoonpanonhallinnan on tyypillisesti myös varmistettava, että kaikki nämä eri lähdekoodit todella toimivat yhdessä, jotta ohjelma toimii haluamallaan tavalla. Tätä varten seimi luo täysin automatisoidun päivittäisen ohjelmistokokoonpanon, prosessin, joka yhdistää kaikki eri vaiheet, joita tarvitaan lähdekoodin kokoamiseksi artefakteiksi tai tiedostoiksi. Näiden tiedostojen on läpäistävä useita testejä varmistaakseen, että ne on integroitu oikein kaikkiin muihin ohjelmiston osiin. Tämä rakennusprosessi varmistaa, että ohjelmisto toimii oikein, kun kaikki komponentit yhdistetään lopullisen version luomiseksi.
Ammatin aloittaminen
Johtajat tarvitsevat yleensä kandidaatin tutkinnon tietojenkäsittelytieteessä tai siihen liittyvällä alalla, mutta ei ole harvinaista, että muodollinen koulutus on yksinkertaisesti yksi monista asteittain intensiivisemmistä vaatimuksista. Yleensä johtotehtävissä vaaditaan paljon käytännön kokemusta ohjelmistokehitysryhmien parissa työskentelystä ja vuorovaikutuksesta tietotekniikkaosastojen jäseninä. Alan menestyneimmillä ammattilaisilla on yleensä monen vuoden kokemus ohjelmistojen rakentamisesta ja perusohjelmien hallinnasta eri ohjelmille.