opendata.lv un eazyBI

05.08.2011

Ilgu laiku šeit nebiju neko rakstījis un iespējams, ka arī vairs ļoti aktīvi šeit neraksīšu. Jo savu latviskās blogošanas aktivitāti tuvākajā laikā veltīšu “open data” jeb “atvērto datu” jomai un šim nolūkam esmu sācis jaunu blogu opendata.lv. Tā ka lūdzu apmeklēt to un ielikt savos RSS lasītājos!

opendata.lv piemēros es daudz izmantošu eazyBI datu analīzes web aplikāciju, pie kuras pēdējos mēnešos esmu aktīvi strādājis. Ja jums ir dati, ko analizēt, un vēlaties vienkāršu, bet ērti lietojamu datu analīzes rīku, tad lūdzu izmēģiniet, vai eazyBI jums var noderēt.


Kā es iemācījos mīlēt TDD

07.07.2010

Vakar es uzstājos ikgadējā Latvijas testēšanas konferencē ar prezentāciju “How I Learned To Stop Worrying and Love Test Driven Development” jeb kā es iemācījos pārtraukt uztraukties un sākt mīlēt testu virzītu izstrādi. Tā kā auditorijai patika gan slaidi (kurus pašrocīgi zīmēju uz iPad), gan arī izraisījās diskusija par saturu, tad es šeit pārpublicēju prezentācijas kopsavilkumu.

Spējajā programmatūras izstrādē (Agile software development) testēšana nav tikai “testētāja” loma, kā tas ir bijis tradicionāli, bet gan funkcija, ko jāveic jebkuram projekta dalībniekam. Testu virzīta izstrāde (Test Driven Development, TDD) ir viena no galvenajām spējās programmatūras izstrādēs praksēm, kas tiek rekomendēta programmatūras izstrādātājiem ikdienas darbā.

TDD ideja ir ļoti vienkārša. Pirms sākt jaunas funkcionalitātes izstrādi (jauna procedūra, funkcija, metode) vispirms jūs izdomājiet, kā jūs vēlētos, lai šī jaunā programmatūras vienība strādātu – uz kādiem ievaddatiem jūs sagaidat kādus rezultātus. Un šī sagaidītā funkcionalitāte tiek aprakstīta ar automatizētu vienībtestu, kas to pārbauda. Un sākotnēji izpildot šo testu tam vajadzētu beigties neveiksmīgi, jo mums šī funkcionalitāte vēl nav izstrādāta. Tikai tad mēs sākam rakstīt programmatūras kodu, lai šo funkcionalitāti realizētu un tas tiek darīts vienkāršākajā veidā, līdz tiek panākts ka izveidotais vienībtests beidzas veiksmīgi. Un pēc tam tiek pārbaudīts, ka arī visi iepriekšējie testi izpildas veiksmīgi, lai varētu pārliecināties, ka neesam neko “salauzuši”. Veicot šādu inkrementālu izstrādi ik pa laikam tiek konstatēts, ka būtu nepieciešams uzlabot esošās programmatūras iekšējo struktūru jeb dizainu. Tad tiek veikta “refaktorēšana” – programmatūras koda struktūras jeb dizaina uzlabošana, bet netiek mainīta sagaidītā funkcionalitāte. Un to, ka netiek mainīta funkcionalitāte, var pārbaudīt izpildot visus automatizētos vienībtestus.

Šī pieeja izklausās vienkārša un loģiska un tā tiek popularizēta no Agile “guru” puses, bet realitātē šo pieeju diemžēl praktizē tikai ļoti maza programmētāju daļa. Kādēļ tas tā ir?

