Proiectare de aplicatii online: pe ce ne focusam?
Atunci cand proiectam o aplicatie online ne punem mai multe intrebari, cum ar fi:
- cat de flexibila va fi aplicatia pe care o proiectam?
- cat de repede trebuie dezvoltata?
- pentru ce nivel de performanta trebuie sa proiectam?
- cat de corect va fi “scrisa” aplicatia respectiva?
Intr-o lume perfecta ar trebui sa proiectam aplicatia in asa fel incat sa ofere un maxim de performanta la un maxim de flexibilitate, sa fie dezvoltata foarta repede si foarte bine documentata.
Din pacate nu traim intr-o lume perfecta si, in cazul acesta, trebuie sa ne focusam in principal pe unul dintre cele patru aspecte descrise mai sus.
Focus pe flexibilitate
Cand alegem: atunci cand stim ca aplicatia pe care o proiectam va evolua in timp si noi versiuni vor aparea la intervale scurte de timp trebuie sa ne focusam pe flexibilitate; o investitie mai mare de timp la inceput ne poate salva de probleme mai tarziu
Plusuri: dezvoltarile ulterioare se fac mult mai usor
Minusuri: timpul de proiectare si dezvoltare creste semnificativ
Focus pe viteza de implementare
Cand alegem: atunci cand termenul de livrare este intangibil si avem o perioada scurta de dezvoltare pentru un volum mare de functionalitati de implementat
Plusuri: putem livra destul de repede o versiune initiala a aplicatiei
Minusuri: dupa lansarea primei versiuni trebuie sa se revina pe cod si, in unele cazuri, trebuie revizuite module intregi ale aplicatiei
Focus pe performanta
Cand alegem: atunci cand stim ca aplicatia pe care o proiectam va avea componente care necesita un nivel ridicat de performanta (cautari, livrare de continut, etc)
Plusuri: obtinem o aplicatie performanta ce poate sustine orice incarcare
Minusuri: durata initiala de dezvoltare creste
Focus pe “corectitudine“
Cand alegem: atunci cand aplicatia va fi dezvoltata de catre o echipa mare
Plusuri: avem o aplicatie care respecta standardele si este bine documentata, timpul de adaptare al unui nou programator la aplicatia dezvoltata este destul de scurt
Minusuri: durata de dezvoltare este ridicata
Eu va propun insa o solutie un pic diferita, aceea de multi focus prin acoperirea minimului necesar per release.
Notiunea de minim necesar per release inseamna focusarea pe toate cele patru aspecte descrise mai sus intr-o asa masura incat, in momentul in facem un release al aplicatiei, sa avem o aplicatie care sa poata raspunde rezonabil la oricare din cele patru intrebari.
In functie de specificul proiectului anumite aspecte vor primi o prioritate mai mare si altele o prioritate mai mica, dar niciodata sub 10% sau mai mult de 50%.
Pentru ca succesul procesului de dezvoltare sa fie asigurat trebuie sa tinem cont de un nou aspect care tine mai mult de oameni decat de procesul de proiectare: adaptabilitatea.
Adaptabilitatea in cadrul proiectului se traduce prin:
- aspectul flexibilitate sa primeasca o prioritate mai mare decat celalalte trei dar nu prea mare [proiectare]
- echipa de dezvoltare sa fie pregatita si dispusa sa se adapteze la schimbari din mers [oameni]
Asa cum am spus si in alte dati, nu exista solutii perfecte si general valabile, exista doar idei generale care, particularizate la nevoile specifice ale unui proiect, au functionat sau vor functiona.





No comments yet.