MONOLITH LAW OFFICE+81-3-6262-3248Zilele săptămânii 10:00-18:00 JST[English Only]

MONOLITH LAW MAGAZINE

IT

Ce sunt avantajele și dezavantajele legale pentru fiecare model de dezvoltare a sistemelor?

IT

Ce sunt avantajele și dezavantajele legale pentru fiecare model de dezvoltare a sistemelor?

Există o metodologie specifică pentru a avansa în proiectele de dezvoltare a sistemelor. De obicei, când învățăm despre problemele legale legate de dezvoltarea sistemelor din cărți și alte surse, se presupune adesea că ne bazăm pe modelul Waterfall, cea mai clasică metodă. Cu toate acestea, modelul Waterfall nu este singura metodologie sau model pentru a avansa în dezvoltarea sistemelor. De exemplu, în ultima vreme, metoda de dezvoltare Agile este tot mai des aleasă.

Acest articol va explica și compara cele două metode, modelul Waterfall și modelul de dezvoltare Agile, din perspectiva prevenirii riscurilor legale și a conflictelor.

Ce este un model de dezvoltare?

Ce este modelul Waterfall?

Ce este un model de dezvoltare în cadrul dezvoltării de sisteme?

Cea mai comună și clasică metodă de dezvoltare a sistemelor este următoarea:

  • Definirea cerințelor: identificarea funcțiilor pe care sistemul pe care urmează să îl creăm ar trebui să le aibă și a specificațiilor necesare
  • Proiectare de bază: proiectarea imaginii generale a sistemului din perspectiva utilizatorului, inclusiv designul ecranului și tranzitul ecranului
  • Proiectare detaliată: proiectarea imaginii generale a sistemului din perspectiva dezvoltatorului, inclusiv conexiunile între fișierele de program
  • Implementare programare: codificarea programului conform specificațiilor
  • Testare: verificarea dacă produsul final respectă specificațiile și solicitarea de confirmare de la utilizator

Această metodă de dezvoltare, care avansează într-o manieră similară cu fluxul unui râu, de la amonte la aval, fără a permite întoarceri sau schimbări de ordine, este cunoscută sub numele de “modelul Waterfall”. Acest flux nu este esențial pentru crearea unui sistem funcțional. Cu toate acestea, în dezvoltarea de sisteme, care adesea implică un număr mare de persoane și o perioadă lungă de timp, planificarea este crucială. Prin urmare, este important să se acorde atenție și la divizarea fiecărei etape, clarificarea rolurilor și definirea clară a responsabilităților fiecărei persoane responsabile.

Ce este modelul de dezvoltare Agile?

Pe de altă parte, modul în care se desfășoară activitățile de dezvoltare nu este întotdeauna cel mai potrivit pentru a fi realizat într-o manieră “de la amonte la aval”. Desigur, din cauza naturii muncii, planificarea și tehnica de estimare sunt importante, dar nu este nevoie să le menționăm. Cu toate acestea, în multe cazuri, este imposibil să se elaboreze un plan perfect de la început, mai ales când este vorba de crearea de lucruri sau opere noi. Dacă se acordă importanță acestor aspecte, ar trebui să existe și o abordare care să pună accent pe nu doar pe urmarea unui plan stabilit, ci și pe capacitatea de a răspunde cu flexibilitate la modificările și corecțiile ulterioare ale specificațiilor, precum și pe creșterea numărului de încercări și erori. Această abordare este reflectată în “modelul de dezvoltare Agile”. În modelul de dezvoltare Agile, se obișnuiește să se evite cât mai mult posibil efortul de a pregăti planuri detaliate și specificații, să se implementeze programe foarte mici și să se repete testarea, transformând treptat într-un program sau sistem mai mare.

Modelul Waterfall facilitează învățarea problemelor legale

Înainte de a compara cele două modele de dezvoltare, vom discuta despre ușurința colectării informațiilor și învățarea legilor asociate cu fiecare model de dezvoltare.

Marea majoritate a cărților de referință sunt scrise pe baza modelului Waterfall

