Kisah Differential Analyzer
Aturan pertama Hamming tentang sistem pengelolaan: Jika Anda mengoptimalisasi komponen, kemungkinan besar kinerja sistem akan rusak.
Dia mengilustrasikannya dengan cerita dari pekerjaannya sendiri. Dia mengoperasikan differential analyzer - komputer analog yang mengatasi persamaan diferensial dengan integrasi mekanik. Permintaan tumbuh, jadi unit kedua dipesan, untuk dihubungkan dengan yang pertama sehingga keduanya dapat beroperasi sendiri atau bersama.
Para pembangun, bangga akan karyanya, meningkatkan amplifier dalam unit baru. Hamming menegaskan: setiap peningkatan tidak boleh mengganggu operasi sistem secara keseluruhan. Pada hari pertama uji coba, dia menjalankan tes klasik: memecahkan y'' + y = 0, plot y vs y', diharapkan menjadi lingkaran sempurna. Ini gagal segera.
Penyebabnya: amplifier yang ditingkatkan mengambil arus lebih dari grounding circuit. Grounding yang tidak cukup, yang sebelumnya berfungsi dengan amplifier asli, sekarang memungkinkan arus kebocoran untuk saling berkaitan antar subsistem. Peningkatan satu komponen (amplifier) menurunkan antarmuka (grounding), dan sistem gagal.
Solusi adalah sederhana - grounding yang lebih berat - tetapi prinsipnya jelas: peningkatan komponen mengubah perilaku antarmukanya. Bagian lain dari sistem dirancang berdasarkan antarmuka lama. Tingkatkan komponen, putuskan antarmuka, turunkan sistem.
Mengenali Optimisasi Komponen
Hamming mengatakan aturan 'terasa sangat wajar jika Anda membuat komponen terisolasi lebih baik maka sistem keseluruhan akan lebih baik' - dan namun itu salah. Kegagalan adalah mediator antarmuka: peningkatan komponen mengubah sinyal yang dilihat antarmuka.
Antarmuka Atas Komponen
Konklusi praktis Hamming: insinyur sistem harus merancang dan memverifikasi antarmuka terlebih dahulu, komponen kedua. Komponen sempurna dengan antarmuka yang rusak tidak berguna. Komponen yang tidak begitu bagus dengan antarmuka yang baik dapat ditingkatkan kemudian.
Aturan 2: kondisi batas (keterbatasan) sebuah sistem seringkali lebih penting daripada nilai optimum di dalam batas-batas tersebut. Sistem yang dirancang untuk mengoptimalkan kinerja di titik operasi yang diharapkan seringkali rapuh: kecil keluaran di luar jangkauan yang diharapkan menyebabkan kegagalan. Sistem yang dirancang untuk beroperasi aman di rentang yang lebar - dengan kondisi batas yang didefinisikan - lebih berguna, meskipun kinerja puncaknya sedikit lebih rendah.
Contoh: sistem komunikasi yang dirancang untuk lalu lintas 100 Mbps tepat pada suhu 25°C akan gagal jika lalu lintas melebihi 110 Mbps atau suhu naik menjadi 40°C. Sistem yang dirancang dengan batasan 'tidak boleh melebihi 90% penggunaan pada suhu apa pun di bawah 60°C' lebih berguna, meskipun kinerja puncaknya sedikit lebih rendah.
Tugas insinyur sistem: tidak untuk mengoptimalkan A atau B secara individual, tetapi untuk mengoptimalkan A+B+C... sebagai keseluruhan, subjek pada kondisi batas.
Sistem Pendidikan: Sistem Sistem Insinyur Gagal
Hamming menerapkan prinsipnya pada pendidikan. Selama dekade-dekade, universitas telah mengoptimalisasi mata pelajaran matematika individu: Kalkulus telah disederhanakan, Aljabar Linier telah diperbaiki dan diperketat. Setiap mata pelajaran, dinilai secara individu, terlihat lebih baik.
Tapi dilihat sebagai sistem, celah antarmuka besar muncul:
- Induksi matematis: hampir tidak disebutkan setelah sekolah menengah.
- Bilangan kompleks: dikenalkan singkat dalam algebra, kemudian dihindari hingga akhir Aljabar Linier ketika nilai eigen yang kompleks muncul. Mahasiswa menghadapi dua ide yang sulit secara bersamaan tanpa persiapan sebelumnya.
- Koefisien tidak tertentu: disinggung singkat.
- Bukti kemustahilan: hampir tidak ada.
- Matematika diskrit: diabaikan.
Optimalisasi setiap komponen (setiap mata pelajaran) menciptakan celah antarmuka: jembatan konseptual yang hilang antara mata pelajaran. Output sistem - insinyur dan ilmuwan yang terdidiki - menderita, meskipun metrik output setiap mata pelajaran menjadi lebih baik.
Menentang Nafsu Alami untuk Memperbaiki Bagian yang Rusak
Pengamatan Hamming: mudah untuk mengatakan kata-kata yang tepat tentang sistem engineering. Hanya sedikit orang yang bisa melakukannya dengan baik ketika saatnya tiba.
Respon alami ketika suatu sistem gagal: identifikasi komponen yang paling jelas rusak dan perbaiki. Ini adalah pemikiran komponen. Sistem tersebut gagal karena alasan yang melibatkan interaksi komponen, antarmuka, dan batasan — tetapi kegagalan yang paling terlihat biasanya terletak pada komponen tunggal.
Disiplin insinyur sistem: sebelum memperbaiki kegagalan yang terlihat, tanyakan: mengapa sistem menghasilkan kegagalan ini pada komponen ini? Apakah komponen benar-benar underperforming, ataukah ia diminta untuk beroperasi di luar lingkup desain oleh sistem yang lain? Memperbaiki gejala komponen meninggalkan kegagalan sistem utuh.
Botolnek komunikasi di organisasi besar mengikuti pola ini: departemen tersebut tidak komunikasi dengan baik (kegagalan yang terlihat). Perbaikan komponen: merekrut komunikator yang lebih baik. Perbaikan sistem: merancang arsitektur aliran informasi agar komunikasi yang diperlukan untuk mencapai koordinasi yang sama menjadi lebih sedikit.
Diagnosis Sistem
Perbedaan: perbaikan komponen mengobati gejala. Perbaikan sistem mengobati penyebab. Penyebab biasanya melibatkan struktur sistem — yang komponen-komponen yang ada, antarmuka yang menghubungkannya, batasan operasional mereka.