Programmatūras izstrādes projekta vadītāja piezīmes


 Lai cik plaši būtu pieejami pētījumi par projektu vadīšanu, ikviens programmatūras izstrādes projekta vadītājs savulaik ir pionieris un pirmatklājējs vadīšanas praksē, līdz ar pieredzi krājot secinājumus un ieteikumus. Šajā rakstā apkopotas vairāku programmatūras izstrādes projektu vadītāju populārākās atziņas.

KAS TAS IR – PROJEKTS?

Projekts = Termiņš + Sasniedzamais rezultāts + Budžets

Projekts ir uzdevums ar parametriem “sākuma un beigu datumi”, “sasniedzamais rezultāts”, “budžets”.

Projekta vadītājs = Zināšanas + Entuziasms + Pieredze

Projekta vadītājs ir cilvēks, kuram jāsasniedz rezultāts atvēlētajā laikā un ar resursiem, ko var atļauties saskaņā ar atvēlēto budžetu. Vadītājs var izmantot savas zināšanas un spējas, piesaistīt citu cilvēku zināšanas un spējas, kā arī izvēlēties palīglīdzekļus. Projekta veiksmes gadījumā vadītājs var pamatoti lepoties ar pakāpienu savā karjerā, un sevišķi augstu kotējas vadītāji, kuri izveduši projektu no krīzes situācijas. Projekta neveiksmes gadījumā atbildība pilnībā jāuzņemas vadītājam.

 Ar projektiem savas dzīves laikā sastopas ikviens cilvēks, un patstāvīgi cilvēki ar laiku pierod arī sadzīvē domāt projektu vadīšanas kategorijās – uzstāda konkrētus mērķus, nosaka laiku, rēķinās ar līdzekļiem. Filozofiski uz to paskatoties, visa cilvēka dzīve ir kā liels projekts ar daudziem apakšprojektiem, kuri laika gaitā kļūst arvien sarežģītāki:

  • bērnudārzā – “Zelta rudens”: sasniedzamais rezultāts – atrasta krāsaina kļavas lapa;
  • skolā – kontroldarbs matemātikā: 45 minūtes laika, atbildei jāsakrīt ar skolotāja rīcībā esošo;
  • augstskolā – programmēšanas kurss: 3 mēneši, atzīme >=8, budžetu veido stipendija un studiju kredīts;
  • darbā – programmatūras izstrāde: 2 gadi, izstrādāta un ieviesta norēķinu sistēma, 600 000Ls.

 VADĪŠANA

Prakse liecina, ka 80% no uzdevuma prasa 50% no atvēlētā laika. Ja 80% no uzdevuma ir izdarīti 80% no atvēlētā laika, tad ļoti iespējams, ka termiņš tiks nokavēts.

 Plašāk pazīstamas un arvien praksē pārbaudītas sakarības, ar kurām vadītājs var rēķināties, ir tā sauktās 80:20 sakarības, piemēram:

  • 80% labumu var nodrošināt ar 20% no prasību realizācijas,
  • 20% profesionālāko programmētāju rada 80% koda,
  • 20% vājāko programmētāju rada 80% no atklātajām kļūdām.

 Ja vadītājs nespēj atbildēt uz kādu projekta jautājumu, tad viņam jāzina, kā šo atbildi  iegūt. Vadītājam jāvar pieņemt jebkuru ar projektu saistītu lēmumu – vai nu pašam, vai deleģējot lēmuma pieņemšanu speciālistam (piemēram, vai datu bāzei piekļūt ar ODBC vai OLE DB?). Jebkurā gadījumā vadītājs ir atbildīgs par lēmuma sekām.

 Vadītājam, kurš pats nav programmējis, ir ievērojami grūtāk vadīt programmatūras izstrādes projektu nekā cilvēkam, kurš karjeru ir sācis kā programmētājs. Labi, ka projektā ir galvenais speciālists, kurš pārzina tehnoloģisko pusi un spēj pieņemt lēmumus, taču šādos gadījumos pastāv projekta dubultās vadīšanas risks un vadītājam jābūt gatavam strādāt tādos apstākļos.

 Ja projektā ir problēma, vadītājam jādomā tālāk par konkrētās problēmas atrisināšanu – viņam jāzina, kā mainīt sistēmu, lai šādas problēmas neatkārtotos, un jāspēj sistēmu mainīt.

