Tjenester for modernisering av eldre programvare
Modernisering av eldre programvare for systemer som fortsatt driver virksomheten, men bremser den: overtakelse av kode andre team har skrevet, oppgradering til gjeldende versjoner og trinnvis erstatning av gamle moduler, uten en omskriving i én omgang. Ni systemer har kommet til oss fra andre team så langt, det eldste skrevet i 2008.
Slik moderniserer vi et eldre system
Først en skrivebeskyttet gjennomgang
Koden, avhengighetene, utrullingen og dataene lest fra ende til ende før noen endrer en linje, med en skriftlig liste over risikoer i rekkefølge etter betydning for produksjonen.
Tester rundt det som finnes
Karakteriseringstester som fastholder hva systemet gjør i dag, med særegenheter inkludert, slik at hver senere endring kontrolleres mot reell oppførsel og ikke hukommelsen.
Oppgradering av rammeverk og kjøretidsmiljø
.NET Framework til gjeldende .NET, Java 8 til en gjeldende LTS, PHP 5 til PHP 8, Python 2 til 3 og AngularJS til Angular, ett steg om gangen, hvert steg utgitt for seg.
Erstatning etter strangler fig-mønsteret
Nye moduler bygget ved siden av det gamle systemet bak et rutingslag, som tar over én funksjon om gangen til den gamle koden kan slås av, uten én enkelt dag da alt endres.
Modernisering av databasen
Forretningslogikk flyttet ut av lagrede prosedyrer og inn i testet kode, skjemaendringer gjort om til versjonerte migreringer, og data på databaseversjoner uten støtte flyttet med en avstemmingsrapport.
Sikkerhetsgjeld nedbetalt
Avhengigheter uten støtte erstattet, kjente sårbarheter rettet, hemmeligheter flyttet ut av konfigurasjonsfiler og inn i et hvelv, og skanning av avhengigheter i pipelinen slik at gjelden ikke kommer tilbake.
Lei inn utviklere for eldre systemer
Dedikerte utviklere for eldre systemer
Utviklere for eldre systemer som blir en del av teamet deres på heltid, jobber i verktøyene og prosessen deres, og rapporterer til lederen deres. Dere intervjuer dem, og vi tar oss av den ukrainske kontrakten, lønn, fakturering og fravær.
Prosjekter innen Modernisering
En avgrenset del av modernisering med et omfang, en fast plan og en navngitt leder hos oss som eier resultatet og rapporterer fremdrift i kanalene deres.
Løpende modernisering
Modernisering som en løpende tjeneste: de samme menneskene hver måned, en backlog dere prioriterer, og timer dere kan se i portalen vår og på fakturaen.
Siden om dedikert team forklarer hvordan spesialister blir med i teamet deres, og siden om outsourcing dekker prosjektleveranse, overtakelser og hvordan vi priser.
Hvem som jobber med modernisering for dere
Teknisk leder
Eier gjennomgangen, risikolisten og rekkefølgen på arbeidet
.NET-, Java- og PHP-utviklere
Oppgraderinger og refaktorering i systemets eget språk
Sky- og DevOps-ingeniører
Pipelines, infrastruktur som kode og flyttingen bort fra gamle servere
QA-ingeniører
Karakteriserings- og regresjonstester
Moderniser i steg, ikke i én omskriving
En full omskriving stopper leveransene i måneder og mister som regel oppførsel ingen skrev ned. Vi moderniserer i steg i stedet: hvert så lite at det kan utgis, testet mot hva systemet gjorde før, og valgt ut fra risikoen eller kostnaden det fjerner, slik at virksomheten fortsetter å gå på systemet mens det endres.
En overtakelse starter med en skrivebeskyttet gjennomgang og en skriftlig liste over risikoer før noen retting. Av og til viser den listen at en modul bør skrives om, og da sier vi det, med begrunnelsene skriftlig og omskrivingen planlagt bak de samme testene.
Andre løsninger vi leverer
MVP-utvikling
MVP-utvikling for gründere og produktteam: avgrensning av omfang, Figma-prototype, web- eller mobilbygg og lansering på en teknologistack som bærer neste versjon, med dedikerte MVP-utviklere eller som prosjekt.
SaaS-utvikling
SaaS-utvikling: multitenant-arkitektur, abonnementer og fakturering, enterprise single sign-on, supportverktøy og utgivelser uten nedetid, med dedikerte SaaS-utviklere eller som prosjekt.
Utvikling av webapplikasjoner
Utvikling av webapplikasjoner: kundeportaler, interne verktøy, dashbord og progressive webapper, med backend og hosting inkludert, levert av dedikerte webutviklere eller som prosjekt.
API-utvikling
API-utvikling og integrasjoner: REST- og GraphQL-API-er, integrasjoner med tredjeparter, hendelsesdrevet meldingsutveksling og webhooks, overvåket på hver tilkobling, med dedikerte API-utviklere eller som prosjekt.
Skymigrering
Skymigrering: vurdering av arbeidsbelastninger, landing zones i Terraform, og flytting av databaser og applikasjoner til Azure, AWS eller Google Cloud med planlagt overgang, med dedikerte skyingeniører eller som prosjekt.
Telegram- og Viber-boter
Telegram- og Viber-boter for bedrifter: bestillinger, booking, betaling via LiqPay, WayForPay eller monobank, ordrestatus og boter for ansatte, koblet til nettstedet, CRM-systemet og regnskapet deres.
Chatboter for virksomheter, institusjoner og veldedige organisasjoner
Chatboter for support, booking, bestillinger, måleravlesninger, opptak, offentlige tjenester og veldedige organisasjoner, i Telegram, Viber, WhatsApp, Facebook Messenger, Instagram og på nettstedet deres, bygget på SendPulse, Botpress eller Copilot Studio eller i kode.
Integrasjoner med ukrainske tjenester
Nettstedet, nettbutikken eller CRM-systemet deres koblet til Nova Poshta, Ukrposhta, LiqPay, monobank, PrivatBank, Checkbox, Vchasno, Paperless, Prom.ua, Rozetka, KeyCRM og Prozorro API, uten å taste inn data på nytt.
CRM-utvikling
CRM-systemer som settes opp, utvides eller bygges for prosessen deres: KeyCRM, SalesDrive, HubSpot, Pipedrive, Salesforce, Dynamics 365 eller et eget CRM, med integrasjoner og automatiserte rutineoppgaver.
Spørsmål om modernisering av eldre systemer
Bør vi skrive om eller modernisere?
Som regel modernisere. En omskriving gir mening for en modul hvis oppførsel er godt forstått og hvis kode blokkerer hver endring. For resten gir trinnvise oppgraderinger og erstatning etter strangler fig-mønsteret verdi raskere og beholder kunnskapen som ligger i den gamle koden. Gjennomgangen gir dere den beslutningen per modul, skriftlig.
De opprinnelige utviklerne våre har sluttet. Kan dere likevel overta systemet?
Ja. Vi jobber ut fra koden, databasen, utrullingen og menneskene som fortsatt bruker systemet, og den skriftlige risikolisten forteller dere hva vi fant før dere bestemmer hva som skal endres.
Fortsetter det gamle systemet å kjøre mens det moderniseres?
Ja. Rettinger og sikkerhetsoppdateringer fortsetter på det levende systemet hele veien, og hvert moderniseringssteg utgis for seg, så det er aldri en periode da virksomheten venter på den nye versjonen.
Hvor raskt kan utviklere for eldre systemer starte?
Når rett moderniseringsutvikler er tilgjengelig, avhenger starten bare av intervjuet deres, NDA-en og IP-overdragelsen. Ellers gjennomfører vi et søk, som vanligvis gir kandidatprofiler innen to til tre uker, og ingen starter før dere har sagt ja.
Hvordan leier vi inn utviklere for eldre systemer gjennom BigTree108?
Fortell oss om arbeidet, erfaringsnivået og timene dere trenger. Vi foreslår én eller to personer med profilene deres, dere intervjuer dem slik dere ville intervjuet en egen ansatt, og dere signerer én avtale med BIG TREE 108 LLC og får én faktura i måneden.
Hvem eier arbeidet de leverer?
Det gjør dere. Hver spesialist har en signert kontrakt med BigTree108 som overdrar alt arbeidsresultat til selskapet, og avtalen vår med dere overdrar det videre til dere. Kode, design og dokumenter leveres inn i deres egne repositorier og verktøy, og oppbevares ikke der bare vi kan endre dem.
Kjører dere et system ingen vil røre?
Send kodelageret eller en beskrivelse av systemet. Dere får svar innen én virkedag: en plan for gjennomgangen og de første stegene etter den.