Tādēļ ka cilvēki pēc dabas ir slinki un vienmēr mēģina atrast iemeslus, kādēļ neko nemainīt. Šeit ir pāris tipiskie argumenti, kādēļ “tas mūsu gadījumā nestrādās”:

  • “Būs nepieciešams divreiz vairāk laika, lai uzrakstītu gan kodu, gan testus.”
  • “Mums nav laika rakstīt vienībtestus, jo termiņi jau bija vakardien.”
  • “Mums ir liels esošās programmatūras kods, ko mēs uzturam, mēs nevaram tagad uzrakstīt testus visam esošajam kodam.”
  • “Mūsu esošā programmatūra ir tā uzrakstīta, ka to nevar viegli notestēt ar automatizētiem vienībtestiem.”
  • “Mūsu klients / vadība / vēl kaut kas neļauj programmētājiem veikt refaktorēšanu, visu laiku tiek prasīta tikai jauna funkcionalitāte.”
  • “Es vienā blogā izlasīju, ka TDD īstenībā nekādus ieguvumus nedod.”

Ja jūs kaut ko nemākat, tad jums vispirms tas ir jāiemācas un tikai tad var sākt izteikt pamatotus spriedumus par to. Un jārēķinās ar to, ka mācīšanās paņem kādu laiku un jūs nebūsiet produktīvi uzreiz pirmajā dienā (arī ja jūs sevi agrāk uzskatījāt par augstas klases programmētāju, tad tik un tā pirmajā dienā jūs būsiet TDD iesācējs). Un lai kaut ko iemācītos, vispirms to vajag darīt burtiski “kā grāmatā” un tikai pēc tam var sākt eksperimentēt un pielāgot (nevis sākt ar attieksmi, ka “mums tas neder”). Un attiecībā par TDD ir pieejamas gan labas grāmatas, gan arī labi demo “screencasts” (piemēram, kā to darīt Java vai Ruby gadījumā), kas palīdz iemācīties un saprast labākās TDD prakses.

Tad, kad es šādā veidā iemācījos TDD, tad es arī sāku daudz labāk pamanīt TDD ieguvumus:

  • Lai piegādātu kvalitatīvu strādājošu programmatūru, tad līdz šim vienīgais izgudrotais veids, kā par to pārliecināties, ir testēšana. Tādēļ “netestēšana” nekad nedrīkstētu būt kā alternatīva.
  • TDD gadījumā mazāk tiek veikta atkļūdošana (debugging). Tispiski programmētāji pavada daudz laika uz atkļūdošanu, bet pēc tam kad ir panākts, ka programmatūra strādā, tad viss atkļūdošanas laikā uzrakstītais pagaidu kods tiek “izmests miskastē”. TDD gadījumā šīs atkļūdošanas kods tiek saglabāts kā vienībtesti, kas tiek automātiski izpildīti arī nākotnē, lai pārliecinātos, ka vēlāk netiek atkārtota tā pati kļūda.
  • Mazāk laika tiek patērēts uz to, lai identificētu, kurā vietā ir kļūda. TDD daudz efektīvāk palīdz atklāt tās kļūdas, kuras rodas mazu izmaiņu blakusefektu gadījumā, kuri ar manuālo testēšanu netiek identificēti (jo neviens neiedomājas, ka tur varētu būt problēma), bet automātiskie vienībtesti, kas vienmēr tiek izpildīti visi, to var atklāt.
  • TDD var un vajag izmantot arī kļūdu labošanā – atklājot kādu jaunu kļūdu vispirms tiek uzrakstīts vienībtests, kas atkārto šo kļūdu un tikai pēc tam tiek labots kods, lai atrisinātu problēmu. Šī pieeja arī noder, lai sāktu izmantot TDD esošas programmatūras uzturēšanā un jaunu izmaiņu izstrādē – sākt rakstīt testus tām vietām, kur rodas kļūdas, vai kur tiek veiktas izmaiņas.
  • Iemācoties TDD jūs saprotiet, ka tā ir projektēšanas / dizaina aktivitāte, kurai automātiskie testi ir kā papildus ieguvums. Jūs vienmēr vispirms padomājat, kāds ir funkcijas vai metodes vai moduļa nolūks un kā jūs to izmantosiet un kā jūs to testēsiet pirms jūs sākat kodēšanu, kā rezultātā TDD uzlabos jūs koda dizainu un uzturamību.
  • TDD rezultātā jūs iegūsiet arī mazāku koda apjomu, kas dara tikai to, kas patlaban nepieciešams. Un jo mazāks ir koda apjoms, jo mazāk tur būs kļūdas un jo vieglāk to būs mainīt un papildināt.
  • TDD ļauj veikt pastāvīgu refaktorēšanu un programmētājiem nevajag prasīt atļauju veikt refaktorēšanu. Ja programmas kods pastāvīgi tiks mainīts un uzlabots, tad tas visu laiku būs gatavs izmaiņām un jūs nenonāksiet līdz situācijai, kad mazu izmaiņu veikšanai būs nepieciešams ieguldīt ļoti lielu darbu dēļ tā, ka refaktorēšana tika visu laiku atlikta.
  • TDD mērķis ir visu laiku uzturēt programmatūru bez zināmām kļūdām – ja visi testi izpildās veiksmīgi, tad mums nav zināmu kļūdu. Ja tiek konstatēta jauna kļūda, tad tā ir jāatrisina vispirms, pirms tiek veikta jaunas funkcionalitātes izstrāde.

