Tren Terbaru Profesi Software Engineering

16/06/2009 10:34

Sejarah

Software engineering pertama kali di kenal pada saat konferensi di Garmisch Partenkirchen tahun 1968, konfrensi tersebut adalah konfrensi untuk mencari solusi dari krisis software yang tengah terjadi. Krisis software mulai mewabah sejak munculnya komputer generasi ke tiga, dimana software yang dihasilkan menjadi lebih besar dan kompleks, biaya hardware turun dan biaya software meningkat, hal ini terjadi sekitar tahun 1960an.

Software Engineering

Tujuan utama rekayasa perangkat lunak adalah perangkat lunak untuk meningkatkan kualitas dan pemeliharaan. Berikut definisi rekayasa perangkat lunak yang diusulkan oleh Fritz Bauer:

"The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines."

 

Software engineering terdiri atas metode, tools dan prosedur. Software Engineering sendiri sebenarnya adalah Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi, desain, implementasi sampai pemeliharaan setelah digunakan. Peningkatan dari penggunaan  program dengan paradigma OOP di era 80an telah merubah Software Engineering secara mendasar.

Saat ini Software Engineering dibedakan dari ilmu komputer. Semakin banyak juga riset dan pembangunan CASE tools (Computer Aided Software Engineering) yang terjadi di dalam industri dan bidang akademik.

Pengelompokan di Software Professional sekarang ini sebagai berikut (top-down in relation with quantity):

-Professional Software Engineers

-Unlicensed Software Engineers /Certified Software Technologists

-Highly skilled Software Developers

-Average Software Developers

Spesialisasi menjadi elemen penting dalam kematangan profesional. Di industri Software yang menuju kematangan, dua kategori spesialisasi muncul: 

1.      Software Technology Specialization /Software Technologist

2.      Software Engineering Specialization.

Keduanya merupakan parts of Software Technologist dan Software Engineers community. Berbagai macam sertifikasi Software Technologist yg sudah ada dari  berbagai perusahaan seperti Microsoft , Novell, Oracle, dan Apple. Spesialisasi juga mulai muncul di bidang Software Engineering , dan ini menjadi trend yang sangat menarik. Ini berawal dari kurangnya software engineering menyebabkan organisasi industri software menjadi berkualitas rendah, schedule delay, cost overruns, dsb. Sehingga muncul spesialisasi di Software Engineering seperti Architect, Business & Requirements, System Analyst, Integration, Maintenance & Enhancements, QA, Testing, Technical writing

 

Dibawah ini beberapa kemampuan yang harus dimiliki oleh seorang software engineer, diantaranya :

1. Menguasai keterampilan dan pengetahuan rekayasa perangkat lunak.

2. Mampu bekerja sebagai perorangan dan sebagai bagian dari suatu tim untuk mengembanghkan suatu perangkat lunak yang berkualitas.

3. Mampu merancang suatu perangkat lunak sesuai dengan sasaran proyek. Batasan biaya, waktu, pengetahuan, sistem yang berjalan dan organisasi.

4. Mampu memberikan desain solusi sesuai dengan aplikasi yang dibangun dan mampu mengintegrasikan dengan pendekatan etis, sosial, hukum dan ekonomi.

5. Mampu mendemonstrasikan suatu pemahaman akan teori, model, teknik dalam hal identifikasi masalah dan analisa, desain perangkat lunak, pengembangan, implementasi, verifikasi dan dokumentasi.

6. Mampu dan paham akan pentingnya negosiasi, kebiasaan bekerja efektif, leadership dan komunikasi baik dengan stakeholders maupun dengan rekan tim pada saat pengembangan software.

7. Selalu mempelajari model baru, teknik, teknologi yang muncul serta mengembangkan profesional yang berkelanjutan.

 

 Profesi Software Engineer sejauh ini belum memiliki organisasi profesi. Organisasi profesi Software Engineer yang mungkin diperlukan adalah tidak diperlukan untuk menyeleksi keanggotaannya, namun yang penting adalah bisa memberikan kualifikasi yang jelas tentang apa Software Engineering itu, siapa Software Engineer itu, dan membantu anggotanya untuk memperbaharui pengetahuan dan ketrampilannya. Namun belakangan ini pengesahan profesi Software Engineer oleh organisasi profesi mulai dirasakan perlu karena banyak bidang kerja profesi ini yang bersinggungan dengan hajat hidup orang banyak.

Untuk itu berarti seorang Software Engineer harus memiliki pendidikan formal tingkat sarjana yang merupakan gabungan dari bidang:

  • Computer science: terutama dalam perangkat keras
  • Engineering: terutama dalam pendekatan/metode analisa pemecahan masalah
  • Industrial engineering: terutama dalam optimasi proses dan sumber daya
  • Management: terutama dalam mengelola manusia dan kelompok kerja, manajemen proyek
  • Social science: terutama dalam pendekatan manusia dan komunikasi

 

Di Indonesia profesi Software Engineer belum terdefinisikan, masih dicampur adukkan dengan profesi lainnya. Di dalam pengembangan perangkat lunak dikenal 2 aktor yang terlibat yaitu System Analyst dan Programmer. System Analyst melakukan analisa terhadap masalah dan kebutuhan organisasi dalam mengelola orang, metode, dan teknologi untuk mengatasi masalah tersebut. Programmer merencanakan keperluan penggunaan perangkat keras dan lunak yang sesuai dengan solusi yang direkomendasikan oleh System Analyst, dan memastikan kebenarannya sesuai dengan spesifikasi.

 

ACM/IEEE mengeluarkan suatu kode etik sebagai profesional Software Engineering, antara lain harus mengikuti Delapan Prinsip berikut :

1. MASYARAKAT, Perekayasa perangkat lunak akan bertindak secara konsisten sesuai dengan kepentingan masyarakat.

2. KLIEN DAN ATASAN, Perekayasa perangkat lunak akan melakukan yang terbaik bagi klien dan atasan mereka, konsisten dengan kepentingan masyarakat.

3. PRODUK, Perekayasa perangkat lunak akan mejamin bahwa produk mereka dan modifikasi yang mereka lakukan terhadapnya memenuhi standar profesional yang setinggi-tingginya.

4. PENILAIAN, Perekayasa perangkat lunak akan mempertahankan integritas dan independensi penilaian profesional mereka.

5. MANAJEMEN, Manajer dan pemimpin rekayasa perangkat lunak akan mengikuti dan mempromosikan pendekatan etis terhadap manajemen pengembangan dan pemeliharaan perangkat lunak.

6. PROFESI, Perekayasa perangkat lunak akan mempertinggi integritas dan reputasi profesinya konsisten dengan kepentingan masyarakat.

7. KOLEGA, Perekayasa perangkat lunak akan bersifat adil dan mendukung terhadap koleganya.

8. DIRI SENDIRI, Perekayasa perangkat lunak akan berpartisipasi dalam pembelajaran seumur hidup mengenai praktek profesi mereka dan akan mempromosikan pendekatan etis terhadap praktek profesi tersebut.

Kode Etik ini dibuat terkait dengan perilaku dan keputusan yang dibuat oleh para Software Engineering Profesional yang mencakup profesi praktisi, pendidik, manajer, supervisor, pembuat kebijakan dan termasuk trainee dan mahasiswa profesi Sofware Engineering.

 

 

Back

Search site

© 2008 All rights reserved.