7 Alasan Mengapa Software Engineering Penting

Pada artikel kali ini,kita akan membahas mengenai alasan yang membuat software engineering itu penting.
Pada umumnya, bidang ilmu software engineering digunakan dan diadopsi secara luas oleh berbagai perusahaan besar.
Namun demikian pertanyaannya adalah apakah bidang ilmu ini hanya dapat digunakan oleh perusahaan besar? bagaimana jika anda adalah seorang programmer full-stack, single fighter developer atau bahkan sebuah start-up company dengan skala small-medium. Apakah anda membutuhkan pendekatan software-engineering di dalam pengembangan perangkat lunak? bukankah itu hanya membuang-buang waktu dan biaya?
Mungkin dalam beberapa kondisi, anda bisa saja berpikir bahwa anda tidak membutuhkan pendekatan
software engineering dalam membangun sebuah sistem dan mengasumsikan bahwa anda dapat membuat perangkat lunak dengan sangat mudah dalam waktu yang sangat singkat. Pada praktiknya, sebenarnya pendekatan apapun yang anda lakukan demi tercapainya tujuan boleh-boleh saja dilakukan. Bisa saja anda menggunakan pendekatan-pendekatan engineering lainnya dalam pembuatan perangkat lunak seperti misalnya menggunakan kanban system yang biasa digunakan pada proses manufaktur teknologi otomotif.
Dalam beberapa mini-program pendekatan seperti ini mungkin sah-sah saja bahkan dalam beberapa kondisi, hal ini dapat membuat biaya produksi lebih minim dan waktu pengerjaan lebih singkat.
Namun bagaimana jika suatu ketika anda mendapatkan sebuah projek yang harus dibangun dengan berjuta-juta kode program dan memiliki fitur yang begitu banyak. Apakah pendekatan-pendekatan engineering non-software engineering masih bisa menghandlenya?
Jikapun mungkin, apakah pendekatan-pendekatan itu cukup reliable?

Mari kita coba lihat dalam ilustrasi yang lebih sederhana,

Bayangkan anda adalah seorang kontraktor dinas perhubungan daerah, dimana anda mendapatkan projek untuk membangun sebuah jalan tol yang menghubungkan dua kota sejauh 50Km. Tentunya terdapat banyak aspek yang harus anda penuhi dalam mensukseskan projek tersebut baik secara teknis maupun non-teknis.
Tentunya anda tidak mungkin langsung membeli aspal dan membuat jalan bukan?.
Hal pertama yang harus anda lakukan adalah melakukan perencanaan, berkoordinasi dengan stakeholder dan tim serta menguji hasil pekerjaan tersebut untuk menjamin tercapainya standar kualitas yang berlaku.

Konsep pemikiran ini sama halnya dengan membuat sebuah perangkat lunak. Bagi para raksasa IT seperti Google, Microsoft, Facebook dan IBM, tentunya dalam membuat perangkat lunak anda harus membuat perencanaan yang matang, koordinasi antar tim dan stakeholder, menguji dan merawat perangkat lunak. Semua hal ini mungkin sekali dapat dilakukan dengan penerapan software engineering dalam setiap pekerjaan pengembangan. Jika anda terbiasa dengan pemikiran ini, maka membuat software baik skala kecil, menengah dan besar bukanlah suatu permasalahan untuk anda. Karena jika dikerjakan dengan teliti dan terstruktur perangkat besar pun akan dengan sangat mudah bisa diselesaikan.


Marco Maiocchi dari University of Milan dalam jurnal Future Generation Computer Systems volume 7, menjelaskan bahwa setidaknya terdapat beberapa alasan mengapa software engineering itu sangat penting, diantaranya adalah:

1. Mengurangi Kompleksitas
Software dengan skala besar dan kompleks sangat sulit untuk dikembangkan. Untuk mengatasi hal ini, Software Engineering dapat diterapkan sebagai sebuah solusi untuk mengurangi kompleksitas dari setiap projek dengan cara membagi sekumpulan masalah besar menjadi beberapa masalah yang lebih kecil. Dengan demikian, masalah-masalah dapat diselesaikan dengan solusi-solusi yang dikerjakan satu persatu. Dengan teknik ini setiap permasalahan kecil dapat diselesaikan secara independen satu sama lain. Pada akhirnya, setiap masalah yang telah berhasil diselesaikan akan dikombinasikan satu sama lain untuk menghasilkan sebuah solusi akhir. Teknik ini disebut Problem Decomposition. Fokus dari teknik ini adalah memfokuskan penyelesaian masalah pada masalah yang paling relevan untuk diselesaikan saat ini dengan cara mengabaikan masalah-masalah yang dianggap tidak relevan. Dengan pola pikir ini, diharapkan masalah-masalah besar dapat diselesaikan dengan lebih mudah.