Un visu šo ieguvumu rezultātā es esmu konstatējis, ka īstenībā TDD izstrāde (ja to iemācās darīt pareizi) ir ātrāka nekā tradicionālā daļēji automatizētā, daļēji manuālā testēšana pēc tam, kad programmatūra ir izstrādāta. Kā arī kopējais patērētais laiks, lai sasniegtu kvalitatīvu rezultātu, ir mazāks.

Protams, TDD nav sudraba lode un neaizstāj visus testēšanas veidus. TDD ir efektīvs, lai notestētu, ka uz noteiktiem ievaddatiem un precīzi definēti rezultāti. Bet attiecībā uz lietotāju interfeisu ir svarīgi, vai lietotāja interfeiss labi izskatās, vai ir pareizās proporcijas un krāsu palete, vai tas ir pietiekoši vienkāršs un saprotams no lietojamības viedokļa. Uz šo aspektu testēšanu vajag izmantot cilvēkus ar atbilstošām lietojamības kritēriju testēšanas iemaņām. Bet nevajag izmantot cilvēkus kā testēšanas robotus, kas caur lietotāju interfeisu mēģina notestēt to, ko daudz efektīvāk var izdarīt ar vienībtestiem vai integrācijas testiem atbilstošā zemākā līmenī.

Programmētājiem nepatīk manuālā testēšana un “čeklistu” aizpildīšana, programmētājiem patīk kodēt. Tādēļ arī vajag palīdzēt programmētājiem iemācīt, ka testēšana ar kodēšanas palīdzību ir tikpat interesanta, kā cita veida kodēšana🙂


Drīzumā Latvijas Oracle User Group otrā konference

11.04.2010

lvoug.jpg

15. aprīlī notiks jau otrā Latvian Oracle User Group konference. Pagājušogad pasākums bija labi apmeklēts un arī tēmas bija interesantas un arī šogad pasākums izskatās, ka būs interesants. Tāpat kā pagājušajā gadā notiks divas paralēlās sesijas, kur viena ir vairāk orientēta uz DBA, savukārt otra vairāk uz lietojumprogrammatūras izstrādi ar Oracle tehnoloģijām.

Arī šogad es uzstāšos šajā pasākumā un šoreiz prezentācijas tēma būs “PL/SQL vienībtestēšana ar Ruby”. Gaidu visus interesentus, kuri vēlas uzzināt vairāk par testu virzītu izstrādi un kā to darīt PL/SQL izstrādē ar nelielu Ruby maģijas palīdzību🙂 Iepazīties vairāk par šo tēmu variet arī manā angliskajā blogā, kā arī noskatīties demonstrāciju (to “dzīvajā” rādīšu arī LVOUG konferencē). Un vēl “iekārdināšanai” varu pateikt, ka šī prezentācija tika akceptēta arī Somijas, Krievijas, Igaunijas un Latvijas EMEA Harmony Oracle User Groups konferencē, kas notiks 20. un 21. maijā Tallinā (no Latvijas tika akceptēta šī prezentācija, kā arī mana kolēģa Māra Elsiņa prezentācija).

