HSL:n ("Tilaaja") hankinnan kohteena oli HSL:n ohjelmistokehityksen, tuen ja ylläpidon asiantuntijapalvelut.
Hankinnan tarkoitus oli solmia puitesopimus ohjelmistokehitys- ja ylläpitopalveluiden asiantuntijapalveluista usean palveluntoimittajan kanssa ja siten tuottaa räätälöityjä ja innovatiivisia ohjelmistoja, joita käytetään HSL:n toiminnassa.
Hankinta jaettiin osiin.
Osa 1 koskee ohjelmistokehityksen asiantuntijoita
Osa 2 koskee Site Reliability Engineering -asiantuntijoita
Osa 3 koskee sekä Business Intelligence-, että Data Engineering -asiantuntijoita.
Hankinnan tavoitteena oli muodostaa toimiva puitejärjestely, josta voidaan hankkia ketterästi kehitystyötä, yksittäisiä resursseja tai kehitystiimejä ohjelmistokehitysprojekteihin. Tämän hankintamenettelyn tuloksena mahdollisesti syntyvällä puitesopimuksella hankittavat asiantuntijatehtävät voivat olla esimerkiksi suunnittelua, muotoilua, arkkitehtuurityötä, projektinjohtoa- ja tukemista, kehitystyötä, tukea ja ylläpitoa.
Asiantuntijatyö tapahtuu monitoimittajaympäristössä, jossa hyödynnetään rajapintoja ja valmiita ohjelmistokomponentteja sekä useita eri taustajärjestelmiä ja kaikki työ suoritetaan HSL:n IT:n ja liiketoimintayksiköiden ohjauksessa ja yhteistyössä muiden palveluntuottajien sekä sidosryhmien kanssa.
Tuotantotiimit voivat koostua osittain tai kokonaan palveluntuottajan asiantuntijoista erilaisilla allokaatioilla sekä vastuilla. HSL voi myös sulauttaa eri projektien kehitystyön yhden tiimin kokonaisvastuulle sisältäen jo tuotantoon vietyjen osien ylläpidon. Tiimien kokoonpano tarkennetaan tarvekohtaisesti. Vastuu ratkaisuista niin toiminnallisesti kuin teknisesti on koko tiimillä.
Puitejärjestelyssä ei ole projektien koolle tai laskutukselle asetettua euromääräistä alarajaa, joten projektien/toimeksiantojen koko voi vaihdella merkittävästi. Puitejärjestelyn sopimusmenettely on esitetty hankinta-asiakirjoissa.
Puitejärjestelyn kautta hankitaan kyvykkyyksiä useille eri teknologioille ja osaamisalueille. Teknologiat on lueteltu osia koskevissa tiedoissa.
Tähän osaan valittiin viisi (5) palveluntuottajaa ("Toimittaja").
Puitejärjestelyn kautta hankitaan kyvykkyyksiä useille eri teknologioille ja osaamisalueille ohjelmistokehitystyöhön. Tämän osan kautta voidaan hankkia yksittäisiä resursseja tai kehitystiimejä ohjelmistokehitysprojekteihin. Tiimi voi koostua osittain tai kokonaan yhden tai useamman palveluntuottajan resursseista erilaisilla allokaatioilla sekä vastuilla. Tiimien kokoonpano tarkennetaan tarvekohtaisesti. Kehitystyö tapahtuu monitoimijaympäristössä, jossa hyödynnetään rajapintoja ja valmiita ohjelmistokomponentteja sekä useita eri taustajärjestelmiä. Työ suoritetaan HSL:n ohjauksessa.
Ohjelmistokehityksessämme on:
• Mobiilisovellukset kaikille eri käyttöjärjestelmille
• Selainsovellukset
• Pilvipalveluita hyödyntävät ohjelmistokehityspalvelut
• Palvelinohjelmistojen kehityspalvelut
• Integraatio-ohjelmointipalvelut
• Ohjelmistojen kehittämisen johtamisen ja projektinjohtopalvelut
• Käyttökokemuksen suunnittelupalvelut sisältäen esim. käyttöliittymä- ja käytettävyyssuunnittelun
• Viestinvälitysratkaisut
• Ohjelmistoarkkitehtuuri- ja suunnittelupalvelut
• Tietoturva-arkkitehtuuri- ja tietoturvasuunnittelupalvelut (esim. kontrollisuunnittelu).
HSL käyttää mm. seuravia teknologioita:
Front-end-kehitys
• Javascript/TypeScript
• HTML
• CSS (preprosessoijat, esim. Sass tai LESS)
• React JS
• Build-työkalut (esim. Webpack)
• Muut web frameworkit (esim. Vue JS, Angular JS)
• Responsiiviset web-sivustot
Back-end-kehitys
• Java
• Node.js
• Python
• Relaatiotietokannat (esim. Azure SQL, PostgreSQL + PostGIS, MSSQL)
• NoSQL (esim. MongoDB)
• Build-työkalut (esim. Maven tai Gradle)
• .Net
• Optimizely CMS
Palveluväylät (Enterprise Service Bus)
• Apache Camel
• Java Spring Boot
• Azure Integration Services
Mobiilikehitys
• Kotlin
• Android
• iOS (Objective C tai Swift)
• React Native
Cloud
• Cloud (esim. Google ja Azure)
Docker
• Docker PaaS (esim. Kubernetes)
• Continuous Integration (CI) -osaaminen
• VNET (Azure VNET)
• Azure Hub Firewall
Ops
• Linux
• Linux scriptaus
API-hallinta (API-management)
• Azure API-management
Muut
• RobotFramework
• GraphQL
• Git
• avoimen lähdekoodin ratkaisujen kehittäminen
• kehitystyön aikainen testaus
Tähän osaan valittiin kolme (3) palveluntuottajaa ("Toimittaja").
Site Reliability Engineer on ohjelmistokehittäjä ja ylläpitäjä, joka on keskittynyt pilvialustojen kustannus- ja teho-optimointiin käyttäen apunaan ohjelmistotuotannosta tuttuja käytänteitä ja tuomalla nämä käytänteet osaksi organisaation pilvikehitystä.
SRE-asiantuntijan tehtäviin kuuluu tuotantoympäristön pyörittäminen monitoroimalla ja automatisoimalla virhetilanteiden palautuminen normaaliksi. Tämä parantaa tuotteen saatavuutta, laatua ja lyhentää tuotejulkistuksiin kuluvaa aikaa. SRE asiantuntijat monitoroivat pilviympäristöä, antavat dataan pohjautuvia suosituksia ja tekevät optimointiin liittyviä päätöksiä yhdessä tuotekehittäjien kanssa. He myös kehittävät organisaation pilvihallintaa yhdessä organisaation vastuuhenkilöiden kanssa.
SRE-asiantuntijan työhön voi kuulua mm.:
• kerätä ja analysoida asiakkaan metriikkaa ja auttaa asiakasta pilviympäristönsä optimoinnissa ja vikasietoisuuden parantamisessa
• auttaa ohjelmistotiimejä pilvi konfiguraation hallinnassa ja automatisoinnissa mm. IAC
• osallistua muun muassa ohjelmistokehityksen suunnitteluun, pilvialustan hallintaan ja pilvialustan kapasiteettiin liittyvissä aiheissa
• luoda standardoituja työkaluja ohjelmistokehittäjille, jotta aikaa markkinoille voitaisiin lyhentää
• luoda pilvialustalle automaatioita hoitamaan päivittäisiä tehtäviä ja ylläpitää automaatiota
• osallistua pilvialustan häiriötilanteiden ratkaisemiseen ja niistä tiedottamiseen
• luoda metriikkaan pohjautuvia työkaluja SRE työn tueksi
• hälytyksiin reagointi. konfigurointi ja niistä tiedottaminen
• pääsynhallinnan konfiguroiminen, valvonta ja automaatio
• verkkoratkaisujen konfiguroiminen, valvonta ja automaatio.
Tähän osaan valitaan enintään kolme (3) palveluntuottajaa ("Toimittaja").
Keskeisin komponentti tarjouspyynnön julkaisuhetkellä on tietovarasto, jota on kehitetty n. 5 vuotta 3-7 hengen tiimin voimin.
Tietovarasto on HSL:n analytiikan mahdollistama Azure-ympäristön pilvikomponenteista rakennettu data platform -ratkaisu, johon pohjautuen rakennetaan tiedon raportointi-, visualisointi ja dashboard-ratkaisuja hyödyntäen erilaisia Business Intelligence -työvälineitä, esim. PowerBI.
Tietovarastoa on kehitetty ketteriä menetelmiä (scrum) hyödyntäen.
Tyypillisesti kehitystiimiä on HSL:n puolella ohjannut tuoteomistaja.
Toimittajan puolella keskeisiä tiimin rooleja ovat olleet mm. Scrum Master, Data Engineerit (2-4 kpl) ja BI-kehittäjä.