Monday, March 30, 2009

Criteria apabila memilih service dan function skop

Aku sekarang terlibat dalam development enterprise application dalam skala yang besar. Seperti biasa cara design architecture banyak terpengaruh dengan Domain Driven Design. Aku masih lagi mentah apabila hendak memilih "Application Service" dari segi naming pattern dan skop yang di "cover" oleh sesuatu service. Secara kebiasaan kelakuan service ialah terlibat dalam coordinate lebih dari satu domain dan "Application Service" tidak sepatutnya terlibat dengan sebarang "state" dalam ertikata yang lain sesiapa sahaja boleh mengambil instance service tersebut tanpa risau akan sejarah life cycle service tersebut sebelum ini (Ini apa yang aku faham dan cuba menterjemakan kedalam bahasa biasa). Ok sebelum pergi jauh apa yang aku nak tekan kan disini ialah criteria Application Service dan bukannya Domain Service. Ada sesiapa biasa membantu?

Update
1. Apabila selesai design domain model dan cuba fikir dari model tersebut dari aspect client, apakah business service yang diperlukan. So dari point tersebut boleh dapat list service yang terlibat.

Thursday, March 26, 2009

Tidak mampu hendak puaskan hati semua orang

Buat berdasarkan apa yang mampu dan semua itu dan ditentukan oleh Allah.

Saturday, March 21, 2009

Learning Management System

Selain dari Campus Management System, aku juga terlibat dalam Learning Management System, walaupun aku tidak involve dalam programming tapi aku mesti familiar, clear setiap function/features yang ada dalam LMS. Seperti biasa bila mencari tu memang ada banyk benar LMS yang ada kat muka bumi nie, sebelum nie aku tahu Dokeos, Docebo dan Moodle rupanya kawan-kwan dia yang lain pun ramai dan beraneka ragam features. Aku jumpa satu website yang bagi list LMS

http://software.forbes.com/learning-management-system-software

Selamat mencuba : )

Friday, March 20, 2009

Mencari Enterprise Architecture Tools

Aku ada hal pagi nie, so aku ambil EL sebab nak settlekan pasal account bank rumah. Malam tadi aku ada masa nak research pasal EA tools yang available dan yang penting free. Sebelum nie untuk architecture design banyak guna sketch + argo uml + excell. Tapi aku rasa tak memadai guna tools dan tak memenuhi kehendak EA process.

Ada beberapa tools yang aku jumpa dan dalam process evaluate
1. ADONIS
2. Essential Project
3. Iteraplan

Update
Design Process Modeler :
- BizAgi ( agak menarik)
- yED Graph Editor

Thursday, March 19, 2009

Test framework tools

Sekarang nie aku guna Gallio untuk execute test fixture aku, yang best tentang Gallio dia boleh execute banyak jenis framework serentak sebagai contoh untuk layer UI aku mungkin nak guna MBUnit dan unutk layer Services aku nak guna NUnit manakala untuk DataAccess aku boleh guna XUnit. Selamat mencuba..

Real Estate - testing project

Aku sekarang tengah dalam process refactoring current Campus Management System dan aku dah beberapa bulan tak terlibat secara direct dalam coding. Kebanyakkan masa aku terlibat dengan team meeting, department meeting.

Untuk mengikuti perkembangan software development, aku rasa aku kena juga buat simple code atau simple project baru skill aku tak ketinggalan. Tapi biasanya bila aku plan nak buat project suka-suka, selalunya pertengahan jalan saja. Bahagian ini yang aku kenkadang aku ada masalah. Awal-awal mungkin aku bersemangat, tapi bila pertengahan bila dah busy dengan tanggungjawab dengan real project, aku rasa macam terbengkalai sahaja. Sudah banyak kali aku nak dokumen cara aku terlibat dalam development process tapi biasanya part 1 atau part 2, selepas tu aku dah tak boleh fokus. Macam mane nak buat tu?

Helper break in MVC 1.0

So far ada beberapa helper yang tak lagi disupport oleh MVC 1.0 kerana sebab-sebab tertentu. Aku malas nak bincang pasal kenapa function/helper tu tak support lagi tapi nak listkan beberapa code yang aku kan tukar dalam project sekarang ini:

1. Html.Form<> dah tak support, kena tukar ke Html.BeginForm
2. HtmlActionLink<> pun dah tukar kepada Html.ActionLink sahaja
3. Html.SubmitButton pun kena tukar kena normal cara
4. Html.CheckBox parameter position dan type pun dah berubah

Upgrade kepada ASP.Net MVC RC 2

Ada beberapa functionality break bila aku upgrade ke ASP.Net MVC RC 2. BTW kebanyakkan cara adalah lebih mudah dan pendek apabila mengguna version baru ini.

Upgrade ke new version nie adalah salah satu list dalam improvement session yang team aku akan focus dalam beberapa minggu mendatang ini, insyAllah.

Update
40% code dah compatible dalam ASP.Net MVC RC 2. Lagi satu hari nie Microsoft buat announcement ASP.Net Release RTW dah boleh download dan guna

ASP.Net MVC 1.0

Wednesday, March 18, 2009

Guna Balsamiq Studio

