Seperti apa organisasi pembangunan modern

Saya bekerja untuk startup San Francisco. Apa yang kami gunakan di Silicon Valley belum tentu menunjukkan industri secara keseluruhan. Jadi saya secara informal bertanya kepada beberapa teman yang tersebar di seluruh industri alat apa yang mereka gunakan, untuk mencari tahu alat yang digunakan organisasi pengembangan modern (tetapi bukan Silicon Valley).

Memang benar jika Anda berada di pertanian bilik abu-abu — atau, lebih buruk lagi, pertanian bilik berwarna beige — Anda mungkin tidak berada di ujung tombak teknologi, terkemuka, atau bahkan kusam tetapi tidak tepercaya sehingga jarak tempuh Anda mungkin berbeda. Jika Anda bertanya kepada Microsoft "apa yang harus kami beli?" sekali lagi jarak tempuh Anda mungkin berbeda, tetapi bahkan Microsoft menyadari Git adalah raja dan dunia kita semakin beragam, membuat tumpukan alat pengembangan vendor mana pun lebih sulit untuk dicurahkan. Ini adalah dunia poliglot saat ini dalam hal alat pengembangan.

Jika Anda mencoba melihat posisi Anda dalam kaitannya dengan orang lain, artikel ini akan menunjukkannya kepada Anda. Jika Anda ingin mendirikan toko baru dan bertanya-tanya "Apa yang dilakukan semua orang dan ke mana kita harus pergi?" maka itu akan menunjukkan itu juga.

Yang jelas adalah bahwa organisasi pembangunan modern — bahkan yang mungkin berpikir mereka agak kuno — bahkan tidak terlihat seperti organisasi beberapa tahun yang lalu. Dalam waktu dekat, kita akan memiliki wadah / tempat pembelajaran mesin, dan bahkan mungkin didorong oleh chatops. Bagaimanapun, scrum dan pengembang adalah konsep alien luar angkasa belum lama ini.

Apa yang umum di organisasi pengembangan modern

Hal-hal berikut ini umum di antara kebanyakan orang yang saya ajak bicara. Mereka mewakili keadaan pengembangan perangkat lunak non-aspiratif.

Email sudah mati, Slack adalah rajanya

Serius, tidak ada yang diterima secara luas secepat Slack. Tentu, beberapa tempat menggunakan HipChat atau hal-hal lain yang mirip Slack, tetapi Slack adalah cara kerja organisasi saat ini. Mereka cerewet, dan sekarang obrolan dapat dicari.

PCM dan CVS sudah mati; semua memuji Git dan GitHub

Kembali ke hari, checkin kode sulit dan kunci pesimis. Saya telah mengerjakan proyek global yang memerlukan waktu lama untuk check-in melalui kabel transatlantik. Dan jangan bicara tentang pembayaran.

Sekarang, kendali revisi didistribusikan dan Git — meskipun secara signifikan lebih sulit digunakan daripada alat sebelumnya — adalah langkah maju yang sedemikian rupa sehingga Git telah mencapai dominasi penuh. \

Setiap orang memiliki Mac

Saya pengguna Mac yang enggan. Jika terserah saya, saya akan menjalankan Ubuntu Linux pada perangkat keras yang lebih baik. Namun, komputer yang dibayar perusahaan saya adalah Mac. Dan saya tidak sendiri. MacOS lebih cepat, meskipun lebih membengkak dan tidak praktis, daripada Windows, dan saya memiliki semua alat yang saya kenal seperti SSH, tetapi saya masih merindukan Linux.

Jira masih raja kami yang membengkak

Jira mungkin sudah menua, dan mungkin ada alternatif seperti BaseCamp dan Proyek Terbuka sumber terbuka. Tetapi kekuatan Jira adalah jika Anda berada di dalamnya, Anda tidak akan pergi. Anda sudah terbiasa dengannya. Ini memiliki pasar untuk fungsionalitas yang diperluas. Ini terhubung ke banyak hal, dan sebagian besar hal lain mendukungnya.

Jenkins masih melayani kita

Ada pemula seperti Travis-CI dan juga-rans seperti Jira-creator Atlassian's Bamboo, tetapi pada akhirnya, Jenkins masih di atas menjalankan integrasi berkelanjutan kami dan menerapkannya ke lingkungan pengujian kami.

AWS adalah tempatnya

Amazon Web Services bukanlah platform cloud yang paling terjangkau. Ini bukan yang termudah untuk digunakan. Tapi itu pasti fitur paling lengkap, dan itulah yang kebanyakan orang kenal. Saya telah bertemu orang yang menggunakan Google Compute Engine atau Microsoft Azure. Saya sendiri telah menggunakannya untuk proyek, tetapi secara default platform yang digunakan orang adalah AWS.

Platform internal masih VMware

Untuk pengembang di balik firewall perusahaan di mana cloud hanyalah mimpi, mereka masih menggunakan VMware dan melakukan berbagai hal dengan cara VMware. Penyediaan masih menunggu, dan performa SAN masih tidak dapat diprediksi.

Perkembangan tangkas sebagian besar adalah scrum-ish

Setiap orang melakukan sesuatu seperti scrum tetapi tidak persis scrum dan hanya sedikit yang yakin bahwa mereka melakukan tindakan yang benar atau bahwa "agile" mereka benar-benar gesit — dan bukan "cargo-cult agile" atau chaos dengan nama lain.

Disiplin, manajemen proyek, dan manajemen produk masih kurang terampil, kurang kompensasi, dan kurang dihargai.

Apa yang sedang tren di organisasi pengembangan modern

Ada banyak praktik terdepan yang kami bicarakan di —devops, kontainer Docker, kontainer Kubernetes, kontainer Windows, platform pengembangan cloud (PaaS), pengembangan omnidevice, pembelajaran mesin, bahasa baru seperti Kotlin dan Google Go, dan seterusnya — surga itu belum mencapai adopsi global (belum).

Wadah

Baik itu Docker atau kemungkinan pewaris Kubernetes, tidak semua orang menggunakan container.

Pertama, jika Anda kekurangan beban sepanjang waktu, ada overhead untuk menjalankannya di AWS. Keuntungan biaya Anda hanya terjadi jika Anda benar-benar dapat berbagi sumber daya.

Kedua, penggunaan kontainer membuat perangkat lunak Anda lebih mudah dirawat, tetapi juga membuat proses pembuatan dan penerapan Anda lebih lambat dan lebih rumit.

Pembelajaran mesin

Mengidentifikasi di mana Anda dapat menggunakan pembelajaran mesin (bagian dari kecerdasan buatan) dan menyesuaikan data ke dalam format yang memungkinkan Anda menggunakan pembelajaran mesin adalah bagian yang sulit.

Beberapa orang menggunakannya secara tersembunyi dalam produk yang mereka beli, tetapi mereka tidak memiliki keahlian ilmu data untuk membuktikan kegunaannya. Selain itu, kurangnya keahlian di pasar telah membuat adopsi machine learning lebih tidak terdengar daripada yang ditunjukkan oleh hype.

Chatops

Orang-orang tertarik dengan chatops, tetapi belum ada seorang pun yang saya ajak bicara melakukannya.