Naar de inhoud
BigTree108

Modernisering van legacysoftware

Modernisering van legacysoftware voor systemen die het bedrijf nog draaien maar het vertragen: overnames van code die andere teams hebben geschreven, upgrades naar actuele releases en stapsgewijze vervanging van oude modules, zonder big-bangherschrijving. Negen systemen zijn tot nu toe van andere teams bij ons terechtgekomen, het oudste geschreven in 2008.

Hoe wij een legacysysteem moderniseren

  • Eerst een review met alleen leestoegang

    De code, de afhankelijkheden, de uitrol en de gegevens van begin tot eind gelezen voordat iemand een regel wijzigt, met een schriftelijke lijst van risico’s in volgorde van impact op productie.

  • Tests rond wat er bestaat

    Karakteriseringstests die vastpinnen wat het systeem nu doet, eigenaardigheden inbegrepen, zodat elke latere wijziging wordt getoetst aan echt gedrag en niet aan het geheugen.

  • Upgrades van frameworks en runtimes

    .NET Framework naar actuele .NET, Java 8 naar een actuele LTS, PHP 5 naar PHP 8, Python 2 naar 3 en AngularJS naar Angular, telkens één stap, elke stap afzonderlijk uitgebracht.

  • Vervanging volgens het strangler-fig-patroon

    Nieuwe modules gebouwd naast het oude systeem achter een routeringslaag, die één functie tegelijk overnemen tot de oude code kan worden uitgezet, zonder één dag waarop alles verandert.

  • Databasemodernisering

    Bedrijfslogica verplaatst uit stored procedures naar geteste code, schemawijzigingen omgezet in versiebeheerde migraties en gegevens op niet-ondersteunde databaseversies verplaatst met een afstemmingsrapport.

  • Beveiligingsschuld afgelost

    Niet-ondersteunde afhankelijkheden vervangen, bekende kwetsbaarheden verholpen, geheimen verplaatst uit configuratiebestanden naar een kluis en afhankelijkheidsscanning in de pijplijn zodat de schuld niet terugkomt.

engineers voor legacysystemen inhuren

  • Dedicated engineers voor legacysystemen

    Engineers voor legacysystemen die fulltime bij uw team komen, in uw tools en volgens uw proces werken en aan uw lead rapporteren. U interviewt hen; wij dragen het Oekraïense contract, de salarisadministratie, de facturatie en het verlof.

  • Projecten voor Modernisering

    Een afgebakend project voor modernisering met een scope, een vast plan en een vaste lead aan onze kant die het resultaat bewaakt en de voortgang in uw kanalen rapporteert.

  • modernisering als doorlopende dienst

    Doorlopend Modernisering: elke maand dezelfde mensen, een backlog waarvan u de prioriteiten bepaalt, en uren die u in ons portaal en op de factuur kunt zien.

De pagina dedicated team legt uit hoe specialisten bij uw team komen, en de pagina outsourcing behandelt projectoplevering, overnames en hoe wij rekenen.

Wie zich met uw modernisering bezighoudt

  • Technisch leider

    Beheert de review, de risicolijst en de volgorde van het werk

  • .NET-, Java- en PHP-engineers

    Upgrades en refactoring in de eigen taal van het systeem

  • Cloud- en DevOps-engineers

    Pijplijnen, infrastructure as code en de verhuizing van oude servers

  • QA-engineers

    Karakteriserings- en regressietests

Moderniseren in stappen, niet met één herschrijving

Een volledige herschrijving legt de oplevering maandenlang stil en verliest meestal gedrag dat niemand heeft opgeschreven. Wij moderniseren daarom in stappen: elk klein genoeg om uit te brengen, getest tegen wat het systeem eerder deed en gekozen op het risico of de kosten die het wegneemt, zodat het bedrijf op het systeem blijft draaien terwijl het verandert.

Een overname begint met een review met alleen leestoegang en een schriftelijke lijst van risico’s vóór enige oplossing. Soms laat die lijst zien dat een module beter kan worden herschreven, en dan zeggen wij dat, met de redenen schriftelijk en de herschrijving gepland achter dezelfde tests.

Andere oplossingen die wij leveren

Overzicht van Oplossingen

Vragen over modernisering van legacysystemen

Moeten wij herschrijven of moderniseren?

Meestal moderniseren. Een herschrijving is zinvol voor een module waarvan het gedrag goed wordt begrepen en waarvan de code elke wijziging blokkeert; voor de rest leveren incrementele upgrades en vervanging volgens het strangler-fig-patroon sneller waarde op en behouden ze de kennis die in de oude code zit. De review geeft u die beslissing per module, schriftelijk.

Onze oorspronkelijke ontwikkelaars zijn vertrokken. Kunt u het systeem nog steeds overnemen?

Ja. Wij werken vanuit de code, de database, de uitrol en de mensen die het systeem nog gebruiken, en de schriftelijke risicolijst vertelt u wat wij hebben gevonden voordat u beslist wat u wijzigt.

Blijft het oude systeem draaien terwijl het wordt gemoderniseerd?

Ja. Oplossingen en beveiligingspatches gaan gedurende de hele tijd door op het live systeem en elke moderniseringsstap wordt afzonderlijk uitgebracht, zodat het bedrijf nooit een periode op de nieuwe versie hoeft te wachten.

Hoe snel kunnen engineers voor legacysystemen beginnen?

Als de juiste moderniseringsengineer beschikbaar is, hangt de start alleen af van uw interview en de NDA en IP-overdracht. Anders voeren wij een zoektocht uit, die doorgaans binnen twee tot drie weken kandidaatprofielen oplevert, en niemand begint voordat u ja hebt gezegd.

Hoe huren we engineers voor legacysystemen in via BigTree108?

Vertel ons over het werk, het senioriteitsniveau en de uren die u nodig hebt. Wij stellen een of twee mensen voor met hun profielen, u interviewt hen zoals u uw eigen medewerker zou interviewen, en u tekent één overeenkomst met BIG TREE 108 LLC en ontvangt één factuur per maand.

Wie is eigenaar van het werk dat zij opleveren?

U. Elke specialist heeft een getekend contract met BigTree108 dat alle werkresultaten aan het bedrijf toewijst, en onze overeenkomst met u draagt ze verder aan u over. Code, ontwerpen en documenten worden geleverd in uw eigen repositories en tools, en niet bewaard op een plek waar alleen wij ze kunnen wijzigen.

Draait u een systeem waar niemand aan wil komen?

Stuur de repository of een beschrijving van het systeem. Binnen één werkdag hebt u antwoord: een plan voor de review en de eerste stappen daarna.