Teknologi

Kebebasan pengembang yang tidak terkekang mungkin sudah berakhir

Ah, hari-hari tenang pengembang sebagai pembuat raja, pengembang yang melakukan segalanya, pengembang beralih ke open source dan cloud untuk mengatasi hambatan produktivitas (seperti Hukum! Pembelian! Keamanan! Operasi!).

Tentu saja, hari-hari itu tidak pernah ada. Lagi pula, tidak sempurna—dan syukurlah. Ternyata di dunia yang semakin banyak terdiri dari perangkat lunak, pengembang penting. Banyak. Mereka bukan satu-satunya hal yang penting, tetapi memungkinkan produktivitas pengembang telah menjadi vektor kunci dalam keberhasilan setiap organisasi. Itulah sebabnya, mungkin ironisnya, cara terbaik untuk membebaskan pengembang Kamu sebenarnya adalah dengan membelenggu kebebasan mereka.

Disana dan kembali lagi

Ketika analis RedMonk Steven O’Grady pertama kali menerbitkan Pembuat Raja Baru pada tahun 2013, ia sebagian menangkap semangat zaman yang penting bagi pengembang, tetapi sebagian besar ia mempromosikan cara berpikir baru. Lagi pula, baru di perusahaan. Pada saat itu, pengembang telah merangkul pemberdayaan yang diberikan kepada mereka oleh open source dan, semakin, cloud. Namun, gagasan itu belum cukup menangkap bahwa produktivitas pengembang bukan hanya fitur yang bagus untuk dimiliki tetapi juga harus dimiliki.

Di akhir tahun 2017, O’Grady bisa bahagia melaporkan bahwa ide-idenya telah tertangkap secara besar-besaran, tetapi dengan konsekuensi yang tidak diinginkan. Semakin banyak pengembang penting, semakin semua orang ingin memenuhi kebutuhan mereka dengan alat perangkat lunak baru, proyek sumber terbuka baru, layanan cloud baru, dll. Ini berarti banyak pilihan pengembang baru dan kebebasan terkait, tetapi itu belum tentu merupakan hal yang baik. . Seperti yang dia catat, “Kabar baiknya adalah bahwa fragmentasi yang didorong oleh pengembang ini telah menghasilkan rangkaian perangkat lunak open source yang luar biasa. Berita buruknya adalah, bahkan untuk pengembang, mengelola fragmentasi ini sangat menantang.”

Bisakah seseorang memiliki terlalu banyak pilihan? Ya.

Sudah lama dikenal di ritel konsumen, misalnya, ketika ada terlalu banyak pilihan, “konsumen cenderung tidak membeli apa pun, dan jika mereka membeli, mereka kurang puas dengan pilihan mereka.” Ternyata ini bukan hanya soal sarapan sereal atau pakaian. Ini juga berlaku untuk pengembang yang membangun perangkat lunak perusahaan. Scott Carey dari InfoWorld menulis bahwa “kompleksitas membunuh pengembang perangkat lunak.” Dia benar. Tapi apa yang bisa dilakukan?

Kurang itu lebih

Dalam percakapan dengan CEO Weaveworks Alexis Richardson, dia menceritakan bagaimana platform pengembangan layanan mandiri muncul kembali untuk membantu pengembang memahami semua pilihan open source dan cloud itu. Dengan memberi pengembang “lingkungan standar yang telah disetujui sebelumnya di mana upaya untuk membuat aplikasi dari sebuah ide menjadi minimal,” jelasnya, ini memungkinkan mereka untuk “fokus pada inovasi bukan pemipaan.”

“Lingkungan yang disetujui sebelumnya”? Kedengarannya seperti kontrol. Bukankah open source dan cloud, sebagian, dimaksudkan untuk mengatasi kontrol?

Itu salah satu cara untuk melihatnya, tetapi, jika dilakukan dengan benar, sedikit kendala akan berdampak besar. Tanyakan saja kepada Netflix, yang telah menerima ide ini dan menjalankannya—melalui jalan beraspal yang bagus—sebagai dijelaskan oleh insinyur Netflix Ed Bukoski, Brian Moyles, dan Mike McGarr:

