Par Web projektu uzturēšanu

Kā jau daudzi no jums zinās – es ikdienā nodarbojos ar Web programmēšanu. Viens no darbu veidiem kurus veicu ir Web projektu uzturēšana.  Ar to es saprotu to, ka ir kāds Web projekts, kuru var būt veidojis gan kāds cits, gan es pats un kuram pēc kāda laika jāveic kādus labojumus, papildus funkcionalitātes ieviešanu. Šoreiz gribētu pastāstīt par to, kā es uztveru citu veidoto projektu uzturēšanu. T.i. – ar kādām emocijām es projektus pieņemu un kas ir neatņemama šādu projektu sastāvdaļa.

Visu, kā jau parasti, var sadalīt divās kopās: labās (pozitīvās) un nelabās (negatīvās) lietas. Negatīvās lietas:

  • Bieži (ja ne vienmēr) sanāk strādāt ar slikti vai vispār nedokumentētu kodu. Līdz ar to grūti saprātīgos termiņos izprast to kā īsti viss strādā.
  • Lai pieliktu kādu papildus funkcionalitāti visai bieži nākas pārtaisīt kaut ko no vecajām lietām.
  • Par Web projektu uzturēšanas izmaksām ir daudz grūtāk vienoties ar pasūtītāju kā gadījumos, ja kāds projekts tik taisīts no 0. Tas tāpēc, ka pasūtītājs nelabprāt pieņem to, ka nākas veltīt ievērojamu laiku sistēmas izpētei, kā arī veco lietu pārtaisīšanai, lai pieliktu kādu papildus funkcionalitāti.
  • Papildinot/labojot jau iepriekš iesāktus projektus izpildītājs bieži ir limitēts izmantoto rīku/paņēmienu izmantošanā. T.i. – nākas izmantot tos paņēmienus, kuri izmantoti projektam, pat ja tie nav tie pareizākie. Protams, ne vienmēr, bet bieži. Tas tāpēc, ka pasūtītājs visbiežāk nevēlas tērēt resursus uz kaut kādu lietu maiņu arhitektūrā, jo “viss tak tāpat strādā”.

Pāris pozitīvās lietas:

  • Tas ir izaicinājums (bet šis nav attiecināms uz visiem programmētājiem). Taču pārāk bieži sevi izaicināt nevajag. Manuprāt ideālā variantā vajag miksēt. Viens projekts no “uzturēšanas” lauciņa, nākamais veidots no 0.
  • Pati interesantākā un noderīgākā lieta ir iespēja mācīties. Pat neskatoties uz to, ka projektos var kādas lietas būt ne tā saprogrammētas (vai izmantoti kādi novecojuši paņēmieni), tajā var būt arī kādi iepriekš neredzēti un noderīgi problēmu risināšanas paņēmieni. Taču šeit ir jāuzmanās. Ne no visiem projektiem varēs kaut ko mācīties. Bet man līdz šim ir sanācis tā, ka visos pārņemtajos projektos esmu atradis kādu interesantu piegājienu noteiktu problēmu risināšanai. Ja nebūtu šis punkts, tad Web projektu uzturēšana būtu daudz, daudz neinteresantāka.

Kādas ir tavas domas par šo tematu?