LVOUG konference ir bezmaksas un reģistrēties variet šeit.

Papildinājums. Šie ir manas prezentācijas slaidi:


Oracle Magazine’s Developer of the Year

19.10.2009

Pēdējos gadus esmu veltījis diezgan daudz laika Ruby on Rails un Oracle integrācijā – tā kā no Oracle puses Ruby netiek īpaši atbalstīts, tad nākas to darīt pašam. Un tā kā Ruby programmētāju kopienā ir izteikta open-source kultūra, tad, protams, arī savu Ruby on Rails Oracle adapteri publicēju kā open-source projektu, kā arī palīdzēju citiem Oracle un Ruby lietotājiem ar padomiem un problēmu risinājumiem.

Biju patīkami pārsteigts, ka mani Oracle paziņas ir novērtējuši šīs aktivitātes un nominēja mani ikgadējajai Oracle Magazine balvai, kas tiek piešķirta dažādās kategorijās. Un tā rezultātā šogad esmu kļuvis par Oracle Magazine’s Developer of the Year🙂

Zemāk var redzēt arī manu bildi un īstu aprakstu no Oracle Magazine pēdējā numura:

DOTY_450.png

Padomi jaunajam e-me īpašniekam

29.07.2009

e-bardaks.png
Esmu jau agrāk rakstījis par maniem piedzīvojumiem ar e-me jeb e-paraksta sertifikācijas pakalpojumu sniedzēju. Kā daudzi no jums jau droši vien zin, tad nesen e-me ir mainījis īpašnieku un tagad tas ir LVRTC. Gribētos cerēt, ka šīs izmaiņas mainīs ar e-paraksta izplatību Latvijā, bet diemžēl pirmās aktivitātes neko labu neliecina.

Komunikācija ar klientiem

Ja gadījumā kāds no e-me lietotājiem nebija pamanījis, ka e-me īpašnieks tagad ir LVRTC, tad viņi parūpējās par šiem klientiem izsūtot e-pasta vēstuli ar sekojošu saturu:

Nosūtu Jums dokumentu, kas parakstīts ar drošu elektronisko parakstu (paplašinājums- *.edoc), kas apliecina tā juridisko spēku.

Ievērojot Ministru kabineta 28.06.2005. noteikumu Nr. 473 “Elektronisko dokumentu izstrādāšanas, noformēšanas, glabāšanas un aprites kārtība valsts un pašvaldību iestādēs un kārtība, kādā notiek elektronisko dokumentu aprite starp valsts un pašvaldību iestādēm vai starp šīm iestādēm un fiziskajām un juridiskajām personām” 17. punkta prasības, VAS Latvijas Valsts radio un televīzijas centrs lūdz Jūs vienas darbdienas laikā nosūtīt paziņojumu par elektroniskā dokumenta saņemšanu.

Pirmajā brīdī šāda vēstule izskatās pēc izsaukuma uz policiju vai tiesu. Un papildus pieminētie noteikumi attiecas tikai uz valsts vai pašvaldību iestādēm un man tie nekādus pienākumus neuzliek atbildēt vienas dienas laikā. Un pašā pievienotajā dokumentā (kuru man jāatver vispirms ar eParakstītāja aplikāciju un pēc tam ar MS Word, ir tikai informācija par to, ka ir nomainījusies līguma kontakpersona).

Nākamā “laža” ir tāda, ka e-pasts ir izsūtīts iekļaujot pārsimt klientu e-pasta adreses To: laukā, kā rezultātā visi saņēmēji redz visu pārējo saņēmēju e-pasta adreses. Tas gan ir nezolīdi no personas datu aizsardzības viedokļa, gan arī šādi e-pasti ir kandidāti automātiskai nokļūšanai e-pastu “spam” mapēs.

Nosūtīju atbildi uz šo e-pastu norādot šos trūkumus, diemžēl atbildi nesaņēmu.

