Setelah menonton seri MegaStructures National Geographic , saya terkejut betapa cepatnya proyek-proyek besar selesai. Setelah pekerjaan pendahuluan (desain, spesifikasi, dll.) Dilakukan di atas kertas, realisasi dari proyek-proyek besar hanya memakan waktu beberapa tahun atau kadang-kadang beberapa bulan .
Sebagai contoh, Airbus A380 "secara resmi diluncurkan pada 19 Desember 2000", dan "pada awal Maret 2005" , pesawat sudah diuji. Hal yang sama berlaku untuk tanker minyak besar, gedung pencakar langit, dll.
Membandingkan ini dengan keterlambatan dalam industri perangkat lunak, saya tidak dapat tidak bertanya-tanya mengapa sebagian besar proyek TI sangat lambat, atau lebih tepatnya, mengapa mereka tidak bisa secepat dan tanpa cacat, pada skala yang sama, diberikan cukup banyak orang?
Proyek-proyek seperti Airbus A380 menghadirkan keduanya:
Risiko besar yang tidak terduga: sementara ini bukan pesawat pertama yang dibangun, masih mendorong batasan teknologi dan hal-hal yang bekerja dengan baik untuk pesawat yang lebih kecil mungkin tidak bekerja untuk yang lebih besar karena kendala fisik; dengan cara yang sama, teknologi baru digunakan yang belum digunakan, karena misalnya mereka tidak tersedia pada tahun 1969 ketika Boeing 747 dilakukan.
Risiko yang terkait dengan sumber daya manusia dan manajemen secara umum: orang-orang berhenti di tengah proyek, ketidakmampuan menjangkau seseorang karena dia sedang berlibur, kesalahan manusia biasa, dll.
Dengan risiko-risiko itu, orang-orang masih mencapai proyek-proyek seperti pesawat-pesawat besar dalam waktu yang sangat singkat , dan meskipun pengiriman tertunda, proyek-proyek tersebut masih sangat sukses dan berkualitas tinggi.
Dalam hal pengembangan perangkat lunak, proyek-proyek tersebut tidak sebesar dan serumit pesawat terbang (baik secara teknis maupun dalam hal manajemen), dan memiliki risiko yang sedikit lebih kecil dari dunia nyata.
Namun, sebagian besar proyek TI lambat dan terlambat , dan menambahkan lebih banyak pengembang ke proyek tersebut bukanlah solusi (beralih dari tim yang terdiri dari sepuluh pengembang ke dua ribu kadang-kadang akan memungkinkan untuk mengirimkan proyek lebih cepat, kadang tidak, dan kadang-kadang hanya akan membahayakan proyek). memproyeksikan dan meningkatkan risiko tidak menyelesaikannya sama sekali).
Yang masih dikirimkan mungkin sering mengandung banyak bug, membutuhkan paket layanan berturut-turut dan pembaruan rutin (bayangkan "menginstal pembaruan" pada setiap Airbus A380 dua kali per minggu untuk menambal bug dalam produk asli dan mencegah pesawat menabrak).
Bagaimana perbedaan tersebut dapat dijelaskan? Apakah ini semata-mata disebabkan oleh fakta bahwa industri pengembangan perangkat lunak terlalu muda untuk dapat mengelola ribuan orang dalam satu proyek tunggal untuk menghasilkan produk berskala besar, hampir sempurna dengan sangat cepat?