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.
Loe veel sarnastel teemadel:
- Ilus kunst, 25. oktoober
- Miks andmete põhised rakendused on ebaõnnestunud, 11. juuni
- Kõike, mida sa omad, ei ole sul vaja, 2. aprill
- Motivatsioon ja mõõdikud, 25. november
- Äkki on selle kohta teenus!, 17. november
KAIZEN FEED
Telli endale Kaizeni uudisvoog
KOMMENTAARIDE FEED
Telli endale kommentaaride voog
KAIZEN TWITTER
Lühiuudised Kaizeni autoritelt
KAIZEN FACEBOOK
Liitu Kaizeniga
MIS ON KAIZEN?
Kaizen on Saiku tarkvaraarendusealane blogi, kus kirjutame erinevatest lähenemistest meisterlikule tarkvaraarendusele.
KATEGOORIAD
- .NET (18)
- Analüüs/Arhitektuur (11)
- Arendus (66)
- Ettevalmistus (1)
- Juhtimine (2)
- Varia (23)
SILDIPILV
- .NET (41)
- ilus kood (23)
- Arendus (23)
- C# (20)
- Analüüs/Arhitektuur (14)
- Testimine (10)
- raamat (8)
- Ruby (8)
- projektijuhtimine (8)
- printsiibid (6)
- produktiivsus (5)
- ReSharper (5)
- PHP (5)
- NHibernate (4)
- objekt-orienteeritud (4)
- pidev integratsioon (4)
- Viited (4)
- agile (4)
- Java (4)
- Geekdinner (4)
- lean (4)
- raamatukogu (4)
- CI (3)
- Cruise Control.NET (3)
- Robert C. Martin (3)
- scrum (3)
- iteratsioon (3)
- suhtlus (3)
- jQuery (2)
- TechEd 2008 (2)
- Visual Studio (2)
- valideerimine (2)
- intervjuu (2)
- analüüs (1)
- ASP.NET (1)
- ümberstruktureerimine (1)
- üritus (1)
- CodeRush (1)
- dokumentatsioon (1)
- Kent Beck (1)
- LINQ (1)
- Martin Fowler (1)
- Moq (1)
- Rhino Mocks (1)
- stackoverflow (1)
- võltsitud objektid (1)
- Whiteboard Wednesday (1)
- hindamine (1)
- tarkvara kvaliteet (1)
- ajagraafikud (1)
- Saiku (1)
- koolitus (1)
- tagasivaate (1)
- koosolek (1)
- dünaamilised keeled (1)
- staatilised keeled (1)
- FluentNHibernate (1)
- facebook (1)
- aastapäev (1)
- Rake (1)
- Oredev 2008 (1)
- toyota way (1)
- raiskamine (1)
- NDepend (1)
- podcasts (1)
- väle tarkvaraarendus (1)
- raido tonts (1)
- minimal marketable feature (1)
- kasutajalugu (1)
- twitter (1)
- Joomla! (1)
- MVC (1)
- andmebaas (1)
- versioonimine (1)
- diskussioon (1)
- regulaaravaldised (1)
- motiveerimine (1)
- mõõdikud (1)
- agileestonia (1)
- riistvara (1)
- koolitused (1)
- kujundus (1)
- kodulehed (1)
- veeb (1)