Când încercați să studiați problemele legale asociate cu dezvoltarea de sisteme sau să învățați cunoștințe juridice, modelul Waterfall este mai ușor de colectat informații. Majoritatea cărților juridice care discută despre dezvoltarea de sisteme sunt scrise pe baza modelului Waterfall. Deoarece dezvoltarea clasică și generală a sistemelor se realizează conform modelului Waterfall, dezvoltarea Agile este adesea doar o adăugire și este adesea doar menționată în treacăt. Prin urmare, când încercați să obțineți informații despre problemele legale asociate cu dezvoltarea de sisteme din cărți, este mai ușor să avansați cu învățarea folosind modelul Waterfall.

Modelul Waterfall are multe exemple de cazuri judecate

De asemenea, deoarece modelul Waterfall este o metodă clasică și generală de dezvoltare a sistemelor, există multe exemple de cazuri de conflict care s-au întâmplat în trecut. În discuțiile juridice, cunoașterea cazurilor judecate în trecut este la fel de importantă ca și textul legii. Chiar și în cazurile în care nu se poate spune dacă textul legii este “alb” sau “negru” doar prin interpretarea textului, există cazuri în care se pot completa conținutul legii prin obținerea de cunoștințe din cazurile judecate în trecut.

Chiar dacă nu este o lege explicită, acumularea de decizii pe care instanțele le-au arătat poate fi stabilită ca un standard de judecată, la fel ca textul legii. Acestea sunt cunoscute sub numele de “teoria legală a cazurilor judecate”. Chiar dacă este un conflict necunoscut, este relativ ușor să prezici cum se va rezolva conflictul final dacă există deja o acumulare de teorii legale ale cazurilor judecate în domeniul respectiv. În acest sens, dezvoltarea de sisteme bazată pe modelul Waterfall are multe avantaje.

Avantajele fiecărei metode de dezvoltare

Care sunt avantajele și dezavantajele fiecărei metode în modelul Waterfall și dezvoltarea Agile?

Ținând cont de conținutul de mai sus, vom organiza avantajele și dezavantajele fiecărei metode, comparându-le. Prima parte se concentrează pe organizarea avantajelor modelului Waterfall, iar pe măsură ce coborâm, avantajele dezvoltării Agile devin mai ușor de înțeles.

Compararea în funcție de planificare și previzibilitate

În ceea ce privește planificarea și previzibilitatea, putem spune că modelul Waterfall este superior. Indiferent de cât de mare este sistemul care urmează a fi creat, acesta va fi întotdeauna divizat în etape care se desfășoară într-o ordine ‘de la amonte la aval’. Dacă se stabilește un termen limită pentru fiecare etapă, progresul acestora poate fi gestionat într-un mod relativ planificat.

Pe de altă parte, dezvoltarea Agile este o metodă care nu alocă prea multe costuri sau eforturi pentru planificarea inițială sau concepția generală, ceea ce poate duce la o abordare ad-hoc.

Compararea în funcție de claritatea rolurilor și a domeniilor de responsabilitate ale fiecăruia

De asemenea, în modelul Waterfall, datorită faptului că fiecare etapă este divizată în detaliu, există avantajul că rolul fiecărui membru al proiectului poate fi clarificat.

Pe de altă parte, în dezvoltarea Agile, deoarece diviziunea etapelor tinde să fie vagă, există o tendință ca și aspecte precum cine este responsabil pentru probleme neprevăzute să devină vagi.

Compararea ușurinței dezvoltării la scară largă

Modelul Waterfall, care se distinge prin planificare și clarificarea rolurilor, devine mai avantajos pe măsură ce dezvoltarea la scară largă crește. Chiar și atunci când se organizează un număr mare de personal, dacă se subdivide procesul și se promovează specializarea, costurile asociate cu ajustarea relațiilor umane pot fi reduse.

Pe de altă parte, se consideră că modelul de dezvoltare Agile nu este foarte potrivit pentru dezvoltarea la scară largă. Fiind o abordare care pune accentul pe viteza de începere mai mult decât pe planificare și clarificarea rolurilor, este dificil de aplicat în situații în care există îngrijorări cu privire la decalajele finale de livrare.

