Thursday, June 21, 2007

Eh bagi yang sering terjatuh dalam jalanin software development, coba baca ini (hidup XP....) PART I

"TEST FIRST"
mungkin bagi temen2 yang suka pengen tau yang extrem2 spt extreme programming pernah denger test first. yach benar test first adalah salah satu konsep yang diusung XP methodology dimana pengetesan itu dilakukan diawal kita melakukan suatu development process. slah satunya saat kita mau masuk implementing step. sebelum kita coding kita harus test code untuk menggambarkan apa yang harus diimplementasikan dalam code kita. soalnya kadang kita bikin kode tapi enggak diperlukan belum diperlukan. dan itu sebenarnya pekerjaan sia2. dari sini kita mendapatkan 2 manfaat dan bonus 2 manfaat tambahan:
pertama, kerjaan kita lebih fokus dari apa yang akan dibutuhkan; kedua, kita tidak perlu mikir lagi tentang konstrain code kita (implementation contracts) saat kita koding dan saat kita ngetesnya.
Plus 2 bonusnya (1) dari test code itu bisa di turunkan langsung jadi code yang kita butuhkan karena dari setiap case dalam test code kita udah menggambarkan kebutuhan code kita. (2) dapat menghemat waktu dalam development karena mengurangi 'reinventing the wheel'. dan kode kita tidak menjadi gemuk.
trus yang jadi masalahnya sejauh mana kita harus buat test codenya..? yups... pertanyaan bagus. test code yang kita buat harus berasal dari use cases yang kita miliki atau dalam XP disebutnya user story. yaitu yang menggambarkan spesifikasi functional requirements dari system atau plus non-functional requirementnya juga. karena itu yang menggambarkan user contract dari system.
mungkin sederhananya seperti itu... mudahkan ...!?

dan jika anda tertarik ingin lebih dalam mengenai bahasan ini, silakan anda buka websait XP officialnya di: http://extremeprogramming.org/
dan klo masih penasaran let u find out the relative methodology such as at the link:
http://agilemanifesto.org
atow link ini www.martinfowler.com , site orang suka yang extreme2 githu deh....

Sunday, June 17, 2007

Temanku... jarak pengetahuan kamu dan aku hanyalah dalam menit...

yah benar adanya saat ini menurut saya bahwa pengetahuan seseorang hanyalah berbeda dalam beberapa jam bahkan mungkin dalam menit...
sekarang kenapa ini mungkin terjadi di zaman seperti saat ini...?
ini dapat terjadi karena semua pengetahuan pada saat ini semakin mudah dicari, didapatkan, dan dipelajari dengan adanya fasilitas internet. semuanya ada disana. usaha kita hanyalah mencari, mendapatkannya dan mempelajarinya saja....
jika kita ingin mengetahui suatu hal, cukup buka situs http://www.google.co.id mungkin kita akan dapatkan informasi itu dan mungkin lebih dari apa yang kita ingin tahu dari hal itu. itulah hebatnya pengetahuan saat ini. sangat mudah, cepat, dan praktis.
jadi kesimpulan dan pembelajaran dari ini semua adalah:
1. mungkin kita perlu memperbaiki cara belajar konvensional kita, dimana kita selalu dituntut untuk menghapal atau mengingat banyak hal apalagi yang bersifat practice. Difokuskan pada hal-hal penting seperti ide, knowledge, bagaimana orang berfikir saat menemukan ide, dan yang lainnya kita serahkan tanggungjawab itu ke 'secondary storage and thinking' kita yaitu internet dan komputer. karena semua itu dapat dengan mudah mereka lakukan.
2. kita perlu hemat space berfikir kita untuk sesuatu yang sangat penting saja, yang bersifat principal, ide dan sebab-akibatnya. dan kurangi untuk menghapal sesautu yang practice, ide turunan, ataupun sebab-akibat turunannya.
3. kepintaran (IQ) seseorang mungkin pada saat ini sudah tidak menjadi pokok pertimbangan dalam beberapa aspek penilaian qualitas seseorang. karena mungkin yang lebih penting saat ini adalah bagaimana "kemampuan" belajar seseorang dalam memerima informasi yang ada dilingkungannya. kita akan coba mencontohkannya: ada karakter orang yang memang jago akan pemrograman C dan jago nya "banget" namun ia dapatkan semuanya itu karena kemampuan mengingat dan menghapalnya dan bukan karena skill berfikirnya. dan ada juga karakter yang ia tidak jago pemrograman C tapi ia punya knowledge yang baik mengenai logika pemrograman. maka saat ia dituntut untuk mempelajari pemrograman C ia akan menggunakan knowledge yang ia miliki sebelumnya, skill perfikir, logika analoginya, logika kebalikan, dll untuk mempelajari pemrograman C tersebut dapat mempelajarinya dengan singkat. dan menurut saya contoh yang kedualah yang lebih baik.
4. dan kesimpulan utama dari semuanya menurut saya adalah 'kemampuan belajarlah yang harus kita asah dan menjadi pertimbangan utama dalam aspek penilaian qualitas seseorang dan bukanlah dari sisi akademis, ataupun seseorang'....

Friday, June 1, 2007

remember..!! using framework is not to make Urs development difficult and cumbersome

to remember to myself and may be you are, as matter a fact that a framework/s used in our development is not to make u difficult and tightly, time consuming urs development process. It can help instead. If we have knowledge on behind the technology and howto using the technology, at least best practice its usage, it can much help us, could reduce or relieve some task on our development process, commonly on coding phase.
as was been told by Stephan Janssen, on discussing using ORM, Hibernate on application development based on object oriented:
"Hibernate's goal is to relieve the developer from 95 percent of common data persistence related programming tasks. Hibernate adapts to your development process, no matter if you start with a design from scratch or work with a legacy database. Hibernate generates SQL for you, relieves you from manual result set handling and object conversion and keeps your application portable to all SQL databases. Hibernate provides transparent persistence, the only requirement for a persistent class is a no-argument constructor."....