Vadītājam ir jāzina un ir jājūt vietas, kuras varēs precizēt programmatūras izstrādes gaitā. Nav vērts censties izstrādāt 100% atbilstošu projektējumu un praktiski nav projektu, kurus praksē izdotos pilnībā izstrādāt pēc ūdenskrituma modeļa.

Jo vairāk problēmu iespējams atrisināt sarunājoties, jo profesionālāks vadītājs. Un otrādi – jo profesionālāks vadītājs, jo vairāk jautājumus var nokārtot sarunu ceļā.

PASŪTĪTĀJS

 Ja vien tas ir iespējams, tad piedāvājums un cenu aprēķins jāiesniedz Pasūtītājam personīgi, izskaidrojot un pamatojot savu piedāvājumu.

Jo mazāka sadarbības pieredze, jo vairāk jautājumu jārisina klātienes sarunās. Kad izveidots pamats ilgstošai sadarbībai, tad var atļauties daļu problēmu risināt e-pastā vai telefoniski.

Paralēli formālajiem pasākumiem (izmaiņu vadības padomes utml.), svarīgi “uztaustīt” Pasūtītāja procesus pārzinošu cilvēku vai cilvēkus, kuriem var uzdot jautājumus par dažādām situācijām. Ideāli, ja šis cilvēks ir arī oficiālā kontaktpersona par attiecīgajiem jautājumiem, jo var teikt, ka projekta panākumi ir proporcionāli tam, cik veiksmīgi izveidojas sadarbība ar šo cilvēku vai cilvēkiem.

Pēc iespējas ātrāk vajag vizualizēt Pasūtītājam iespējamo rezultātu, sākotnēji kaut vai sarunas laikā to uzskicējot uz papīra. Mūsdienu rīki ļauj ātri un viegli uzzīmēt ekrānformas pirms programmēšanas uzsākšanas.

DELEĢĒŠANA

Jāprot prognozēt darbinieka spēju veikt uzdevumu. Ja darbinieka spējas nav zināmas, tad, deleģējot uzdevumu, sākotnēji jāpieņem, ka darbinieks nepārzina konkrēto jomu, un uzdevums jāizstāsta sīki un smalki. Jāpārliecinās par deleģētā uzdevuma izpildi.

Efektīvākais veids, kā pārliecināties, vai darbinieks sapratis uzdevumu, ir palūgt viņam atstāstīt,  kā viņš ir sapratis uzdevumu.

SECINĀJUMI

Projektu vadīšana ir vairāku zinātņu apvienojums un programmatūras izstrādes projektu gadījumā tās ir – datorzinātne, vadība, psiholoģija, ekonomika. Mūsdienās ģeniāli atklājumi visvairāk tiek izdarīti kombinētajās zinātnēs, piemēram, klasiskajā matemātikā jaunu un ģeniālu atklājumu ir maz, toties, apvienojot matemātiku ar fiziku un ķīmiju, tika radīti pirmie kvantu datori.

Programmatūras izstrādes projektu vadīšana ir formalizēta pieeja apvienojumā ar mākslu, un speciālisti visā pasaulē strādā, lai šajā jomā palielinātu formalizētās pieejas % un samazinātu mākslas %. Pašlaik šī procentuālā attiecība programmatūras izstrādes projektu vadīšanas praksē, manuprāt, ir 50 pret 50 un, kamēr tā nav būtiski mainījusies, tikmēr labs programmatūras izstrādes projektu vadītājs joprojām būs datorspeciālists, psihologs, ekonomists un nedaudz arī burvju mākslinieks.

 Publicēts žurnālā Datorpasaule, 2004.g. janvārī

Advertisements

Mans viedoklis:

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Mainīt )

Twitter picture

You are commenting using your Twitter account. Log Out / Mainīt )

Facebook photo

You are commenting using your Facebook account. Log Out / Mainīt )

Google+ photo

You are commenting using your Google+ account. Log Out / Mainīt )

Connecting to %s

%d bloggers like this: