Ada banyak hal positif untuk melakukan pekerjaan pembangunan aplikasi di lingkungan komputasi perusahaan startup, seperti: sistem state-of-the-art; scaling dan persyaratan kinerja; kompleksitas integrasi terhadap perbedaan sistem atau platform; dan banyak kesempatan untuk mengembangkan keterampilan dan toolset. Belum lagi gaji yang layak dengan hitungan per jam. Ruang istirahat Anda mungkin tidak memiliki meja billyard, tapi sangat jarang kemungkinan bahwa CEO Anda akan menunda gaji anda.

Namun, untuk semua itu, perusahaan juga dapat menjadi lingkungan yang luar biasa frustasi untuk setiap pengembang yang merasa bergairah tentang hasil dari usaha nya, dan percaya bahwa seni dan kerajinan dari pemrograman adalah sebagai bagian penting untuk sukses dalam rekayasa perangkat lunak yang solid. Sama pentingnya, perusahaan juga membayar harga yang besar jika bertahan pada praktek pendekatan “Water-Fall” yang sudah ketinggalan zaman.

Saat Berkembang, Perubahan Lingkup Kerja Perusahaan Startup Berubah

Setidaknya, itulah yang ditemukan para profesional sekitar sembilan tahun yang lalu. Mereka mengalami situasi “neraka” pada perusahaan startup. Para tim pengembang selalu didorong untuk membuat setiap kode aplikasi yang sempurna sesuai kebutuhan, alur kerja, dan tujuan dari para pengguna, pemilik bisnis, dan pelanggan. Bagi para pengembang, hal tersebut mudah dilakukan dalam situasi perusahaan startup saat awal, dimana bisa berkomunikasi langsung dengan pelanggan setiap hari dan menggunakan perangkat-perangkat yang dapat memenuhi tujuan mereka. Ini jauh lebih sulit jika di perusahaan, di mana ada pembatasan anggaran dan persetujuan proses, persyaratan yang berubah diukir menjadi batu oleh delapan tingkat manajemen, dan legiun analis bisnis, manajer proyek, manajer rilis, auditor kepatuhan, dan analis keamanan yang berdiri di antara Perusahaan dan pelanggan Perusahaan.

Ini semua tentang perubahan

Apa yang saya telah disadari oleh para profesional bahwa setiap pengembangan merupakan tentang perubahan. Tujuan sebuah proyek yang diberikan mungkin untuk meningkatkan efisiensi modal, atau untuk meningkatkan pengalaman pengguna. Secara teknis, sebuah proyek juga ditujukan untuk mengintegrasikan beberapa sistem yang berbeda, namun tidak terlalu penting. Tak satu pun dari tujuan tersebut dapat dicapai tanpa perubahan. Hal ini menimbulkan tantangan yang dinamis dalam proses. Suatu proyek tidak dapat berhasil tanpa merespon perubahan, infrastruktur, proses dan kelompok. Hal tersebut akan membuat orientasi pengembangan usaha menjadi lambat dan minim perubahan.

Jadi, lingkungan komputasi perusahaan harus dapat menghilangkan beberapa hambatan yang berpotensi terlalu menyulitkan pengembang. Hambatan tersebut memiliki dampak yang signifikan pada perusahaan itu sendiri, secara dramatis memperlambat pengembangan perangkat lunak, menunda penggelaran produk, menambah biaya, dan mendorong para pengembang paling bersemangat untuk menuju pintu keluar. Tidak harus seperti itu. Tidak ada kendala yang tidak dapat diatasi.

Tidak ada solusi instan

Tentu para seluruh pihak akan senang jika dapat sukses secara instan dalam Pengembangan Usaha, tapi tidak sesederhana itu. Setiap organisasi berbeda, setiap proyek berbeda, dan definisi kesuksesan dan kebahagiaan setiap pengembang sangat bervariasi.

Kesuksesan perusahaan tidak dapat diraih sampai menyadari bahwa membawa perubahan dan mengakui proses merupakan sebuah pekerjaan nyata.

Dalam hal ini, perusahaan perlu mencari dan mengadopsi strategi yang dapat memungkinkan untuk berhasil. Untuk mendapatkan pemahaman yang lebih baik tentang kebutuhan riil organisasi Anda, cobalah meletakkan dokumen persyaratan pendukung untuk mengetahui apa yang sebenarnya dibicarakan oleh personel yang terlibat:

  • Carilah apa yang rusak dan prioritaskan untuk memperbaikinya.
  • Carilah apa yang dapat ditingkatkan.
  • Mencari masalah yang belum diidentifikasi atau tidak dapat diselesaikan dalam kerangka standar kontekstual organisasi, dan mengusulkan solusi.
  • Dan sementara Anda berada di itu, mengidentifikasi orang-orang yang akan mendengarkan ide-ide Anda dan memiliki kekuatan untuk melakukan perubahan.
  • Mengubah organisasi dunia nyata

Melakukan Perubahan Pada Dunia Nyata

Ketika seorang pengembang baru di rekrut, misalnya, semua pekerjaan pembangunan didasarkan pada tumpukan J2EE yang sangat rumit, ini bisa mengambil waktu selama enam bulan untuk mulai memahami. Personel baru akan mendalami masalah tersebut ke grup arsitektur perusahaan, pemilik roadmap teknologi dan menunjukkan bahwa backlog dipenuhi dengan proyek-proyek kecil yang tidak perlu kompleks. Dalam beberapa minggu, pengembang profesional akan membentuk Tim untuk Ruby on Rails, merobohkan proyek dari backlog secepat mereka bisa, membangun Ruby sebagai platform yang sah dalam organisasi, dan membebaskan diri dari memiliki pekerjaan dengan tumpukan J2EE yang terkutuk.

Contoh lainnya dalam mengatasi kekusutan

Pengembang diberi suguhan masalah yang dapat dikatakan bahwa penyelesaian masalah TI di perusahaan tersebut akan berakhir dengan pengadaan sistem yang baru. Akan tetapi, dengan pola pikir yang memahami perubahan mereka berhasil mengatasi masalah tersebut. Sistem manajemen konten (ECM) di perusahaan tersebut sangat semerawut yang berasal dari vendor software yang lama. Pengembang dapat meminta waktu beberapa bulan untuk membuat sketsa terhadap permasalahan tersebut. Sehingga akan muncul sebuah proyek eksperimen untuk menggantikan sistem ECM yang sudah usang. Dengan melihat kebutuhan utama perusahaan maka sebuah inisiatif dapat diambil untuk mengatasi masalah kerumitan TI, sehingga menghasilkan perubahan yang dapat dijadikan modal dasar untuk langkah selanjutnya. Kebanyakan pengembang internal di dalam perusahaan, mereka terbiasa melihat masalah dari sisi rutinitas, oleh karena itu sebuah konsultan IT dapat diandalkan untuk membantu para pengembang internal.

Tidak ada konsep yang baku bagi para pengembang untuk mendapatkan kebahagiaan. Namun dengan proses berpkir DevOps maka hal tersebut dapat membantu para pengembang dalam merintis jalan tersebut, seperti sebagai berikut:

  • Putuskan apa yang akan Anda lakukan jika Anda menjalankan sebuah perusahaan startup.
  • Kenali masalah yang sama yang dapat Anda lihat dalam perusahaan Anda.
  • Ambil langkah-langkah yang diperlukan untuk mengatasi masalah tersebut.

Kemungkinan hal terburuk adalah Anda tidak akan tetap berada pada pekerjaan yang membuat anda frustrasi selamanya. Setiap hasil lainnya mengarah ke masa depan yang lebih terang bagi Anda dan perusahaan Anda.