Un ghid complet despre strategiile de migrare a tehnologiei: (Partea 1 – Introducere)
Publicat: 2020-12-23Cu noile tehnologii care evoluează în fiecare zi, tehnologiile vechi devin învechite. A devenit necesar ca fiecare companie să rămână actualizată pentru a supraviețui pe piața actuală. Orice companie care oferă diverse servicii și platforme utilizatorilor săi trebuie să fie pregătită să facă față tehnologiilor zilnice de actualizare. În astfel de momente, migrația intră în vedere. O companie poate oricând să migreze către o platformă nouă și mai bună. Acum, s-ar putea crede că ce este migrația? Răspunsul este scurt și puțin complex în același timp. Migrația este un termen foarte simplu pentru mugglei non-tech de acolo, ceea ce înseamnă migrarea dintr-un loc în altul. Dar când vine vorba de vrăjitorii de tehnologie ca noi, are un înțeles ușor diferit. Deci, să facem primul pas și să înțelegem migrația în termeni tehnici. Migrarea înseamnă trecerea de la platforma actuală la o altă platformă. În majoritatea cazurilor, migrarea are loc către o platformă mai bună, deoarece oferă un mediu de lucru și o experiență de utilizare mai bune. Uneori, problemele de securitate pot duce și la migrare. Există multe tipuri de migrare și iată câteva dintre cele mai discutate subiecte despre migrare despre care ați putea dori să știți:
- Migrația tehnologiei
- Migrarea tehnologiei front-end
- Migrarea tehnologiei de backend
- Migrarea site-ului web creat de CMS
- Migrarea bazei de date
- Migrare domeniu și server de găzduire
Migrația în termeni tehnici este un subiect mult mai larg decât vă puteți imagina vreodată. Este puțin dificil să acoperiți toate subiectele de migrare și tipurile sale într-un singur blog. Prin urmare, acest subiect este împărțit în diferite părți, explicând importanța migrației împreună cu tipurile acesteia. Le puteți citi pe blogurile viitoare.
Migrarea este o sarcină esențială și dacă întrebări precum când să migrați, cum să migrați, definirea domeniului de aplicare a migrației etc. vă deranjează, atunci poate doriți să continuați să citiți acest blog pentru a vă limpezi mințile.
De ce este nevoie de migrație?
- Când tehnologia dvs. actuală la care ați lucrat atât de mult timp, nu mai este capabilă să răspundă așteptărilor cerințelor dvs. de afaceri.
- Când tehnologia devine învechită și suportul furnizorului nu este disponibil și pentru versiunea învechită.
- Când clienții tăi sunt importanți pentru tine și trebuie să fii în fruntea domeniului tău.
- Când nu mai doriți costul uriaș de licențiere al stivei actuale, trecând la o platformă open source.

În acel moment, migrația va fi cea mai bună opțiune. Migrația este un proces complex și necesită multă planificare.
Primul pas către procesul de migrare este că trebuie să stabiliți niște definiții și reguli de bază care să poată desfășura procesul de migrare fără probleme. În funcție de cerințele proiectului:
- În primul rând, trebuie să analizați starea actuală a proiectului sau a aplicației dvs. care trebuie migrată.
- Veți pregăti o foaie de parcurs cu riscurile calculate și posibilele soluții care pot apărea în timpul migrării.
- Trebuie să selectați o tehnologie adecvată care să îndeplinească toate cerințele proiectului.
- În continuare, veți avea nevoie de un plan adecvat pentru a executa procesul de migrare
- În cele din urmă, când procesul de migrare este finalizat, verificați dacă aplicația funcționează conform așteptărilor pe noua platformă sau nu.

Există câteva puncte pe care trebuie să le țineți cont înainte de a trece mai departe cu faza de planificare a migrației.
- Decideți un buget de proiect și un calendar înainte de faza de planificare a migrației, în funcție de problema afacerii.
- Decideți un model de funcționare, cum ar fi stabilirea de taxe orare sau taxe săptămânale pentru orice client nou care dorește să migreze de la orice sistem existent la cel nou. Există câteva zone gri pe care le vom discuta în viitoarea serie de bloguri și pot fi întâlnite doar atunci când o nouă echipă de dezvoltare își începe munca. Migrația nu poate fi tratată cu un job estimativ fix pentru nicio echipă nouă.
- Dacă clientul este o persoană netehnică, atunci este întotdeauna recomandat să aveți un contract semnat care să precizeze sfera migrației înainte de faza de planificare a migrării sau clientul poate, de asemenea, să angajeze un manager de proiect contractual care poate lua legătura cu echipa de dezvoltare.
Definiți domeniul de aplicare al migrației
Pentru orice echipă de dezvoltatori care lucrează la proiectul de migrare și care nu cunoaște sistemul actual, clientul ar trebui să petreacă timp cu noua echipă pentru a se asigura că echipa înțelege fluxul sistemului. Noua echipă trebuie să ia suficient timp pentru a analiza sistemul existent și pentru a veni cu un plan de migrare. Între timp, clientul poate ridica oricând care sunt problemele de afaceri cu care se confruntă cu sistemul actual.
Pentru a defini domeniul de aplicare al unui proiect, clientul trebuie să împărtășească o cerință detaliată a proiectului pentru a finaliza cu succes migrarea. Dezvoltatorii și clientul trebuie să fie pe aceeași pagină cu planul de migrare și trebuie să existe o discuție adecvată asupra tuturor aspectelor migrației pentru a-l proteja de toate problemele viitoare.
Uneori, se poate întâmpla ca echipa de dezvoltare să nu creeze documentație detaliată a logicii de afaceri mapate în tehnologia backend. Dacă migrarea este făcută de aceeași echipă, atunci nu va crea nicio problemă majoră, dar când migrarea este făcută de o nouă echipă, documentația este cu adevărat importantă. Prin urmare, este foarte recomandat să aveți o documentație detaliată a logicii de afaceri.