Compararea vitezei și eficienței

Dezvoltarea Agile începe mai repede

În ceea ce privește viteza de la momentul în care utilizatorul are o cerere de funcționalitate până când aceasta este implementată, modelul de dezvoltare Agile este superior. Acest lucru se datorează faptului că, în modelul Waterfall, este obișnuit ca responsabilii pentru etapele de amonte și de aval să fie clar separați, ceea ce duce adesea la o comunicare mai dificilă în cadrul furnizorului. Această dificultate de comunicare poate duce la o vulnerabilitate la cererile de modificare a specificațiilor după fapt.

Pe de altă parte, modelul de dezvoltare Agile permite începerea și implementarea cu o viteză mai mare, fără a avea nevoie de un intermediar. Acest lucru este strâns legat de cel mai mare avantaj al modelului de dezvoltare Agile, care este capacitatea de a răspunde cu ușurință la modificările de specificații după fapt. Cu toate acestea, chiar și în cazul modelului de dezvoltare Agile, dacă se răspunde în mod continuu și necontrolat la cererile de modificare a specificațiilor și de dezvoltare suplimentară, acest lucru poate duce la un risc de “incendiere” a proiectului. În acest sens, cheia succesului în dezvoltarea de sisteme prin modelul de dezvoltare Agile este modul în care se gestionează “managementul schimbărilor”. O explicație detaliată a managementului schimbărilor este prezentată în articolul de mai jos.

https://monolith.law/corporate/howto-manage-change-in-system-development[ja]

Modelul Waterfall este mai puțin probabil să se oprească în mijloc

Pe de altă parte, în comparația din punctul de vedere al vitezei și eficienței, este important să se ia în considerare și pe termen lung. În cazul în care se ia în considerare riscul ca proiectul să se “incendieze” în mijloc și să nu mai progreseze, modelul Waterfall este superior. Cel mai mare risc care poate duce la oprirea proiectului în mijloc este lipsa de comunicare între utilizator și furnizor. Modelul Waterfall, care facilitează clarificarea rolurilor ambelor părți, are un avantaj în acest sens.

Dezvoltarea Agile este mai ușor de avansat în etapa de acceptare

Însă, din punctul de vedere al ușurinței de a avansa în etapa de acceptare, modelul de dezvoltare Agile are un ușor avantaj. Acest lucru se datorează faptului că se presupune că utilizatorul și furnizorul vor împărtăși informații în detaliu chiar și în timpul dezvoltării sistemului. Acest lucru poate reduce riscul ca discrepanțele de percepție între cele două părți să devină evidente odată ce produsul final este terminat. De asemenea, o explicație detaliată a etapei de acceptare a dezvoltării sistemului și a problemelor legale asociate este prezentată în articolul de mai jos.

https://monolith.law/corporate/estimated-inspection-of-system-development[ja]

Concluzie

Comparând în acest fel, putem concluziona că modelul Waterfall este în general mai eficient pentru o gestionare riguroasă, în timp ce modelul de dezvoltare Agile pune accentul pe rapiditatea de a începe și de a executa. De asemenea, pentru problemele legale asociate cu dezvoltarea de sisteme bazate pe modelul de dezvoltare Agile, vă rugăm să consultați articolul detaliat de mai jos.

https://monolith.law/corporate/legal-and-contract-issues-of-agile-development[ja]

Alegerea modelului de dezvoltare potrivit nu ar trebui să se bazeze doar pe aspecte legale, ci și pe o evaluare cuprinzătoare care ia în considerare dimensiunea proiectului, bugetul și obiectivele.

Managing Attorney: Toki Kawase

The Editor in Chief: Managing Attorney: Toki Kawase

An expert in IT-related legal affairs in Japan who established MONOLITH LAW OFFICE and serves as its managing attorney. Formerly an IT engineer, he has been involved in the management of IT companies. Served as legal counsel to more than 100 companies, ranging from top-tier organizations to seed-stage Startups.

Category: IT

Tag:

?napoi la ?nceput