Inilah Piawaian. Satu koleksi pengalaman berdekad dalam industri kejuruteraan. Saya mengaranginya untuk membantu anda mencari jalan menembusi lautan ilmu yang sebegitu luas. Piawaian tidak sempurna dan tidak pernah akan, dan ia mencerminkan evolusi berterusan industri kejuruteraan. Tatkala ia mungkin ditulis oleh cuma seorang, tetapi ini adalah koleksi pemikiran beratus-ratus jurutera yang pernah saya berinteraksi dengan dan yang telah saya pelajari dari sepanjang hidup ini.
Piawaian mengandungi koleksi pengalaman beratus-ratus tahun daripada pelbagai jurutera. Oleh kerana saya pernah mengembara dunia dan bekerja di pelbagai industri, saya berpeluang bekerja dengan pelbagai jenis jurutera - antaranya saintis-saintis gila yang akan menetapi setiap butiran dengan begitu terperinci sekali. Terdapat juga segelintir jurutera perniagaan yang lebih mementingkan keputusan daripada cara-cara mencapai keputusan tersebut. Tambahan kepada yang lain-lain, saya telah belajar daripada mereka semua: bagaimana menghasilkan suatu garis panduan mudah kejuruteraan yang boleh menerangi haluan bagi semua jurutera agar beroleh inspirasi darinya dan harap-harap akan mengikutinya. Oleh begitu, saya mengarangi Piawaian ini, semoga ia menjadi kompas buat jurutera-jurutera mencari haluan terbaik untuk membina penyelesaian yang kita harap boleh membawa perubahan kepada dunia.
Piawaian adalah suatu seruan kepada jurutera-jurutera serata dunia: bacalah ia dan ekstraklah darinya pengalaman serta ilmu terkandung untuk memperkayakan satu piawaian kejuruteraan yang layak dipeluk oleh industri perisian. Hari ini kita telahpun mengetahui asal-usul bumi, manusia, dan haiwan sekalian. Kita tahu suhu air didih; kita tahu berapa panjang sejengkal. Nakhoda kapal tahu ukuran tepat latitud dan longitud. Akan tetapi, kita tiada peta mahupun kompas untuk membimbing kita mengharungi lautan luas kod. Sudah tiba masanya kraf kesayangan kita diberi maruah dan penghormatan setara dengan piawaian-piawaian lain yang ditakrif berdasarkan sains.
Dalam industri ini, Piawaian membawa nilai yang teramat besar bagi yang masih mencari hala tuju. Atau bahkan bagi yang telah kehilangan hala tuju. Piawaian boleh membimbing mereka ke arah masa depan yang lebih cerah. Tetapi yang lebih pentingnya, Piawaian ini ditulis untuk semua, tanpa mengira darjat, supaya dapat mengilham setiap jurutera atau bakal jurutera agar memberi lebih tumpuan kepada apa yang penting sekali dalam kejuruteraan; yakni tujuan, bukannya teknikaliti. Apabila jurutera mempunyai sebarang piawaian pun, saya perhati mereka mula memberi tumpuan kepada apa yang boleh dicapai di dunia kini. Apabila jurutera mengikuti sebarang bentuk piawaian, tenaga dan tumpuan beralih kepada apa yang boleh mereka capai, bukan kepada caranya. Saya kumpul, dan kemudiannya karangi Piawaian ini, dengan harapan ia akan menghapus kekeliruan serta membolehkan jurutera menumpu ke atas apa yang penting sekali; gunakan teknologi sebagai cara dan alat untuk mencapai tujuan yang lebih tinggi dan sekaligus menubuhkan matlamat yang setara dengannya. Seni dan sains perekaan bentuk perisian telah banyak berkembang dan telah terbukti sebagai salah satu peralatan paling berkuasa yang boleh dimiliki seseorang hari ini. Ia wajar diberi suatu pengenalan yang kemas, dan adalah penting bagaimana kita mendidik belia mengenainya.
Secara dasarnya, Piawaian ialah tafsiran saya terhadap prinsip SOLID dan pelbagai amalan-amalan serta corak-corak lain yang senantiasa memperkaya reka bentuk dan pembangunan bagi mencapai sistem-sistem yang kukuh. Piawaian bertujuan membantu setiap jurutera mencari panduan dalam kerja seharian. Tetapi yang lebih pentingnya, Piawaian dapat memastikan setiap jurutera memiliki panduan yang diperlukan ketika mereka ingin membina sistem-sistem teguh yang boleh mendarat di bulan, menyelesai masalah paling rumit, serta memastikan kelangsungan hidup umat manusia dan evolusinya.
Piawaian adalah secara sengajanya agnostik teknologi. Prinsip-prinsipnya boleh digunapakai oleh semua bahasa pemprograman, dan konsep tiga-sifat asasnya dapat membimbing mana-mana pembangunan atau keputusan reka bentuk menjangkaui bidang perisian. Piawaian tidak harus diikat dengan mana-mana satu teknologi khusus, atau menjadi penghalang kepada sesiapa yang ingin mengikutinya, tanpa mengira bahasa pilihan. Saya akan menggunakan C# dalam rangka kerja .NET cuma untuk mewujudkan dan merealisasikan konsep-konsep Piawaian. Untuk makluman, pada fasa-fasa awal pembentukan Piawaian ini, saya lebih banyak menggunakan Scala sebagai bahasa pemprograman.
Akan tetapi apakah yang lebih penting mengenai Piawaian? Piawaian adalah pilihan untuk meletakkan suatu ukuran bagi kepakaran, pengaruh, dan kedalaman ilmu sebelum membuat sebarang keputusan. Ia juga bertujuan memainkan peranan memberi inspirasi kepada generasi jurutera akan datang supaya mengikutinya, memperbaikinya, atau menghasilkan piawaian tersendiri. Alternatifnya ialah membina perisian tanpa piawaian, di mana ia akan mengundang kekecohan dan ketidakadilan apabila kita melabur masa dan usaha dalam arah ini. Industri kita kini berada dalam kekecohan dari segi pemiawaian. Individu-individu yang tidak layak mungkin memegang atau telah mengambil posisi kepimpinan dan mempengaruhi orang-orang yang jauh lebih berkelayakan membuat keputusan-keputusan yang kita kesali.
Piawaian juga merupakan hasil kerja saya yang lahir dari kasih sayang, buat umat sejagat. Ia didorongi oleh dan ditulis dengan keghairahan untuk meningkatkan pengalaman kejuruteraan serta menghasilkan sistem-sistem yang cekap, tahan lasak, boleh diubah-suai, boleh dicantum, dan boleh dipercayai di mana ia boleh menahan cabaran-cabaran atau perubahan-perubahan yang terjadi hampir setiap hari di dalam industri kita.