Aku dah guna Balsamiq Studio selama 2 minggu, application nie aku beli harga USD79. Alhamdulillah aku cukup puas hati. Contoh skecth UI aku ambil dari website
http://devlicio.us/blogs/casey/archive/2009/03/09/ddd-sample-application-first-steps.aspx

Campus - University enviroment

Hampir setahun lebih aku terlibat dalam pembangunan software berkaitan campus, university dan juga e-learning. Agak menarik juga kerana bidang ini terlalu luas dan berkempang dengan begitu cepat. Untuk e-learning sahaja terdapat beberapa puluh software yang berkaitan authoring tools, online video, question bank, object learning etc dan yang menarik kebanyakkan adalah open source.

Peluang di malaysia dalam bidang ini masih terbuka luas dan tak banyak lagi company yang terlibat dengan begitu mendalam total solution untuk university/campus sama ada fizikal dan juga virtual. Pengalaman sepanjang berada dalam industri ini, untuk membuat consultation cukup banyak antara larat dengan tidak sahaja.

Tuesday, March 17, 2009

Agile way - sambungan

Ok sambungan dari tulisan semalam, berkaitan user story, apakah seorang developer apabila memilih user story memang perlu buat coding dari UI hingga ke DataAccess? Jawapan nya adalah ya. Aku pun mempunyai perasaaan kurang pasti adakah betul sebegitu. Aku pernah juga berbincang dengan member dan mereka juga kurang pasti. Tapi apabila melihat sendiri dan merasa pengalaman dalam execute agile dalam team, aku rasa ada kebenaran iaitu seorang developer mesti bertanggungwab sepenuhnya pada user story itu. Cuma ada sedikit kelonggaran pada pendapat aku, ialah di layer UI, sudah semestinya developer tersebut kena terlibat dengan coding di layer UI, cuma tidak perlu sehebat web design/java script developer (jika bukan expert dalam java script). So akan ada satu lagi refactoring process terlibat hanya di UI untuk memasukkan semua element yang dapat menarik minat customer.

Agile way

Dalam agile satu user story akan di handle oleh seorang developer sahaja. Jadi jika dalam project architecture tersebut kita mempunyai 4 layer (UI,Services,Repository,Domain) maka developer tersebut mesti terlibat dalam semua layer.

Sebagai contoh base framework, standard coding dan architecture overview dah selesai dan bila process memilih user story, seorang developer kena faham dia perlu bertanggungjawab untuk coding dalam semua layer jika ada, tanggungjawab disini bukan bermakna dia perlu mahir dalam semua layer, cuma sebagai pemegang amanah untuk user story tersebut dia kena mencari solution sama ada mendapatkan khidmat nasihat senior developer dangan melakukan pair programming (teknik ini selalunya susah nak istiqamah) atau melihat contoh dari developer yang lain. Oleh kerana itu estimation untuk user story sebolehnya dilakukan oleh semua developer dari senior kepada junior dan ambil estimation yang paling memuaskan hati semua developer.

Tuesday, March 03, 2009

Catatan...

Tugas sekarang sebagai Software Architect agak mencabar tetapi bukan disebabkan masalah berkaitan software itu sendiri, cuma senario sekeliling yang membuat tumpuan kerja agak terganggu. Aku pada dasarnya tak berminat nak bincangkan masalah kerja yang tiada kaitan dengan technical/architecture/coding tapi situasi kebelakangan ini amat menghantui keupayaan aku untuk memimpin sesebuah department yang pada mulanya agak besar dan berkurang disebabkan masalah kepimpinan, kepercayaan dan ketidakpuasan hati terhadap sesuatu perkara. Tapi walaupun ada beberapa pihak tidak berapa optimist akan keupayaan organisasi ini untuk terus maju kehadapan, aku masih lagi menaruh harapan agar project ini berkembang, berjaya saing dan menjadi kebanggaan umat Islam.

Aku akui tugas aku sebagai "Head Of Department", tidak berjaya memberi impak yang positif kepada staff aku, mungkin aku masih lagi kurang ilmu, ya ilmu tu luas, semakin kita mencari ia, semakin kita akui banyak yang kita tidak tahu sebenarnya. Aku cuba sedaya munkin untuk drive team aku kepada sesuatu yang boleh dibanggakan, cuma perasaan aku, aku gagal kali ini, biar aku akui ini dari orang lain bagi tahu "you're fail". Tapi kegagalan ini bagus untuk aku, kerana sekarang aku tahu kelemahan utama aku ialah kepercayaan staff kepada aku untuk mereka membina kerjaya yang cemerlang disini kemungkinan hanyalah khayalan. Hari ini aku terima lagi satu surat perletakan jawatan kali yang keberapa ntah aku pun tak tahu. Sekrang baru terasa apabila ada staff yang hantar surat perletakan jawatan.eemm, dahulu aku yang biasanya hantar surat ini keatas. Aku tak berminat hendak salahkan pihak atasan. Aku bukannya tak kisah jika ada staff bawahan aku meletak jawatan, ia menjadi penanda aras KPI aku sebenarnya. Aku boleh terima kritikan secara terbuka, kenapa tidak sebab ianya bagus untuk terus menjadi yang terbaik.

Walau bagaimana pun insyAllah segalanya akan berjalan lancar. Aku masih lagi bersemangat untuk terus memberi kepakaran selagi diperlukan.