Vanha ohjelma pyörii vielä. Kukaan ei uskalla koskea siihen.
Selvitän, mitä räätälöity ohjelmasi oikeasti tekee, saan sen käyntiin uudessa ympäristössä ja siirrän sen uudelle alustalle vaihe kerrallaan. Ilman dokumentaatiota, ilman katkoja.
Tunnistatko tilanteen?
3 tyypillistä lähtökohtaaOhjelma toimii vain yhdellä vanhalla koneella
Tarjouslaskenta tai laskutuksen apuohjelma pyörii nurkan Windows 7 -koneella. Kukaan ei tiedä, käynnistyykö se päivityksen jälkeen.
Tekijää ei enää tavoita
Ohjelman teki yksi henkilö, joka on nyt muualla tai eläkkeellä. Lähdekoodi voi olla tallessa, mutta kehitystyökaluja ei saa mistään.
Useita vanhoja ohjelmia, ei kokonaiskuvaa
Kymmenkunta räätälöityä työkalua estää palvelinuudistuksen tai ERP-vaihdon. Mitkä säilytetään, mitkä korvataan, mitkä lopetetaan?
Miten tämä eroaa tavallisesta ohjelmistoprojektista
Sinun ei tarvitse määritellä mitään etukäteen
Näytät, miten työ tehdään. Minä kaivan säännöt esiin koodista, tietokannasta ja käynnissä olevasta ohjelmasta ja tuon ne sinulle tarkistettavaksi.
Näet toimivan tuloksen ennen kuin sitoudut isompaan
Ensin kiinteähintainen selvitys, sitten yksi työnkulku uudella alustalla rinnakkain vanhan kanssa. Vasta sen jälkeen päätetään jatkosta ja hinnasta.
Uusi laskee samat tulokset kuin vanha, ja se tarkistetaan
Ajan saman aineiston molempiin ja vertaan tulokset. Erot näet ennen käyttöönottoa, et sen jälkeen.
Kaikki jää sinulle joka vaiheessa
Tuotan koodia, en papereita: lähdekoodi on sinun joka vaiheessa. Voit lopettaa minkä tahansa vaiheen jälkeen tai jatkaa jonkun muun kanssa.
Miten työ etenee
Alkukeskustelu
Kerrot, mitä ohjelma tekee ja mikä huolestuttaa. Kerron, kannattaako edetä ja mitä selvitys maksaa.
Käynnistysselvitys
Ohjelma käyntiin hallitussa ympäristössä, riippuvuudet kartalle, säännöt esiin ja sinulle vahvistettaviksi. Ei raporttipinoa.
Yksi työnkulku uudelle alustalle
Tärkein työnkulku rinnakkain vanhan kanssa samalla aineistolla. Näet vertailun ennen seuraavaa päätöstä.
Loput ja luovutus
Jokainen kokonaisuus omalla hinnallaan ja hyväksynnällään. Lopuksi toimiva ohjelma, lähdekoodi ja paluusuunnitelma. Uutta ohjelmaa voi sen jälkeen kehittää eteenpäin normaalisti.
Lopputulos ei aina ole uusi ohjelma. Joskus järkevintä on jatkaa vanhan käyttöikää viisi vuotta tai korvata se valmisohjelmalla. Suosittelen halvinta turvallista vaihtoehtoa. Kun ohjelma on siirretty uudelle alustalle, sen kehittäminen jatkuu tavallisena ohjelmistotyönä: uusia ominaisuuksia, integraatioita ja käyttöliittymän parannuksia voi tehdä siinä missä mihin tahansa nykyaikaiseen ohjelmaan.
Millaisia ohjelmia otan työn alle
Sellaisia, joiden kehitysympäristö on kadonnut, dokumentaatio puuttuu tai tekniikan nimeäkään ei tiedetä.
Jos tekniikkasi ei ole listalla, kysy silti.
tai muu tilanteeseen sopiva tekniikka
Valitsen tekniikan, joka on laajasti osattua ja pitkään tuettua, jotta työtä voi jatkaa kuka tahansa. Esimerkiksi .NET ja React, tietokantana SQL Server tai PostgreSQL. Jos sinulla on oma toive tai talossa on jo jokin tekniikka, mennään sillä. Vanha data säilyy.
Access-sovellus kuormakirjaukseen ja laskutukseen: kanta ja lomakkeet uusiksi, raportit säilyivät
Access-sovellus, jolla kirjattiin kuormat ja hoidettiin laskutus, ja jonka päällä oli kolmisenkymmentä raporttia. Dataa oli kertynyt paljon, ja Access-kanta oli tullut kokonsa ja käyttäjämääränsä puolesta rajoilleen. Kirjauksilla oli tiukat vasteaikavaatimukset, joten vaihtoehtoja ei ollut montaa.
Tietokanta muunnettiin SQL Serverille ja lomakkeet toteutettiin uudelleen WinFormsilla. Raportit jätettiin Accessiin ja ohjattiin lukemaan uutta kantaa, koska ne toimivat hyvin eikä niiden uusiminen olisi tuonut asiakkaalle mitään. Tämä on se osittainen siirto, josta puhun: uusitaan se, mikä on rikki tai rajoittaa, ja säilytetään se, mikä toimii.
Hyvä tietää ennen kuin annat ohjelmasi käsiini
Tekoäly tekee ison osan työstä, ei päätöksiä
Käytän tekoälyä koodin lukemiseen, toteutukseen ja tarkistuksiin. Oikeellisuuden mittari on silti vanhan ohjelman todellinen tulos ja sinun vahvistuksesi.
Missä koodisi ja datasi käsitellään
Sovitaan kirjallisesti ennen aloitusta. Tuotantodataa en lähetä malleille; testaus tehdään anonymisoidulla aineistolla. Suljettu käsittely onnistuu myös.
Jos yhden hengen toimittaja ei ole käytettävissä
Lähdekoodi luovutetaan joka vaiheen päätteeksi. Valitut tekniikat pyritään pitämään yleisinä, joten ohjelmaa voi jatkokehittää kuka tahansa niiden osaaja.
Tekoälyllä tehty sovellus tuotantokuntoon
Sovellus on tehty Lovablella, Boltilla, Cursorilla tai ChatGPT:n avulla ja on jo käytössä, mutta tietoturva, data ja ylläpito huolestuttavat. Katselmoin sen kiinteällä hinnalla ja korjaan vaarallisimmat asiat ensin, ilman että tehtyä heitetään pois.
- →salaiset avaimet pois selaimesta
- →jokainen käyttäjä näkee vain omat tietonsa
- →varmuuskopiot ja virheiden seuranta
- →erillinen kehitysympäristö ja hallittu julkaisu
Muut palvelut
Kuka tekee
Jussi Koistinen. Ohjelmistoja yli 20 vuotta, Delphistä ja VB:stä .NETiin, Reactiin, Node.js:ään ja mobiiliin, sekä isoja tietokantoja Oraclesta SQL Serveriin ja PostgreSQL:ään. Ison osan urasta olen käyttänyt muiden tekemien järjestelmien ymmärtämiseen ja uusimiseen. Jkodez Innovations Oy on yhden hengen yritys Kuopion seudulta, töitä koko Suomeen.
Soita, niin katsotaan tilanne.
Riittää, että kerrot, mitä ohjelmalla tehdään ja mikä huolestuttaa. Lähdekoodia ei tarvita vielä.