Padoms: Lūdzu iemācieties Interneta komunikāciju “netiķeti” pirms izsūtiet šādus masveida e-pastus. Un lūdzu iemācīties klientiem draudzīgu komunikācijas veidu, nevis lietojiet stīvo, formālo un atbaidošo stilu.

Grib samaksu gan par vistām, gan olām

E-paraksta projekta neveiksmes cēlonis pēdējā gada laikā tika raksturots kā “vistas un olas” problēma – 1) nav pietiekoši daudz e-paraksta lietotāji, kas būtu gatavi maksāt par pakalpojumu, jo nav pietiekoši daudz e-pakalpojumi, 2) nav pietiekoši daudz e-pakalpojumu, jo potenciālie pakalpojumu sniedzēji neredz ieguvumu no tik maza lietotāju skaita.

Tādēļ patlaban e-paraksta lietotāji nav kļuvuši vairāk par tiem pārdesmit tūkstošiem, kuriem e-paraksta kartes iegādājās ar valsts pasūtījumu. Savukārt e-pakalpojumu sniedzēju saraksts, kur var izmantot e-parakstu, tā arī ir palicis ļoti neliels (daži, piemēram, Swedbank, pat ir pazuduši no saraksta).

Šādos apstākļos būtu jāizvēlas viena no divām stratēģijām:

  1. Vai nu ir jāstimulē e-paraksta lietotāju pieaugums, būtiskipazeminot cenas lietotājiem (jo patreizējā cena ne privātajiem, ne biznesa lietotāji nelikās pārāk pievilcīga) un tad domājot kā iegūt ieņēmumus no potenciālajiem pakalpojumu sniedzējiem
  2. Vai arī ir jāstimulē pakalpojumu radīšana, nodrošinot izstrādātājiem bez maksas visus nepieciešamos rīkus pakalpojumu radīšanai un mērķtiecīgi strādājot ar potenciālajiem pakalpojumu sniedzējiem, lai panāktu pēc iespējas lielāku pakalpojumu klāstu. Tad arī e-paraksta lietotāji varētu saredzēt ieguvumu no e-paraksta pakalpojumiem un būtu gatavi par to maksāt.

Tā vietā jaunie e-me saimnieki ir izvēlējušies mūsu budžeta lāpīšanas politiku – ja naudas nav, tad jāpaaugstina nodokļi. Nākotnē ir paredzēts, ka par e-paraksta bibliotēku (kas nepieciešama e-paraksta integrācijai trešo pušu sistēmās) izmantošanu būs jāmaksā gan izstrādātāja licence, gan arī lietošanas licence. Un cik ir redzēts, tad šīs summas ir paredzētas diezgan iespaidīgas, lai pēc iespējas atsistu izstrādātāju vēlmi izstrādāt integrāciju ar e-parakstu savās sistēmās.

Ja no nodokļiem izvairīties ir grūtāk, tad no e-paraksta izmantošanas izvairīties cenu celšanas gadījumā ir stipri vieglāk. Un ja vēl ņem vērā, ka parādās arī alternatīvi piedāvājumi ar potenciāli mazākām izmaksām lietotājiem, tad pastāv risks, ka e-pakalpojumu potenciālie sniedzēji var sākt vairāk izmantot šos alternatīvos risinājumus.

Padoms: Ja jums tiešām ir tik dārgi uzturēt šīs e-paraksta integrācijas bibliotēkas, tad pareizāk būtu tās nopublicēt kā atvērtā koda programmatūru un tad izstrādātāji paši veiksmīgi tās varētu uzturēt tālāk un visi būtu laimīgi.

Labā ziņa Mac lietotājiem

Staigājot pa e-me.lv lapām arī atradu ko iepriecinošu – beidzot ir pieejami viedkaršu lasītāju draiveri Mac OS X operētājsistēmai, kā rezultātā kopā ar SignAnywhere Free programmu beidzot ir iespējams lietot e-parakstu arī uz Mac datora.

