
Pendahuluan
Perangkat lunak ada di mana-mana. Ia menggerakkan ponsel kita, mobil, bank, rumah sakit, hiburan, dan komunikasi kita. Ini adalah salah satu penemuan paling penting dan berpengaruh dalam sejarah manusia. Ini telah memungkinkan kita menciptakan hal-hal luar biasa, menyelesaikan masalah kompleks, dan terhubung satu sama lain di seluruh dunia.
Tetapi perangkat lunak juga rusak. Ia lambat, bermasalah, tidak aman, dan tidak dapat diandalkan. Ini seringkali membuat frustrasi, bingung, dan mengecewakan. Ini terus berubah, tetapi tidak selalu menjadi lebih baik. Ini menjadi semakin kompleks, tetapi tidak semakin elegan.
Mengapa ini terjadi? Mengapa kualitas perangkat lunak menurun di era kelimpahan dan inovasi? Mengapa kita puas dengan perangkat lunak yang biasa saja ketika kita memiliki potensi untuk menciptakan sesuatu yang hebat?
Dalam artikel ini, saya akan berargumen bahwa penurunan kualitas perangkat lunak adalah gejala dari masalah yang lebih dalam: penurunan kualitas manusia. Saya akan menggunakan kutipan “Waktu sulit menciptakan orang-orang kuat, orang-orang kuat menciptakan waktu yang baik, waktu yang baik menciptakan orang-orang lemah, dan orang-orang lemah menciptakan waktu yang sulit” 1 sebagai kerangka kerja untuk menjelaskan bagaimana perangkat lunak mencerminkan siklus kemakmuran dan regresi dalam masyarakat. Saya juga akan menyarankan beberapa cara untuk memutus siklus ini dan menciptakan perangkat lunak yang lebih baik dan manusia yang lebih baik.
Bagaimana Waktu Sulit Menciptakan Perangkat Lunak yang Kuat
Kutipan “Waktu sulit menciptakan orang-orang kuat” menyiratkan bahwa kesulitan dan tantangan diperlukan untuk pertumbuhan dan perkembangan manusia. Ketika orang menghadapi kesulitan, mereka harus beradaptasi, belajar, mengatasi, dan bertahan. Mereka harus cerdik, kreatif, disiplin, dan berani. Mereka harus kuat.
Hal yang sama berlaku untuk perangkat lunak. Ketika perangkat lunak diciptakan di masa sulit, ia harus efisien, efektif, kuat, dan aman. Ia harus menyelesaikan masalah nyata, memenuhi kebutuhan nyata, dan memberikan nilai nyata. Ia harus sederhana, elegan, dan indah.
Beberapa contoh perangkat lunak yang dibuat di masa sulit adalah:
Unix: Sebuah keluarga sistem operasi yang dikembangkan pada tahun 1970-an oleh peneliti di Bell Labs yang menginginkan sistem yang portabel, dapat diandalkan, dan fleksibel untuk pekerjaan mereka 2.
C: Sebuah bahasa pemrograman yang dirancang pada tahun 1970-an oleh Dennis Ritchie sebagai penerus B, yang pada awalnya adalah versi disederhanakan dari BCPL 3. C diciptakan untuk menerapkan Unix dan aplikasi tingkat rendah lainnya yang memerlukan akses langsung ke perangkat keras 4.
TCP/IP: Seperangkat protokol yang dikembangkan pada tahun 1970-an oleh peneliti di DARPA yang menginginkan jaringan yang kuat dan dapat diandalkan yang dapat bertahan dari kegagalan sebagian dan mendukung beberapa jenis komunikasi 5.
LaTeX: Sebuah sistem persiapan dokumen yang diciptakan pada tahun 1980-an oleh Leslie Lamport sebagai perpanjangan dari TeX 6, yang pada awalnya dikembangkan oleh Donald Knuth pada tahun 1970-an sebagai respons terhadap kualitas buruk penataan bukunya 7. LaTeX dirancang untuk memproduksi dokumen ilmiah dan teknis berkualitas tinggi dengan usaha minimal 8.
Contoh-contoh ini menunjukkan bahwa perangkat lunak yang diciptakan di masa sulit cenderung:
Terfokus pada menyelesaikan masalah nyata daripada menciptakan masalah buatan.
Didorong oleh rasa ingin tahu dan gairah daripada sensasi dan keuntungan.
Berdasarkan fondasi yang kokoh daripada tren yang goyah.
Dioptimalkan untuk performa daripada penampilan.
Diuji untuk kehandalan daripada popularitas.
Didokumentasikan untuk kejelasan daripada ketidakjelasan.
Dipelihara untuk jangka panjang daripada kesenjangan.
Dengan kata lain, perangkat lunak yang diciptakan di masa sulit cenderung kuat.
Bagaimana Perangkat Lunak yang Kuat Menciptakan Waktu yang Baik
Kutipan “Orang-orang kuat menciptakan waktu yang baik” menyiratkan bahwa kekuatan mengarah pada kesuksesan dan kemakmuran. Ketika orang kuat, mereka dapat mencapai tujuan mereka, mengatasi rintangan mereka, dan meningkatkan kondisi mereka. Mereka dapat menciptakan kekayaan, kebahagiaan, dan kedamaian. Mereka dapat menciptakan waktu yang baik.
Hal yang sama berlaku untuk perangkat lunak. Ketika perangkat lunak kuat, ia dapat memungkinkan penggunanya melakukan hal-hal luar biasa, menyelesaikan masalah kompleks, dan meningkatkan kehidupan mereka. Ia dapat menciptakan nilai, kepuasan, dan kegembiraan. Ia dapat menciptakan waktu yang baik.
Beberapa contoh perangkat lunak yang menciptakan waktu yang baik adalah:
World Wide Web: Sebuah sistem dokumen hiperteks terkait yang memungkinkan pengguna mengakses informasi dari mana pun di Internet. Web ini ditemukan pada tahun 1989 oleh Tim Berners-Lee sebagai cara untuk berbagi penelitiannya dengan rekan-rekannya di CERN. Web ini merevolusi komunikasi, pendidikan, hiburan, perdagangan, dan interaksi sosial.
Google: Mesin pencari yang memungkinkan pengguna menemukan informasi relevan dari miliaran halaman web. Google didirikan pada tahun 1998 oleh Larry Page dan Sergey Brin sebagai proyek penelitian di Stanford University. Google mengubah cara orang mengakses informasi.
Linux: Kernel sistem operasi sumber terbuka yang menggerakkan segalanya mulai dari server, desktop, ponsel pintar hingga perangkat tersemat. Dimulai oleh Linus Torvalds pada tahun 1991 sebagai proyek hobi, Linux mendorong gerakan pengembangan kolaboratif dan hari ini menjadi bukti kekuatan inovasi yang didorong oleh komunitas.
Facebook & Media Sosial: Platform yang telah memperbarui interaksi manusia. Didirikan pada tahun 2004 oleh Mark Zuckerberg dan teman sekamarnya, Facebook membuka jalan untuk era media sosial di mana berbagi cerita pribadi, berita, dan membentuk komunitas global menjadi norma. Media sosial telah menentukan ulang bagaimana orang terhubung, berkomunikasi, dan bahkan memulai perubahan sosial.
Contoh-contoh ini menunjukkan bagaimana perangkat lunak yang kuat dapat memajukan waktu yang baik dengan:
Memungkinkan komunikasi dan konektivitas yang lancar di seluruh dunia.
Mendemokrasikan akses ke informasi dan sumber daya.
Memfasilitasi inovasi bisnis dan membuka peluang pasar baru.
Menguatkan suara pribadi dan kolektif untuk perubahan positif.
Menyederhanakan proses dan meningkatkan efisiensi di berbagai sektor.
Pada intinya, perangkat lunak yang kuat tidak hanya menyederhanakan tugas kompleks tetapi juga memainkan peran penting dalam memajukan masyarakat, mendorong pertumbuhan ekonomi, dan memfasilitasi kolaborasi global.
Bagaimana Waktu yang Baik Dapat Mendorong Perangkat Lunak yang Lebih Lemah
“Waktu yang baik menciptakan orang-orang lemah” menunjukkan bahwa dalam masa kemakmuran dan kenyamanan, ada kemungkinan menjadi puas diri. Ketika tantangan berkurang, ada kurang urgensi untuk berinovasi atau mempertahankan ketegasan yang sama yang mengarah pada kesuksesan awal.
Menerjemahkan ini ke dalam perangkat lunak, waktu yang baik dapat menyebabkan:
Pengembangan berdasarkan tren daripada kebutuhan dunia nyata.
Ketergantungan berlebihan pada kerangka kerja tanpa memahami prinsip-prinsip dasarnya.
Memprioritaskan estetika daripada fungsionalitas.
Mengabaikan keamanan dan keandalan untuk implementasi yang cepat.
Lebih fokus pada trik pemasaran daripada perbaikan produk yang nyata.
Misalnya, pasar aplikasi dibanjiri oleh aplikasi-aplikasi yang memiliki fungsi yang tumpang tindih, mengarah pada ketidakdiperlukan. Selain itu, dengan munculnya budaya “bergerak cepat dan merusak hal-hal,” beberapa perusahaan memprioritaskan kecepatan daripada stabilitas, menghasilkan rilis perangkat lunak yang bermasalah.
Bagaimana Kita Dapat Mendorong Perangkat Lunak yang Kuat di Waktu yang Baik
Untuk memastikan perangkat lunak berkualitas terus-menerus dalam masa kemakmuran:
Menekankan pendidikan dan pengembangan keterampilan, memastikan bahwa insinyur perangkat lunak menguasai dasar-dasar.
Mempromosikan budaya pembelajaran dan inovasi yang berkelanjutan.
Menghargai perangkat lunak yang mengatasi kebutuhan dan tantangan pengguna yang nyata daripada sekadar mengikuti tren.
Memprioritaskan keamanan, keandalan, dan pengalaman pengguna di setiap fase pengembangan perangkat lunak.
Mendorong kolaborasi dan pengembangan sumber terbuka untuk mendapatkan manfaat dari sudut pandang yang beragam dan kecerdasan kolektif.
Kesimpulan
Kualitas perangkat lunak, seperti siklus masyarakat, mungkin memiliki pasang surutnya. Namun, memahami pengaruh kemakmuran masyarakat terhadap kualitas perangkat lunak dapat menawarkan wawasan untuk mengurangi risiko-risiko potensial. Dengan menghargai inovasi yang nyata, menekankan pendidikan, dan mempromosikan lingkungan pengembangan yang kolaboratif, kita dapat berharap untuk terus memproduksi perangkat lunak yang kuat tanpa memandang fase sosial di mana kita berada.