Asigurați-vă că menționați în mod clar în documentul dvs. de aplicare că orice fel de muncă în afara domeniului de aplicare inițial va fi considerată muncă suplimentară și va fi supusă taxei premium, inclusiv bugetul inițial. Acest lucru vă va ajuta să preveniți posibilele deformari ale Scope care pot apărea în viitor.
Cum să-i satisfaci pe Scope Creeps?
Înainte de a înțelege modul în care se utilizează Scope Creeps, permiteți-mi să vă spun despre termenul Scope Creep și despre modul în care acesta afectează echipa de dezvoltare. Scope Creep este rezultatul schimbării cerințelor tehnice care sunt introduse în proiect fără extinderea cronologiei sau creșterea bugetului proiectului.

Există multe motive care duc la scăderi în domeniul de aplicare și unele dintre motivele foarte comune sunt enumerate mai jos pentru a evita aceste frământări în migrarea proiectului.
- Înțelegerea greșită a cerințelor proiectului este unul dintre cele mai frecvente motive din spatele scăderii domeniului de aplicare care creează probleme dezvoltatorilor în fazele ulterioare ale migrației.
- Evitați capcanele, cum ar fi feedback-ul frecvent din partea utilizatorului final. Nu are rost să distrați toate punctele de feedback. Dar nu este ca și cum nu primiți deloc feedback. Selectați doar pe cele mai repetitive și de-a lungul timpului.
- Acceptarea tuturor cererilor de schimbare poate ajuta la construirea unei relații pozitive la început, dar va sfârși în nemulțumirea clientului față de proiect. Așadar, înainte de a accepta un feedback sau o solicitare de modificare, trebuie doar să vă asigurați de prioritatea și urgența acesteia și să informați clientul final despre impactul asupra eforturilor.
- Există nenumărați alți factori care influențează domeniul de aplicare al proiectului, care nu este sub controlul dvs., cum ar fi noi caracteristici adăugate la tehnologia existentă, schimbări economice pe piață, urgențe personale etc., așa că este mai bine să vă pregătiți pentru aceste posibilități.
Acum că ați înțeles termenul Scope Creep și cunoașteți posibilele cauze care se termină, un lucru este clar că planul preventiv este cel mai bun mod posibil de a evita orice scăpări în scopul proiectului dvs. de migrare. Indiferent de toată planificarea pe care ați făcut-o, nu există nicio modalitate posibilă prin care vă puteți asuma cu acuratețe fiecare solicitare viitoare de modificare a caracteristicilor în cerințele proiectului dumneavoastră. În astfel de momente, documentația pentru domeniul de migrare vă poate salva.
Selectarea stivei de tehnologie
În calitate de dezvoltator, există multe opțiuni prezente în fața ta, cum ar fi MongoDB la MySQL, AngularJS pentru React, MEAN stack la LAMP stack și servere de găzduire în cloud precum Amazon AWS la servere de self hosting precum Apache. Aceste opțiuni pot deruta pe oricine. Deci, este responsabilitatea dezvoltatorului să selecteze o stivă de tehnologie planificată pentru migrare. De asemenea, trebuie să fii pregătit pentru orice nevoie viitoare.
În cazul în care, dacă doriți să selectați platforma de migrare și nu înțelegeți clar cerințele pentru noua platformă, atunci există o opțiune prin care puteți angaja un Architect Solution care are experiență și a lucrat în sisteme complexe. În mod ideal, ar fi o consultanță terță parte, astfel încât fiecare client poate angaja Arhitectul de soluții pe cont propriu sau poate plăti companiei în curs de dezvoltare. Aceasta ar trebui să fie negociată și convenită asupra sarcinii care ar trebui făcută înainte de planificarea fazei de migrare.

Trebuie să vă asigurați că funcțiile noii platforme sunt încercate și testate. Cu siguranță, nu doriți să fiți primul care știe despre dezavantajele și capcanele noii platforme. Trebuie să vă asigurați că toate datele sunt păstrate în siguranță și că alte funcții nu necesită multe modificări după migrarea pe o nouă platformă. Migrația este un proces complex, dar dacă este făcută corect, poate da un nou început vechii tehnologii depășite.
Asigurați-vă că verificați dacă sistemul actual are DevOps sau nu. DevOps ajută la scurtarea ciclului de viață al dezvoltării sistemului și oferă livrare continuă. Dacă sistemul actual utilizează deja aceste instrumente, atunci puteți alege versiunea actualizată sau puteți continua cu aceeași. Este întotdeauna recomandat să utilizați un fel de instrumente CI/CD, deoarece procesul de migrare este puțin ușor și sistematic pentru dezvoltatori. De asemenea, echipa de dezvoltare ar trebui să urmeze o revizuire strictă a codului și o abordare push de cod, de ex. Modelul GitFlow sau GitHubFlow.
După ce aveți cerințele proiectului, domeniul de aplicare al migrării și tehnologia, puteți selecta cu ușurință un înlocuitor mai bun pentru platforma dvs. Există diferite tipuri de migrare și înainte de a merge mai departe cu ea, permiteți-mi să clarific un lucru că nu toate migrațiile sunt la fel și fiecare dintre migrații necesită o planificare și execuție adecvată. Migrația și tipurile sale sunt subiecte mult mai ample, așa că există 3 părți diferite în continuare cu acest blog, unde puteți obține informații detaliate despre fiecare migrație. În blogul viitor, vom vorbi despre migrația tehnologiei cu tipurile sale. Așadar, rămâneți pe fază!