Diemžēl ar Firefox pārlūkprogrammu un šiem viedkaršu draiveriem nav iespējams autentificēties visās minētajās e-pakalpojumu lapās. Man izdevās veiksmīgi autentificēties Nordea internetbankā, bet e-me.lv un latvija.lv lapās neizdevās – tās izskatās joprojām ir paredzētas tikai izredzētajiem Windows un Internet Explorer lietotājiem. e-me.lv izdod kļūdas paziņojumu

Ja Jūs izmantojiet tīmekļa pārlūku Mozilla Firefox, lūdzu izlasiet informāciju par tā konfigurāciju izmantošanai kopā ar Е-МЕ autentifikācijas sertifikātiem

bet norādītajā saitē nav nekādas informācijas par Mozilla Firefox😦


Rekomendācijas programmētāju kvalifikācijas darbiem

14.06.2009

Šajā nedēļā piedalījos Latvijas Universitātes Datorikas fakultātes programmētāju kvalifikācijas darbu vērtēšanas komisijā – gan recenzēju daudzus darbus, gan arī klausījos un vērtēju klātienē vēl vairāk darbus. Kā jau katru gadu man nepatika vairākas tendences, kas bija sastopamas daudzos darbos, tādēļ gribēju šeit izkratīt sirdi un padalīties ar rekomendācijām, kā vajadzētu labāk rakstīt šos darbus, lai saņemtu labu vērtējumu no manis kā potenciālā vērtētāja🙂

Strādājošs, kvalitatīvs un uzturams programmatūras kods ir primārais mērķis

Kā vienu no pirmajām lietām gribēju uzsvērt šo Agile principu, jo programmēšanas kvalifikācijas darbos galvenais mērķis ir parādīt, ka autors spēj radīt kvalitatīvu programmatūru. Tādēļ:

  • Strukturējiet programmatūru saprotamos funkcionālajos moduļos.
  • Sadaliet katru moduli nelielās funkcijās vai metodēs – nekādā ziņā viena funkcija vai metode nedrīkst būt pa daudzām lappusēm. Jo tās būs īsākas un saprotamākas, jo labāk.
  • Komentāros rakstiet, kāpēc jūs kaut ko dariet, nevis vēlreiz atkārtojiet to, kas redzams kodā.
  • Sadaliet biznesa loģiku un attēlošanas loģiku dažādos moduļos (sliktākie piemēri bija, kad vienā failā ir gan PHP, gan SQL, gan HTML, gan Javascript kods sajaukts vienā lielā putrā).
  • DRY (Don’t Repeat Yourself) princips – ja kāds kods bieži tiek ar copy-paste dublēts, tad tas nozīmēt, ka šo loģiku vajag izdalīt kādā kopējā funkcijā vai metodē, lai izvairītos no koda dublēšanas.

Vienkārša, saprotama un vajadzīga dokumentācija

Daudzos darbos sliktu kodu centās kompensēt ar lieliem dokumentācijas blāķiem, kas manā vērtējumā darbu var tikai pasliktināt.

  • Labāk dokumentāciju rakstiet īsāku un saprotamāku, nevis garu un nesaprotamu.
  • Izvairieties no triviālu lietu skaidrošanas un liekvārdības, bet neaizmirstiet paskaidrot lietas, kas ir specifiskas jūsu darbam.
  • Arī dokumentācijai ir jābūt DRY – nekopējiet vienus un tos pašus aprakstus uz dažādām dokumentācijas vietām.
  • Nemāniet lasītāju, ka vispirms uzrakstījāt visu prasību specifikāciju dokumentu, pēc tam projektējuma aprakstu un tikai tad kodējāt. Ūdenskrituma metode nav vienīgā pieeja – tā ir novecojusi un mūsdienās parasti nepiemērota pieeja. Droši izmantojiet un aprakstiet iteratīvās / inkrementālās / spējās izstrādes pieejas, ja tas ir patiesais veids, kā esat veidojuši savu darbu.

Testējiet ar kodu nevis ar dokumentāciju