2. Untuk meminimalisir biaya perangkat lunak
Perangkat lunak membutuhkan banyak sekali kerja keras dan disisi lain seorang software engineer merupakan tenaga ahli dengan biaya yang mahal. Kebanyakan orang berfokus untuk membangun perangkat lunak dengan jutaan baris kode program. Namun di dalam software engineering, programmer harus merencanakan semuanya dan mereduksi segala hal yang dianggap tidak penting. Hasilnya, biaya produksi dari pengembangan perangkat lunak menjadi dapat dikurangi dibandingkan pengembangan perangkat lunak lainnya yang tidak menggunakan pendekatan software engineering.

3. Untuk mengurangi waktu
Segala yang tidak dibuat berdasarkan “Perencanaan” selalu menghabiskan waktu lebih banyak. Dan jika kita membuat sebuah software yang memiliki lingkup besar maka anda harus menjalankan banyak kode program untuk membuat kode dapat berjalan dengan maksimal. Hal ini sangat menghabiskan waktu. Jika tidak ditangani dengan manajemen yang baik maka hal ini malah akan menghabiskan banyak waktu.

4. Mampu Menangani Projek Besar
Projek besar tidak dibuat hanya dalam beberapa hari, dibutuhkan kesabaran, perencanaan dan manajemen untuk menjamin tercapainya tujuan. Andaikata terdapat sebuah projek yang harus diselesaikan dalam jangka waktu 5 tahun, dan terdapat 40 tugas yang harus dikerjakan dan dalam satu semester perusahaan harus menyelesaikan setidaknya 4 tugas. Maka perusahaan juga harus memiliki komitmen agar jangan sampai dalam satu semester ternyata tugas yang hanya bisa diselesaikan 1 dari 4 tugas yang harusnya selesai. Oleh sebab itu untuk dapat sesuai dengan waktu yang ditentukan dibutuhkan perencanaan, arahan, pengujian dan proses maintenance yang dijalankan dengan disiplin.

5. Menjamin Kehandalan Perangkat Lunak
Software harus handal, handal berarti software yang dibangun haruslah bekerja sesuai dengan waktu yang telah ditetapkan. Dan jika terdapat kesalahan dalam pembuatan software maka perusahaan harus menyelesaikan permasalahan-permasalahan tersebut. Di dalam software engineering, terdapat teknik testing dan maintenance yang harus dilakukan untuk menjamin kehandalan perangkat lunak.

6. Menjamin Efektifitas
Efektifitas akan terjadi jika perangkat lunak telah berhasil dibangun berdasarkan sebuah standar yang berlaku. Di dalam software engineering terdapat berbagai standar yang dapat dijadikan acuan dalam pembangunan sebuah software yang efektif seperti ISO 3535:1977 tentang desain formulir dan bagan, ISO 5806/1984 tentang tabel dan information processing, ISO 5807:1985 tentang dokumentasi dan konvensi data, dan lain-lain.

7. Produktivitas
Dengan bantuan software engineering, setiap perusahaan dapat meningkatkan produktivitas. Setiap projek dapat dikurangi biayanya dan menghabiskan waktu pengerjaan yang lebih sedikit. Di dalam software engineering, produktivitas software dapat dihasilkan karena adanya sistem pengujian di dalam setiap bagian terkecil suatu proses. Jika tidak lolos uji, maka seorang developer harus memperbaikinya hingga akhirnya mencapai suatu standar yang berlaku.

 

Belajar terkait perangkat lunak, MENARIK kan ? Nah, Program Studi S1 Rekayasa Perangkat Lunak (S1 Software Engineering) ST3 Telkom Purwokerto menyelenggarakan matakuliah-matakuliah terkini dan terkait dengan dunia Rekayasa Perangkat Lunak yang sangat menarik. Pada matakuliah tersebut kita langsung belajar best practices seperti proses, tools, teknik, dan bidang pengetahuan yang dibutuhkan untuk ilmu rekayasa perangkat lunak. Ini akan jadi bekal berharga Anda untuk menekuni karir sebagai Software Engineer dan/atau Technopreneur.

 

Sumber:
http://careersplay.com/7-importance-of-software-engineering-you-never-know/
https://www.iso.org/committee/45086/x/catalogue/
Maiocchi, M. (1991). Software Engineering. Future Generation Computer Systems, 7, 23-29.

 

Related Post

Jl. D.I Panjaitan No. 128 Purwokerto 53147, Jawa Tengah – Indonesia

Telp: 0281-641629
Email Official: [email protected]

Copyright ©2024 All Rights Reserved By Telkom University