Semua yang Saya Tambahkan Masuk Akal. Bersama-sama Mereka Mengubur Saya.

Hampir semua yang pernah saya tambahkan ke proyek ini, pada saat saya menambahkannya, adalah sesuatu yang sepenuhnya masuk akal untuk ditambahkan. Setiap fitur punya pembenaran yang nyata. Setiap kasus tambahan yang saya tangani adalah kasus yang memang benar-benar muncul. Setiap perbaikan kecil memperbaiki sesuatu. Dan jumlah dari semua tambahan yang masing-masing terasa masuk akal itu adalah sebuah sistem yang begitu berat, begitu kusut, dan begitu lebar sampai nyaris tidak bisa bergerak sama sekali.

Bagian yang meresahkan adalah tidak ada seorang pun yang pernah memutuskan untuk membuatnya jadi seperti itu. Tidak ada momen penilaian buruk yang bisa ditunjuk. Ia hanya menumpuk, satu keputusan yang sepenuhnya bisa dibela pada satu waktu, menjadi sesuatu yang tidak akan pernah dipilih siapa pun secara sengaja.

Setiap tambahan dibenarkan secara lokal

Inilah inti dari mengapa scope creep begitu sulit ditolak: ia tidak pernah datang sebagai satu keputusan buruk. Ia datang sebagai rangkaian keputusan baik yang panjang dan tak terputus. Setiap fitur baru berguna. Setiap kasus tepi tambahan itu nyata. Setiap perbaikan bertipe “selagi saya di sini, sekalian saja” memang masuk akal pada saat Anda melakukannya. Anda tidak pernah, pada satu langkah pun, melakukan sesuatu yang bisa Anda kenali sebagai salah.

Justru itulah yang membuatnya begitu licik. Kalau scope creep terasa seperti kesalahan saat Anda melakukannya, Anda akan berhenti. Tapi tidak. Ia terasa seperti ketekunan, seperti kecermatan, seperti ketanggapan, seperti membangun. Setiap “ya” yang individual mudah dibela, dan kerusakannya bukan disebabkan oleh satu pun dari mereka melainkan oleh fakta bahwa Anda terus mengatakan “ya”, dengan masuk akal, dalam waktu yang sangat lama.

Biaya yang tidak bisa Anda lihat pada saat menambahkan

Pembukuannya sudah dicurangi, dan ia dicurangi dengan cara yang spesifik. Saat Anda menambahkan sesuatu, manfaatnya gamblang dan langsung — Anda bisa melihat persis apa yang ia berikan kepada Anda. Sementara itu, biayanya nyaris tak terlihat pada saat keputusan diambil, karena sebagian besar biaya itu belum terjadi.

Sebab setiap tambahan membawa biaya berkelanjutan yang datang belakangan dan diam-diam. Lebih banyak luas permukaan. Lebih banyak interaksi antarbagian. Lebih banyak hal yang bisa rusak. Lebih banyak yang harus dipahami oleh siapa pun yang menyentuh sistem itu, termasuk Anda di masa depan. Lebih banyak yang harus dipelihara, selamanya. Manfaatnya adalah keuntungan satu kali yang terlihat. Biayanya adalah pajak permanen yang tak terlihat, dibayar dalam cicilan kecil jauh setelah keputusan itu dilupakan. Jadi pada saat Anda memilih, manfaat yang terlihat hampir selalu mengalahkan biaya yang terlihat — bukan karena pertukarannya bagus, melainkan karena separuh dari biaya itu tersembunyi sejak saat Anda membuat pilihan.

Masuk akal secara lokal, kacau secara global

Keadaan akhir dari semua ini adalah sebuah sistem di mana setiap bagian individualnya dibenarkan dan keseluruhannya adalah bencana. Inilah tanda tangan yang tak salah lagi dari penumpukan, dan ia punya sifat yang kejam: tidak ada satu hal pun yang bisa Anda tunjuk sebagai kesalahannya. Kesalahannya adalah akumulasi itu sendiri, terbaur ke seratus keputusan terpisah yang masing-masing, jika diambil sendiri, sepenuhnya baik-baik saja.

Ini benar-benar membingungkan untuk dihadapi, karena setiap naluri yang Anda miliki untuk memperbaiki masalah dibangun di sekitar menemukan bagian yang buruk lalu memperbaikinya. Di sini tidak ada bagian yang buruk. Anda pergi mencari komponen yang merusak segalanya, dan Anda tidak bisa menemukannya, karena tidak ada komponen yang merusak segalanya — mereka semua melakukannya, sedikit, bersama-sama. Anda tidak bisa men-debug jalan keluar dari sebuah masalah yang penyebabnya tersebar merata di seluruh hal yang terlihat masuk akal secara individual.

Hanyutan itu selalu mengarah ke lebih banyak

Di bawah ini ada semacam gravitasi yang, dalam proyek apa pun, mengarah dengan mantap ke satu arah: ke arah penambahan. Menambahkan sesuatu terasa seperti kemajuan. Ia terlihat, ia memuaskan, ia menghasilkan artefak yang bisa Anda lihat dan tunjuk. Membangun lebih banyak terasa seperti bekerja, karena memang begitu.

