Timp de citire: 5 minute
În dezvoltarea de software, premisa de bun, rapid și ieftin este dificil de realizat. Le putem obține pe toate trei? Este posibil să obținem un echilibru? Despre asta vă vom povesti aici.
Mulți dintre noi, cei care lucrăm în industria software, atunci când începem să lucrăm la devize, consultări sau estimări de proiecte, ne-am confruntat cu o necesitate aproape inevitabilă din partea pieței: să dezvoltăm software bun, rapid și ieftin. Este posibil să avem aceste trei variabile în același timp? Este această idee utopică?
Pentru a răspunde la această întrebare și pentru a vedea fezabilitatea acestui postulat, este important ca mai întâi să trecem în revistă două idei cheie.
Ce preț pui pe o entitate intangibilă?
Software-ul este un produs intangibil; nu-l putem vedea și nici nu-i putem cunoaște bunătatea până când nu este terminat. A pune un preț pe o dezvoltare de software este ceva complex (dacă nu cumperi software la pachet în loc de dezvoltare la comandă), nu numai din cauza subiectivității care există a valorii acestuia (bazată pe mai multe criterii), ci și din cauza diferențelor existente cu privire la faptul că proiectul este mai ușor sau mai complex de realizat.
Stimările, un pilon al succesului
Datorită conjuncturii intangibilului, realizarea unei estimări corecte -și cât mai exacte, având în vedere că este o aproximație-, este foarte importantă, astfel încât să fie evitate depășirile de buget și pierderile de timp.
Contenit legat: 10 sfaturi utile pentru estimarea proiectelor software
După cum o estimare bună este baza succesului unui proiect de dezvoltare, nu putem ignora faptul că orice estimare se traduce în ore de muncă. Calitatea profesională a membrilor echipei și experiența acestora sunt direct proporționale cu costul dezvoltării.
În concluzie, știind că estimarea, planificarea și execuția unui proiect sunt realizate de oameni, putem deduce că calitatea și expertiza profesioniștilor influențează costul unui proiect.
Bunul, rapidul și ieftinul
După ce am înțeles că software-ul este o entitate intangibilă al cărei preț este dificil de definit, mai ales dacă nu există o estimare clară, să continuăm să explicăm atributele bunului, rapidului și ieftinului și cum este posibil să le combinăm, dar nu să le avem pe toate trei simultan.
Bun și rapid
Este posibil să faci ceva bun cu viteză. Pentru a realiza acest lucru, este esențial să se facă o estimare bună și apoi să se aibă un plan bun de execuție a proiectului, astfel încât viteza să nu afecteze calitatea rezultatului.
Cheia realizării calității și vitezei stă în oamenii care lucrează la proiect, care trebuie să fie suficient de calificați pentru a aborda proiectul. Amintiți-vă că calitatea profesioniștilor este un factor determinant în ceea ce privește costul.
Atenție, țineți cont de faptul că viteza poate fi contraproductivă pentru productivitate: În teorie, o echipă (și membrii săi) atinge vârful de producție într-un anumit timp și îl menține până la sfârșitul proiectului. Cu cât viteza este mai mare, cu atât mai scurt va fi timpul în care echipa va fi la productivitatea maximă.
La fel, coordonarea va fi, de asemenea, un factor de analizat: Cu cât sunt mai multe persoane care lucrează în paralel, cu atât mai mare este necesară coordonarea (poate că ar trebui adăugate mai multe persoane ca și coordonatori).
Bine și repede se aplică în special pentru proiectele critice sau cheie, unde calitatea produsului trebuie garantată cu orice preț. În aceste cazuri, este necesar să existe echipe cu multă experiență. În acest caz, soluția va fi bună și rapidă, dar și costisitoare.
Rapidă și ieftină
Iată a doua dintre combinațiile noastre cu cele trei variabile: Cel mai simplu mod de a face ceva rapid și ieftin este să faci ceva fără calitate sau, cel puțin, să fii conștient că aceasta poate fi inferioară celei dorite. Am putea sacrifica calitatea până la un punct, atâta timp cât softul nu gestionează informații critice sau nu depinde de o parte sensibilă a organizației.
Pentru efecte de viteză -de vreme ce în viitor calitatea aplicației poate fi îmbunătățită-, este posibil să intrăm în producție cu caracteristicile cheie pentru ca produsul să funcționeze. În aceste cazuri, iată ce se poate face:
- Minimizați calitatea codului
- Simplificați utilizabilitatea acestuia
- Lasă deoparte revizuirile de cod
- Reduceți controalele de calitate și testele.
Făcând acest lucru, cel mai probabil vom obține un instrument cu o funcționalitate de bază, dar nu vom obține un produs 100% satisfăcător. Este posibil ca utilizabilitatea acestuia să nu fie cea mai bună, la fel ca și calitatea codului, iar extensibilitatea (posibilitatea de modificare sau extindere) și reutilizarea acestuia pot fi problematice.
Acest lucru este valabil pentru aplicațiile demonstrative, testarea conceptelor, software non-critic sau orice aplicație care este scalabilă sau extensibilă în timp.
Bine și ieftin
Vă dau ultima dintre ecuațiile noastre: Dacă clientul vrea o soluție bună și ieftină, el nu se poate aștepta la o livrare rapidă.
Se poate face ceva bun și la un cost acceptabil, dar în detrimentul timpului. Practic, dacă există timp, este mai ușor de planificat -din moment ce nu sunt atât de multe sarcini în paralel și nu este nevoie de atâta coordonare-, iar vârful de productivitate al oamenilor implicați va fi la apogeu pentru mai mult timp.
Obținerea a ceva bun și ieftin este potrivită pentru proiectele în care timpul nu este o variabilă critică, precum și pentru proiectele incrementale sau cu echipe cu timpi parțiali (care au proiecte sau inițiative interne).
Nu ratați acest lucru: Calitatea software-ului sau prețul: Care dintre ele contează cu adevărat?
În concluzie
În dezvoltarea de software, postulatul de dezvoltare de software bun, rapid și ieftin este foarte greu de realizat. Vom putea întotdeauna să obținem două dintre ele, dar va trebui să renunțăm la cea rămasă. În acest fel, este posibil să obținem calitate în timpii stipulați și la un cost rezonabil; trebuie doar să știm să găsim echilibrul între aceste trei variabile, să cunoaștem implicațiile și modul în care acestea interrelaționează între ele pentru a ajunge la acest echilibru.
Atingerea acestui echilibru va fi posibilă atâta timp cât estimările, coordonarea, selecția echipei, metodologia de lucru și utilizarea instrumentelor și tehnologiilor sunt cele corecte.
Ați atins un echilibru între aceste variabile în vreun proiect? Cum ați reușit?
.