17

Sept

Otsuste langetamise kunst

Marek Tihkan

Süsteemide loomisel tuleb igal meeskonnas oleval inimesel viia läbi hulgalisi otsuseid. Valed otsused jäävad tihti kummitama ning viivad meid seisu, kus järgnevad otsused on mõjutatud oluliselt eelmistest. Sellest tulenevalt võime teha parima otsuse, kuid valik otsustest ei pruugi enam nii laialdane olla.

Arendajad otsustavad lähtekoodi tasemel, analüütikud kliendiga koos olles, projektijuhid ajaplaani loomisel, arhitektid süsteemi üldkontseptsiooni tasemel – on näha, et rollide põhiselt teeme otsuseid vastavalt tööspetsiifikale. Mõned otsused hõlmavad kogu meeskonda ja tihti ka tellijat, kuid see on igapäevaste tööga seotud otsuste puhul väike osa ja samas väga oluline.


Kent Beck hakkas uurima enda otsuste tagapõhjasid eelkõige arendajana, millest tuli huvitav raamat “Implementation Patterns”. Praegu ta varitseb end arhitektuuri otsuste tegemisel, millest ta on jõudnud väheke tulemusi analüüsida ning tuua välja üldiseid mustreid.

Me ei pea projekti alguses otsustama koheselt millist valideerimise raamistikku kasutada ja milliseid jQuery laiendusi. Mõistlikum on sellega viivitada viimase võimaluseni, sest sel juhul on meil kõige rohkem teadmisi, mida vaja läheb. See ei tähenda seda, et lükkame seda lihtsalt edasi, vaid mõtleme eelnevalt ka mida on vaja teha ja uurida, et otsuse langetamisel see valesse suunda ei läheks. Raamistikkude valimiseks tasub teha eelnevalt äravisatavaid proovilahendusi, et näha milliste kõrvalnähtudega tegelema peab.

Poes käies teeme mitmeid otsuseid koha peal, mis tihti on impulssostud ning hiljem me ei olegi väga rõõmsad selle üle või juhtub, et saame väiksema kvaliteediga asja kui soovisime, sest eeltöö oli tegemata.

Otsuste langetamise algoritm oleks järgnev:

  • Defineerida otsus
  • Määrata otsusele viimane mõistlik aeg (sündmuse või aja põhiselt)
  • Märkida otsuse langetamiseks vajalikud tööd (uurimised, katsed jms)

Sellest lähtudes võib arhitekt märkida endale, et valideerimise raamistiku valimine on vaja esimeseks kasutuskorraks ära otsustada ning eelnevalt tuleks uurida Enterprise Validation Application Blocki, Validation.NET ja xVali. Nüüd võib need viimased ülesanded kellelegi delegeerida või ise alustada nendega ning luua endale vajalik kokkuvõte.

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID »

Lisa kommentaar

  • * Kuvatakse kommentaari juures
  • * Ei publitseerita