Pengurangan terasa seperti kebalikan dari semua itu. Menghapus sesuatu terasa seperti kehilangan, seperti membatalkan usaha, seperti mundur ke belakang. Dan yang penting, ia tidak pernah terasa mendesak — karena tidak ada yang rusak pada saat Anda gagal menghapus sesuatu. Biaya dari tidak mengurangi itu tak terlihat dan tertunda, persis seperti biaya menambahkan, yang berarti tidak pernah ada gaya pemaksa. Jadi, tanpa adanya perlawanan yang disengaja, sebuah sistem hanya akan terus menumpuk. Hanyutan itu satu arah, dan hasil bawaan dari membiarkannya berjalan adalah kekacauan yang terkubur dan tak bisa digerakkan.

Pengurangan adalah pertarungan yang disengaja dan tidak nyaman

Menghapus sesuatu ternyata jauh lebih sulit daripada menambahkannya, dan kebanyakan karena alasan yang tidak ada hubungannya dengan kesulitan teknis dan justru sepenuhnya berhubungan dengan psikologi. Saat Anda menghapus sesuatu, Anda menghancurkan kerja yang dilakukan seseorang, sering kali Anda sendiri. Anda secara diam-diam mengakui bahwa ia seharusnya tidak ada di sana. Tidak ada rasa penciptaan yang memuaskan di dalamnya, tidak ada artefak baru untuk dikagumi, tidak ada satu pun dari imbalan kecil yang diberikan oleh penambahan. Itu adalah pembatalan yang murni, tanpa gemerlap, dan sedikit menyakitkan.

Tapi kesediaan untuk tetap melakukannya — untuk memangkas fitur, untuk membunuh komponen yang tidak lagi pantas berada di tempatnya, untuk menghapus hal-hal yang berfungsi baik namun tidak sepadan dengan bobotnya — adalah salah satu dari sedikit gaya yang mampu melawan hanyutan tanpa henti menuju ketidakterkelolaan. Pengurangan tidak pernah terjadi secara bawaan, tidak pernah. Ia hanya terjadi ketika seseorang memutuskan, melawan setiap naluri yang nyaman, untuk memperjuangkannya.

Mengatakan tidak adalah sebuah fitur tersendiri

Pembingkaian ulang yang paling membantu adalah menyadari bahwa beberapa keputusan desain paling berharga yang pernah saya buat adalah hal-hal yang saya putuskan untuk tidak dilakukan. Setiap tambahan masuk akal yang Anda tolak adalah bobot yang tidak akan pernah harus Anda pikul, permukaan yang tidak akan pernah harus Anda pertahankan, kompleksitas yang tidak akan pernah Anda bayar sepanjang bulan-bulan yang menyusul.

Pemahaman yang jelas tentang apa yang bukan sebuah proyek ternyata sama pentingnya dengan pemahaman tentang apa proyek itu — dan jauh lebih sulit dipertahankan, karena mempertahankannya berarti berulang kali menolak hal-hal yang terdengar benar-benar bagus. Setiap pengecualian adalah tindakan perlawanan kecil yang berkelanjutan terhadap sebuah ide yang tampak sepenuhnya masuk akal, dan Anda harus melakukan perlawanan itu berulang kali, selamanya, tanpa imbalan apa pun selain ketiadaan sebuah masalah yang tidak akan pernah Anda saksikan telah Anda hindari. Mengatakan tidak tidak meninggalkan artefak. Justru itulah mengapa ia begitu diremehkan, dan begitu esensial.

Pelajaran yang lebih dalam: lindungi keseluruhan dari bagian-bagiannya

Semuanya bermuara pada kenyataan bahwa saya telah mengoptimalkan setiap keputusan secara lokal — apakah tambahan tertentu ini bagus? — padahal pertanyaan yang sebenarnya menentukan nasib proyek itu bersifat global: apa dampaknya terhadap keseluruhan? Itu adalah pertanyaan yang berbeda, dan jawabannya berbeda jauh lebih sering daripada yang saya kira.

Sebuah sistem bukanlah sekadar jumlah dari bagian-bagiannya yang masing-masing bagus secara lokal. Ia punya kesehatannya sendiri, bobotnya sendiri, koherensinya sendiri — sifat-sifat yang menjadi milik keseluruhan dan yang tidak ada satu keputusan pun yang bertanggung jawab atasnya, namun setiap keputusan tunggal memengaruhinya. Menjaga keseluruhan itu, melawan arus permintaan yang mantap dan benar-benar masuk akal untuk menambahkan satu hal lagi saja, ternyata adalah sebagian besar dari pekerjaan yang sesungguhnya. Saya pikir pekerjaan saya adalah membuat keputusan-keputusan individual yang baik. Padahal sebenarnya ia adalah melindungi sistem dari bobot yang terakumulasi dari seratus keputusan semacam itu.

— Tidak ada sinyal, tidak ada imbal hasil, bukan nasihat investasi.