Daudziem liekas, ka labākais veids, kā pārliecināt lasītāju, ka viņi ir dikti labi testējuši, ir saproducēt lielu testēšanas dokumentāciju. Bet, manuprāt, liela un sarežģīta testēšanas dokumentācija apliecina tikai to, ka šie testi netika bieži izpildīti.

  • Ļoti rekomendēju apgūt jūsu izvēlētās programmēšanas valodas atbilstošo automatīzēto vienībtestēšanas ietvaru. Automatizēti un regulāri izpildīti vienībtesti vienmēr būs labāki nekā gari un manuāli izpildāmi testi.
  • Primāri testējiet jūsu darba svarīgāko un potenciāli riskantāko funkcionalitāti, nevis rakstiet daudzus vienkāršus (piemēram, lauku obligātuma pārbaudes) testus.

Drošība

  • “Paroļu šifrēšana” nav vienīgā drošības problēma un/vai prasība.
  • Ja jūsu programmā ir dažādi lietotāji ar dažādām tiesībām, tad pieejas tiesības ir vienas no primārajām drošības prasībām, kas arī ir jātestē.
  • Pirms veidojiet “web” bāzētu sistēmu, iepazīstieties ar biežākajām drošības problēmām “web” bāzētajās sistēmās – sāciet ar SQL injekcijas problēmām.

Konfigurāciju pārvaldība

  • Mūsdienās veikt programmatūras koda pārvaldību tikai ar failu rezerves kopēšanas palīdzību profesionālam programmētājam vairs nebūtu pieļaujams.
  • Apgūstiet un lietojiet atbilstošus versiju kontroles rīkus, piemēram, Subversion, Git vai citus. Versiju kontroles rīki ir vieni no programmētāju pamatrīkiem.

Darbietilpības novērtēšana

  • Darbietilpības novērtēšana ir paredzēta, lai prognozētu potenciālo darbietilpību pirms jūs esat sākuši programmēt sistēmu. Darbietilpības novērtēšana nav paredzēta, lai pamatotu komisijai, ka jūs tiešām esat veltījuši 3 mēnešus darba izstrādei.
  • Neizmantojiet sarežģītas COCOMO novērtēšanas metodes, ja jums nav skaidrs, ko tās prognozē un ja jums rezultāti sanāk pavisam savādāki nekā faktiski patērētais darbs. Un netaisnojieties ar to, ka “COCOMO paredzēts lieliem projektiem” – lielie projekti nav nekas tāds briesmīgs, kuros pēkšņi visas vienkāršās lietas ir jātaisa piecreiz sarežģītāk.
  • Ja jūs izmantojat iteratīvo / spējo (Agile) pieeju pieeju, tad izmantojiet atbilstošas spējās novērtēšanas tehnikas.

Ceru, ka šīs manas rekomendācijas studenti nākamreiz “uzgooglēs” un ņems tās vērā kvalifikācijas darba izstrādē🙂


Tuvojas Latvijas Oracle User Group pirmā konference

01.03.2009

lvoug.jpg
27. martā notiks pirmā Latvian Oracle User Group konference. Atšķirībā no Oracle dienas, šis ir Oracle lietotāju un profesionāļu organizēts pasākums, kurā Oracle “spečuki” var atklāti apmainīties gan ar pozitīvu, gan negatīvu pieredzi un viedokļiem par Oracle tehnoloģijām un to praktisku pielietošanu.

Līdzīgi kā Oracle dienās, esmu pieteicies ar prezentāciju arī šajā konferencē un stāstīšu par to, kā man sokas ar Ruby on Rails Oracle adaptera veidošanu. Citas prezentācijas pamatā būs par Oracle datubāzes izmantošanu un tās “advancētajām fīčām”. Kā viesis piedalīsies arī Kuassi Mensah, ar kuru esmu iepriekš ticies Oracle OpenWorld konferencē – viņu starp citu arī interesēja manas aktivitātes Ruby on Rails un Oracle “sadraudzināšanas” jomā.

Tā ka visi Oracle tehnoloģiju interesenti ir gaidīti 27. martā uz šo pasākumu – pasākums ir bezmaksas un reģistrēties var šeit.