“Budaya kebebasan dan tanggung jawab Netflix memberdayakan para insinyur untuk membuat solusi menggunakan alat apa pun yang mereka rasa paling cocok untuk tugas tersebut. Berdasarkan pengalaman kami, agar alat dapat diterima secara luas, alat itu harus menarik, menambah nilai luar biasa, dan mengurangi beban kognitif keseluruhan bagi sebagian besar insinyur Netflix. Tim memiliki kebebasan untuk menerapkan solusi alternatif, tetapi mereka juga mengambil tanggung jawab tambahan untuk mempertahankan solusi ini. Alat yang ditawarkan oleh tim terpusat di Netflix dianggap sebagai bagian dari ‘jalan beraspal’. Fokus kami hari ini hanya pada jalan beraspal yang didukung oleh Engineering Tools.”

Jelas mengapa suatu perusahaan ingin memusatkan beberapa kendali atas pilihan yang dibuat oleh pengembangnya. Perusahaan menginginkan “cepat tapi aman,” saran Richardson, dan aman termasuk memastikan “bahwa kepatuhan dan keamanan ada, … wadah dipindai, rantai pasokan diverifikasi di saluran GitOps, dan seterusnya.” Ini juga merupakan kasus bahwa membatasi pilihan lebih baik untuk perusahaan daripada “menggunakan AWS mentah [or another cloud]menurut Richardson, karena jika sebuah bank “membiarkan 1.000 tim aplikasi lepas” [a particular cloud]lalu mereka akan membuat 1.000 tumpukan, yang semuanya membutuhkan detik untuk diverifikasi.”

Jelas, itu akan berantakan. Apa yang mungkin kurang jelas pada awalnya adalah bagaimana kepentingan perusahaan dalam melakukan kontrol dapat berpasangan sempurna dengan kepentingan pengembang mereka.

Perusahaan ingin “pengembang aplikasi mereka menjadi sangat produktif sehingga waktu dari ide hingga dopamin menjadi minimal,” kata Richardson. Ya itu betul. Merupakan kepentingan perusahaan untuk memastikan produktivitas pengembang maksimum. Seperti halnya keinginan pengembang untuk produktif secara maksimal. Kepentingan diselaraskan.

Ini membawa kami ke platform pengembangan layanan mandiri atau PaaS (platform sebagai layanan), seperti yang pernah kami sebut.

A PaaS dengan nama lain

Beberapa pemimpin TI perusahaan “merasa ngeri dengan gagasan layanan mandiri pengembang,” akui analis Gartner Lydia Leong, karena mereka khawatir bahwa “pelayanan mandiri akan membuka gerbang yang sebelumnya dipertahankan dengan baik … dan memungkinkan gerombolan orc yang tidak dicuci menyerbu lanskap beton dalam ledakan nyata struktur Lego, cetakan dot-matrix, pembungkus Snickers, dan tutup spidol papan tulis yang hilang .” Mereka tidak mempercayai pengembang mereka, dengan kata lain. Atau mungkin mereka tidak percaya bahwa platform swalayan pagar pembatas dapat didirikan. Apa pun kekhawatirannya, lanjutnya, swalayan “bukanlah proposisi semua-atau-tidak sama sekali. Tanggung jawab dapat dibagi di seluruh siklus hidup aplikasi sehingga Kamu bisa mendapatkan manfaat dari ‘Kamu membangunnya, Kamu menjalankannya’ tanpa harus menerjunkan pengembang Kamu ke hutan belantara yang liar dan tidak dikenal.”

Dengan kata lain, perusahaan yang ingin memberi pengembang mereka kebebasan yang diberikan cloud dapat memasangkannya dengan batasan yang cukup untuk membuat kebebasan itu berguna.

Bagaimana melakukan ini secara efektif? Netflix telah memberikan banyak saran, tetapi begitu juga yang lain, seperti perusahaan jasa keuangan Finextra, yang tahu satu atau dua hal tentang menyeimbangkan kebebasan pengembang dengan jaminan keamanan, mengingat pelanggan layanan keuangannya yang konservatif. Atau Kamu dapat mengatur waktu untuk berbicara dengan Leong atau O’Grady dari RedMonk untuk memastikan Kamu mendapatkan keseimbangan yang tepat antara kebebasan dan kontrol.

Bagaimanapun Kamu mendekatinya, intinya adalah berhenti berpikir tentang kebebasan dan kontrol sebagai hal yang mustahil ditentang. Perusahaan pintar mencari cara untuk memungkinkan pengembang mereka menggunakan platform layanan mandiri. Mungkin Kamu juga harus melakukannya.

Hak Cipta © 2022 Idya.live, Inc.

Leave A Reply

Your email address will not be published.