Saya bekerja di Gudang Data yang sumber beberapa sistem melalui banyak aliran dan lapisan dengan dependensi seperti labirin yang menghubungkan berbagai artefak. Hampir setiap hari saya mengalami situasi seperti ini: Saya menjalankan sesuatu, itu tidak berhasil, saya melalui banyak kode tetapi berjam-jam kemudian saya menyadari bahwa saya telah berhasil membuat konsep peta proses dari bagian kecil dari apa yang sekarang saya tahu diperlukan suatu hari nanti, jadi saya bertanya kepada seseorang dan mereka memberi tahu saya bahwa aliran lain ini harus dijalankan terlebih dahulu dan bahwa jika saya memeriksa di sini (menunjukkan beberapa bagian yang tampaknya sewenang-wenang dari setumpuk dependensi kode lainnya), maka saya akan meminta melihat ini. Ini sangat membuat frustrasi.
Jika saya dapat menyarankan kepada tim bahwa mungkin itu ide yang baik jika kita berbuat lebih banyak untuk membuat ketergantungan antara objek lebih terlihat dan jelas, daripada menanamkannya secara mendalam dalam level kode rekursif, atau bahkan dalam data yang harus hadir karena dihuni oleh aliran lain, mungkin dengan merujuk pada paradigma perangkat lunak yang terkenal, dicoba dan diuji - maka saya mungkin dapat membuat pekerjaan saya dan semua orang jauh lebih sederhana.
Agak sulit untuk menjelaskan manfaat ini kepada tim saya. Mereka cenderung hanya menerima hal-hal sebagaimana adanya dan tidak 'berpikir besar' dalam hal melihat manfaat dari dapat mengonseptualisasikan seluruh sistem dengan cara baru - mereka tidak benar-benar melihat bahwa jika Anda dapat memodelkan sistem besar efisien maka itu membuat kecil kemungkinan Anda akan menemukan inefisiensi memori, stream-stopping kendala unik dan duplikat kunci, data omong kosong karena jauh lebih mudah untuk mendesainnya sesuai dengan visi asli dan Anda nantinya tidak akan mengalami semua masalah ini yang kita sekarang mengalami, yang saya tahu tidak biasa dari pekerjaan masa lalu, tetapi yang mereka anggap sebagai tak terhindarkan.
Jadi, adakah yang tahu tentang paradigma perangkat lunak yang menekankan ketergantungan dan juga mempromosikan model konseptual umum suatu sistem dengan tujuan untuk memastikan kepatuhan jangka panjang terhadap suatu cita-cita? Saat ini kami memiliki kekacauan yang sangat besar dan solusi untuk setiap sprint tampaknya adalah "tambahkan saja benda ini di sini, dan di sini dan di sini" dan hanya aku yang khawatir bahwa segalanya benar-benar mulai berantakan.