Saturday, December 2, 2017

Reingineria

Despre reingineria se vorbește foarte mult dar nu-mi amintesc să fi văzut aplicații informatice de anvergură care să fi traversat un proces de reinginerie. Probabil aplicația de salarii de acum va traversa acest proces, deși tare îmi este teamă că mulți se vor apuca s-o ia de la zero, pentru că:
- varianta de dinainte are o tehnologie vetustă;
- documentația este incompletă;
- cei ce au realizat-o nu mai lucrează în companie;
- stilul de programare este diferit de ceea ce e acum;
- există bani pentru a face un nou produs software;
- noua soluție ca încorpora cu siguranță tehnologii din 2015.
Prin decembrie 2014 a venit la mine un prieten și mi-a zis că cel mai tare site este cel unde se ajunge la informație în două click-uri. Pe site ionivan.ro se ajungea foarte diferit, dar erau și cazuri în care se ajungea și prin 4 click-uri. Atunci mi-a bubuit prin cap ideia să dezvolt și eu un proces de reinginerie. Drept care:
- am făcut un inventar al fișierelor;
- am analizat tipologiile de fișiere;
- am gândit o strategie de lucru;
- a stabilit o interfață;
- am adoptat ideia celor două click-uri;
- m-am pus pe treabă;
- a 1 ianuarie 2015 am inaugurat;
- totul este  rezultatul reingineriei.
M-am apucat de treabă și mi-am dat seama că socoteala de acasă nu se potrivea deloc cu cea din târg. Eu estimasem ce trebuie să fac și anume:
- să scriu componente cap-coadă;
- să preiau componente vechi așa cum sunt;
- să modific componente pentru a face noi legături;
- să redefinesc sistemul de foldere;
- să refolosesc șișuiere din folderele vechi;
- să las și vechea aplicație cât mai mult operațională.
Faptul că am învățat să iau totul gradual, m-am înarmat cu:
- voință. 
- răbdare,
- putere,
- speranță,
- autoexigență
și am desfășurat activități acre să-mi permită lansarea aplicației supusă procesului de reinginerie fix pe 01.01.2015, lucru care s-a și întâmplat așa. Nu a fost ușor, dar mi-am făcut notițe în detaliu, mi-am desenat arborescența și am revăzut totul cum era înainte de reinginerie. Am pus fișierul index de lucru într-un loc secret și am mers cu construirea sa din aproape în aproape. Au rezultat nițte foldere noi, dar nu le-am distrus pe cele vechi. Am preluat gradual din folderele vechi fișiere existente efectuând mici modificări pentru a le lega de noua structură care nu trebuie sa aibă decât trei niveluri. 
Din start am lucrat ăn mediul real și experiența acumulată mi-a dictat să nu merg mai departe decât numai dacă ceea ce am făcut rezista testelor. Zic că am rezolvat problema în proporție de 90% căci în noua versiune nu am înccorporat tot ceea ce era în vechea formulă a aplicației. Oricum am avut patru versiuni și cine vrea are acces la două. Eu am acces la toate patru.
reingineria a fost o experiență. Oricum mi-a dovedit că dacă componentele nu au uzură morală și sunt corect construite, cu mici modificări se încorporează fără vreo dificultate în noua aplicație, care oricum va părea cât de cât nouă, dar va păstra mirosul de vechi, nu de vechituri.
Reingineria este un proces în care intră cu mult sub 5% dintre produsele software aflate în uz la un moment dat. Sunt situații în care pentru dezvoltator nu este rentabilă reinginerie  câtuți de puțin. Sunt situații în care însă reingineria este vitală dacă fișierele se preiau în proporție de peste 40% fără nicio modificare. Alte fișiere necesită în proporție de 30% mici modificări și numai cel mult 40% sunt componente noi, dar sunt componente fundamentale, care dau filosofia noii aplicații.







(29 noiembrie 2017)

No comments:

Post a Comment