| duca's profileduca's spaceBlogLists | Help |
Programerska kulturaRazmišljao sam da tekst nazovem "programerska nekultura". No, da se neko ne bi našao uvređen, ostaje ovako O čemu se radi? Pričao sam kako se čitav proces obično svodi na fazu implementacije. Međutim, još tragičnije je da u okruženju "programerske nekulture" i ova faza biva kontaminirana. Tako od procesa, na kraju, ostaje samo ruina. Tri alata za kvalitetno programiranjePrvi korak ka uspostavljanju kvalitetnog procesa, čine sledeće tri stavke:
Bez obzira da li Vaš tim ima jednog ili hiljadu članova, ne postoji izgvor koji bi mogao da opravda izostanak prethodnih alatki. Posebno, što su sva tri alata potpuno besplatna ( FogBugz je besplatan za do dva korisnika). Posetite gore navedene stranice. Saznajte nešto o ovim alatima. I počnite aktivno da ih primenjujete. Nije teško biti fin PS: Redovan backup podataka neću ni da pominjem. To bi bila stavka pod brojem 0 (hint: ovde i ovde). Technorati tags: programiranje Joel Spolsky u komšilukuČuveni Joel Spolsky govoriće 17 maja u Zagrebu, na Web Start konferenciji posvećenoj isključivo web razvoju. Više na Zagreb / Edinburgh - Joel on Software... Preporučujem svima koji su u mogućnosti da poslušaju šta Joel ima da kaže. Technorati tags: joel spolsky Još jedan vredan micro ISV blogČovek koji se već 30 godina bavi micro ISV business-om (samo se tada to zvalo drugačije), Michael Lehman, počeo je da piše blog. Blog nosi naziv Independent Innovation, a prvi post Michael Lehman's Independent Innovation : What color are your bits?, donosi novu dozu ohrabrenja za sve one neodlučne. U nekoliko reči, zašto je danas lako početi svoj micro ISV biz:
Technorati tags: micro isv, michael lehman Serbia po prvi put na Slashdot-uPrvi put da je "Serbia" u bilo kom kontekstu pomenuta na Slashdot. Kada sam danas otvorio inbox i pročitao Slashdot newsletter... hm bilo je to jedno veliko LOL Da naravno radi se o famoznom "KRIPTONITU", čitajte na Slashdot | 'Kryptonite' Discovered in Serbian Mine. Ostavite i neki komentar... Nemože da škodi našem kaurinskom imidžu Ovakva reklama ne može da se kupi parama.... PS: Već vidim ideju za svoj micro biz... AdWords sa koga se smeši "Buy geniune Kryptonite today. Just $199.95 per gram." Technorati tags: kryptonite, serbia Treba znati kada i kako odustatiOd skoro pratim blog Guy Kawasaki-a i odmah jedan odličan tekst. Kawasaki je intervijuisao Seth Godin-a, i evo njegovih odgovora na 10 postavljenih pitanja: Ten Questions with Seth Godin. Povod je bila Seth-ova knjiga "Koja Vas uči kada da odustanete (i kada da ne popuštate)". Stvarno, odustajanje je prva umetnost. Posebno u našim društvenim uslovima (čitaj nekulturi), gde se institucija odustajanja smatra za nešto loše. Nešto što treba kriti. Kada ste čuli da su za nekoga rekli "Ona je odustala....", a da to nije bilo pogrdno. Shavatanje našeg prosečnog čoveka je, da je bolje agoniju produžit u nedogled, nego priznati neuspeh i odustati. E pa nećete moći ovako. Bar ne ako mislite da napravite svoj micro ISV. Ako niste spremni da priznate neuspeh, da odustanete i počnete ispočetka, onda ovo nije posao za Vas. ...i kada odustati
Ostalo pročitajte sami. I preklinjem Vas ne upisujte prokleti PMF. Verujte mi na reč PS: I da, ko još veruje da Zune može da bude uspeh. Kako reče pomenuti gospodin, "to je krupan zalogaj čak i za Microsoft". Ne grizite previše. Mislite o tome. Technorati tags: odustajanje Power Saving Mode - S3Ako, kao i ja, koristite dva ili više račnara, od kojih jedan ima funkciju servera, sledeći tekst može da bude interesantan Going Green: Utilizing S3 Standby Mode Without Losing Functionality. Ideja je da se S3 stand-by mode iskoristi i na računaru koji treba da bude stalno uključen. Činjenica je da ovakav računar neće biti pod punim opterećenjem sve vreme. U takvim trenutcima praznog hoda, poželjno je da računar radi sa manjim utroškom energija (čitaj struje). Ako računar koristite u neku od sledećih namena:
podesite pravilno power saving mode i možada uštedite koju prau
FogBugz od sada besplatanOdlična vest za sve one koji imaju micro ISV ili nameravaju da započnu jedan. Najpoznatiji bugtracking software je postao besplatan. Šta više FogCreek besplatno hostuje aplikacuju na svojim serverima, tako da ste oslobođeni svih problema. Jedino ograničenje je da možete da imate najviše dva korisnika. Sasvim dovoljno za jedan micro ISV. Ukoliko Vam treba više korisničkih naloga, moraćete da platite. Projekat je trenutno u beta fazi (sama aplikacija je stabilna, koristi se FogBugz 5.0) i jedini način da se registrujete je kroz diskusiju na forumu The Business of Software - FogBugz On Demand - Free for MicroISVs (beta!). Požurite, ja sam se upravo registrovao i čekam potvrdu o svom nalogu. Nadam se da ću uskoro moći da napišem i prva iskustva. Conversation MarketingDa li prodajete nešto na Internetu, ili samo želite da Vas čuju? U svakom slučaju treba da poznajete osnove marketinga na Internetu. Ako bilo šta drugo i može da se nazove marketingom, sem onog na Internetu Preporučujem odličnu knjigu Internet Marketing Book, Online: Conversation Marketing. Ono najbolje je da knjigu možete besplatno da čitate online. Knjiga govori o marketingu na način stara škola/nova škola. Osnovna ideja je da se proces modernog Internet marketinga sastoji iz nekoliko koraka:
Obavezno pročitajte knjigu. Ja sam je pročitao u jednom dahu. Technorati tags: internet marketing Kako napravti blog - 4 jednostavna koraka u slici i rečiKonačno ste rešili da i Vi kažete nešto Svetu. Ostalo je samo još pitanje: "kako da napravim blog ?" Kao i obično, postoje bar četri dobra načina da ovo uradite 1. Posetite spaces.live.com
Kliknite na "Create your space". Iskoristite Vaš Windows Live ID kako bi se prijavili. Ako nemate Live ID, odaberite opciju Sign Up, da napravite novi nalog. Kada se prijavite, na stranici koja se pojavi unesite podatke o Vašem Live Space-u. Izaberite naziv Vašeg Space-a (Title), i web adresu (Address). Adresa će biti oblika vasaadresa.spaces.live.com. Kliknite na "Create your space". Čestitam 2. Posetite windowslivewriter.spaces.com
Kliknite na dugme "Download" kako bi preuzeli najnoviji Windows Live Writer. Ovo je desktop aplikacija uz pomoć koje možete da pišete tekstove iz fotelje Pokrenite instalaciju i instalirajte Windows Live Writer. 3. Podesite Windows Live WriterKada se instalacija završi potrebno je da podesite Windows Live Writer, kako bi mogli da pišete na Vašem Space-u. Ukoliko to već niste uradili, iz glavnog menija odaberite opciju Weblog > Add Weblog Account. U prozoru "Add New Weblog", izaberite opciju "Windows Live Spcae". Kliknite na "Next". U sledećem prozoru, u polje "Spaces Homepage URL" upišite web adresu Vašeg Live Space-a, koji ste prethodno kreirali. Na primer, adresa mog Space-a je microisv.spaces.live.com. U polja "Windows Live ID" i "Password", upišite e-mail adresu i šifru koju koristite priliko prijavljivanja na Windos Live ID nalog. Kliknite na "Next". 4. Napišite svoj prvi blog postSada možete da počnete sa pisanjem. Srećno. PS: Ne zaboravite da kliknete na "Publish" The Paradox of Choice - Why more is lessKoliko puta ste poželeli mobilni telefon koji ima samo crvenu i zelenu slušalicu Sledeći Google TechTalk trebalo bi da pogleda svako ko se bavi razvojem softwarea. Ako se pitate kako to više opcija, funkcija, dugmadi, komandi,.... može da bude manje za korisnike Vaše aplikacije, pogledajte šta o tome kaže ovaj zanimljivi gospodin.
Technorati tags: paradox of choise, više je manje My Code of ConductNabasah danas na Blogger's Code of Conduct - Blogging Wikia. Ne znam u kojoj meri je naša blogosfera doživljavala sukobe i polarizacije. I da li je bilo pretnji ubistvom 1. Preuzimam potpunu odgovornost za sve ono što napišemObavezujem se da će svi tekstovi sadržati društveno prihvatljiv materijal. Obavezujem se na pisanje kvalitetnih i korisnih tekstova. 2. Neću da sakrijem ni jednu informaciju koja drugome može da bude od koristiUčiniću dostupnim sve informacije, sem onih čijim bi objavljivanjem povredio nečiju privatnost, ugrozio bezbednost ili otkrio poslovnu tajnu. Zadržavam pravo da određene lične podatke, ostavim tajnim. Zadržavam pravo da ne objavim podatke čijim bi objavljivanjem naneo finansijsku štetu drugima ili sebi. 3. Zadržavam pravo da uklonim svaki komentar koji nije u skaldu sa osnovnim normama civilizovanog ponašanjaObavezujem se na poštovanje principa slobode govora. Svako ima pravo da komentariše i napiše ono što želi, sve dok je sadržaj komentara prihvatljiv. Svi neprihvatljivi komentari biće obrisani, bez dodatnog objašnjenja. Kao neprihvatljiv, shvatiće se svaki komentar:
Ova lista nije konačna. Zadržavam pravo da u svakom pojedinačnom slučaju, bez dodatnog objašnjenja, komentar odredim kao neprihvatljiv. Takođe, zadržavam pravo da u bilo kom trenutku promenim bilo koje od pravila. 4. U slučaju sukoba nastojaću da problem rešim privatnoU slučaju sukoba ili nesporazuma, nastojaću da problem rešim u direktnoj komunikaciji sa učesnicima u sporu. Ni jedan spor neću da komentarišem javno. Ukoliko problem ne može da bude rešen na ovaj način, pomoć ću da potražim od drugih, nezavisnih, članova blogosfere. U tom slučaju, zadržavam pravo da o sporu javno obavestim druge. 5. U slučaju komentara koji napaduju druge bez ikakvog osnova ili povoda, obavezujem se da preuzmem odgovarujeće akcijeSvako ko o drugome napiše komentar uvredljive sadržine, biće (privatno) zamoljen da se izvini, izuzev kada bi takav postupak izazvao dalje sukobe ili dodatno pogoršao situaciju. Zadržavam pravo da sve uvredljive i zlonamerne komentare uklonim bez dodatnog objašnjenja, ukoliko procenim da je takvo rešenje najbolje. Svaki komentar koji sadrži elemente nezakonitog ponašanja ili na bilo koji način opisuje izvršenje krivičnog ili drugog nezakonitog dela, biće prijavljen nadležnim institucijama. 6. Ignorisaću svaku provokacijuNeću davati odgovore ni na jedan zlonameran komentar o meni ili o mom tekstu. Neću odgovarati na provokacije, niti ću na bilo koji način podstrekivati raspravu. 7. Pisaću na jeziku po svom izboruZadržavam pravo da pišem na jeziku po svom izboru. Koristiću pismo koje smatram najpogodnijim. Zadržavam pravo da jezik na kome pišem nazovem po svojoj odluci. Neprihvatljiv su bilo kakvi komentari o jeziku ili pismu koje koristim. Koristiću termine i izraze iz različitih jezika. Zadržavam pravo da strane termine pišem u originalnom ili prevedenom obliku. 8. Dobrodošli su svi dobronamerni komentariSvi pošteni i dobronamerni komentari su dobrodošli. Ohrabrujem svaki komentar koji za cilj ima da me upozori na eventualni propust ili grešku. Zadržavam pravo da dodatno proverim ispravnost svih iznetih informacija, kao i odluku da li će određene ispravke biti unete.
Technorati tags: code of conduct Micro ISV revisitedIako sam, ne tako davno, govorio o tome šta je to micro ISV, podstaknut diskusijom na The Business of Software - What does mISV mean? sklon sam da promenim mišljenje. Tada sam, između ostalog, rekao da micro ISV znači "micro Independent Software Vendor", što nije bilo netačno. Sada, mislim da "micro Internet Software Vendor" mnogo bolje odslikava suštinu micro ISV-a. Uz činjenicu da je Internet srž micro ISV biznisa, ide i moj glas da se "I" u "micro ISV" preimenuje u Internet. U ostalom, pročitajte gore pomenutu diskusiju na The Business of Software.
Technorati tags: micro isv del.icio.us tags: micro isv Software RequirementsKao što sam već govorio, većina softverskih projekata osuđena je na neuspeh. Najčešći razlog je loš postupak upravljanja zahtevima. Neretko se dešava da su zahtevi potpuno zanemareni. O tome kakve posledice to ima, bilo je reči. Stoga, danas, nešto više reči o zahtevima. Software Requirements SpecificationBez obzira da li pravite operatini sistem, CAD aplikaciju, tekst procesor ili neki drugi software, nameću se iste potrebe. Prvo, treba precizno utvrditi zahteve, a onda i obezbediti proces upravljanja zahtevima. Kao krajnji rezultat ovih aktivnosti treba da se dobije specifikacija zahteva, tj. Software Requirements Specification. Pored same aplikacije koja se razvija, ovo je najvažnija komponenta čitavog projekta.Dokument specifikacije zahteva može da se čuva u bilo kojoj formi. Na papiru, kao tekstualni dokument, u obliku tabele ili u relacionoj bazi. Ipak, najbolje je da se za te potrebe koristi neki specijalizovani alat. Kakvi sve zahtevi postojePostoji više tipova zahteva. Generalno, svaki zahtev može da se svrsta u jednu od dve kategorije: funkcionalni i nefunkcoinalni. Funkcionalni zahtevi, predstavljaju svaku funkciju sistema. Ove funkcije mogu da koriste kajnji korsnici ili pak drugi sistemi i podsistemi. Neki od primera su: proveri stanje na računu, podigni novac, pijavi ispit, štampaj račun, prosledi fakturu itd... Ono što ih karakteriše je specifičan oblik "glagol-imenica". Na taj način uvek ih je lako prepoznati. Nefunkcionalni zahtevi opisuju karakteristike koje sistem treba da ima. Karakteristike mogu da se svrstaju u neku od sledećih kategorija: prenosivost, skalabilnost, bezbednost, privatnost, autentikacija, enkripcija, opterećenje... Neki od primera su sledeći: "Sistem mora da podrži minimum 100 istovremenih korisnika"; "Sistem treba da opsluži najamnje 1000 konkurentnih zahteva u sekundi"; "Svi lični podatci korsnika treba da se čuvaju u kriptovanoj formi" itd. Zahtevi/Dizajn/ImplementacijaSistem može da se posmatra na više načina. Sa aspekta korisnika, projektanta, programera... Zahtevi predstavljaju sistema na konceptualnom nivou, odnosno onako kako ga korisnik vidi. Kao skup funkcija koje mu stoje na raspolaganjju. Dizajn je pogled na sistem iz ugla projektanta, tj. sistem na logičkom nivou. Skup objekata i akcija koje ti objekti obavljaju. Implementacija prikazuje sistem onako kako ga vidi programer. Skup klasa, funkcija, paketa, komponenata... Svaki nivo može da se posmatra kao zaseban sloj sistema. Sloj zahteva je iznad sloja dizajna, koji je opet iznad sloja implementacije. Sloj na višem nivou potpuno određuje sloj na nižem. Sa druge strane sloj na nižem nivou ni na koji način ne sme da određuje sloj na višem nivou. To za posledicu ima da dizajn i implementacija ni na koji način ne smeju da utiču na zahteve. Rešenje je da se zahtevi predstave jezikom korsinika, te da se izostave bilo kakvi tehnički termini. Slede dva primera:
Prethodna dva primera predstavljaju dve očigledne suprotnosti. Prvi primer je odličan primer jednog funkcionalnog zahteva. Korišćen je samo rečnik korisnika. Ne pretpostavlja se ništa o načinu na koji korisnik stupa u interakciju sa sitemom. Pritiskom na neki od tastera ATM-a, ili izborom opcije na touch-screenu. O tome da li se stanje prikazuje na ekranu ili se štampa račun. Ne govori se ništa ni o tome kako su realizovane ove funkcije. Korisnika ne interesuje način na koji sistem funkcioniše Interesuje ga samo krajnji benefit, informacija o raspoloživom stanju. Drugi primer je potpuna suprotnost. Ovde su napravljene sve greške, koje je bilo moguće napraviti. Pretpostavlja se da sistem koristi grafički interfejs i padajuće menije. Da se u interakciji sa sistemom korsnik služi mišem. Nameđe se ograničenje da se podatci o korisniku čuvaju u bazi podataka, te da postoji poseban server za tu namenu. Pominju se i uskladištene procedure... Na ovaj način zahtevi su "zaprljani" pretpostavkama o dizajnu i implementaciji. To dovodi do toga da korisnik ne razume opisane funkcija sistema, pa ni ne učustvuju u procesu. Sistem, sa druge strane, postaje potpuno nefleksibilan i ograničen nametnutim rešenjima. Wearing multiple hats |
|
|