Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengembangan Agile adalah istilah yang digunakan untuk menggambarkan iterasi dalam pengembangan perangkat lunak. Pengembangan perangkat lunak iteratif mempersingkat siklus hidup DevOps dengan menyelesaikan pekerjaan dalam tahapan-tahapan pendek, biasanya disebut sprint. Sprint biasanya berdurasi satu hingga empat minggu. Pengembangan Agile sering kali dikontraskan dengan pengembangan tradisional atau waterfall, yang merencanakan proyek besar di awal dan menyelesaikannya sesuai dengan rencana.
Memberikan kode kualitas produksi setiap sprint mengharuskan tim pengembangan Agile memperhitungkan kecepatan yang dipercepat. Semua pengkodean, pengujian, dan verifikasi kualitas harus dilakukan pada setiap sprint. Kecuali tim disiapkan dengan benar, hasilnya dapat kurang dari harapan. Meskipun kekecewaan ini menawarkan peluang pembelajaran yang hebat, sangat membantu untuk mempelajari beberapa pelajaran utama sebelum memulai.
Artikel ini menjelaskan beberapa faktor keberhasilan utama untuk tim pengembangan Agile:
- Teliti penyempurnaan backlog
- Mengintegrasikan lebih awal dan sering
- Meminimalkan utang teknis
Teliti penyempurnaan backlog
Tim pengembangan Agile beroperasi berdasarkan backlog persyaratan, yang sering disebut cerita pengguna. Backlog diprioritaskan, dengan user story terpenting ditempatkan di bagian atas. Pemilik produk memiliki backlog dan menambahkan, mengubah, dan memprioritaskan kembali cerita pengguna berdasarkan kebutuhan pelanggan.
Salah satu seretan terbesar pada produktivitas tim Agile adalah backlog yang ditentukan dengan buruk. Tim tidak dapat diharapkan untuk secara konsisten memberikan perangkat lunak berkualitas tinggi setiap sprint kecuali mereka memiliki persyaratan yang ditentukan dengan jelas.
Tugas pemilik produk adalah memastikan bahwa setiap sprint, teknisi memiliki cerita pengguna yang ditentukan dengan jelas untuk dikerjakan. Cerita pengguna di bagian atas backlog harus selalu siap untuk dimulai oleh tim. Gagasan ini disebut perbaikan backlog. Memastikan backlog selalu siap untuk tim pengembangan Agile membutuhkan upaya dan disiplin. Untungnya, itu layak investasi.
Saat Anda menyempurnakan backlog, pastikan untuk mengingat pertimbangan utama berikut.
Menyempurnakan cerita pengguna sering kali merupakan aktivitas yang membutuhkan waktu panjang. Antarmuka pengguna yang elegan, desain layar yang indah, dan solusi yang menyenangkan pelanggan membutuhkan waktu dan energi untuk dibuat. Pemilik produk yang rajin menyempurnakan cerita pengguna dua hingga tiga sprint terlebih dahulu. Mereka memperhitungkan iterasi desain dan ulasan pelanggan. Mereka bekerja untuk memastikan setiap cerita pengguna adalah sesuatu yang bangga dikirimkan oleh tim Agile kepada pelanggan.
Cerita pengguna tidak disempurnakan kecuali tim mengatakannya. Tim perlu meninjau cerita pengguna dan menyetujui bahwa itu siap untuk dikerjakan. Jika tim tidak melihat cerita pengguna hingga hari pertama sprint, kemungkinan masalah dapat terjadi.
Cerita pengguna lebih lanjut di backlog dapat tetap ambigu. Jangan buang waktu untuk menyempurnakan item berprioritas lebih rendah. Fokus pada bagian atas backlog.
Mengintegrasikan lebih awal dan sering
Integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) menyiapkan tim Anda untuk kecepatan pengembangan Agile. Sesegera mungkin, otomatiskan alur build, pengujian, dan penyebaran. Siapkan otomatisasi tersebut sebagai salah satu tugas pertama yang ditangani tim Anda ketika memulai proyek baru.
Dengan otomatisasi, tim menghindari proses penyebaran manual yang lambat, rawan kesalahan, dan intensif waktu. Karena tim merilis setiap sprint, tidak ada waktu untuk melakukan tugas-tugas ini secara manual.
CI/CD juga memengaruhi arsitektur perangkat lunak Anda. Ini memastikan Anda memberikan perangkat lunak yang dapat dibangun dan dapat disebarkan. Ketika tim menerapkan fitur yang sulit diterapkan, mereka langsung menyadari jika pembangunan dan penerapan gagal. CI/CD memaksa tim untuk memperbaiki masalah penyebaran ketika masalah tersebut terjadi. Produk tersebut kemudian selalu siap dikirim.
Ada beberapa aktivitas CI/CD utama yang sangat penting untuk pengembangan Agile yang efektif.
Pengujian unit. Pengujian unit adalah pertahanan pertama terhadap kesalahan manusia. Anggap pengujian unit sebagai bagian dari pengkodean. Periksa pengujian dengan kode. Jadikan pengujian unit sebagai bagian dari setiap build. Uji unit yang gagal berarti penyusunan yang gagal.
Bangun otomatisasi. Sistem build harus secara otomatis menarik kode dan menguji langsung dari kontrol sumber saat build dijalankan.
Kebijakan cabang dan pemrosesan. Konfigurasikan kebijakan cabang dan kebijakan build agar membangun secara otomatis saat tim memasukkan kode ke cabang tertentu.
Menyebarkan ke lingkungan. Siapkan pipeline rilis yang secara otomatis menyebarkan proyek yang telah dibangun ke lingkungan yang menyerupai produksi.
Meminimalkan utang teknis
Dengan keuangan pribadi, lebih mudah untuk tetap keluar dari utang daripada menggali dari bawahnya. Aturan yang sama berlaku dengan utang teknis. Utang teknis meliputi semua hal yang perlu diatasi oleh tim karena pengambilan jalan pintas sebelumnya. Misalnya, jika Anda memiliki jadwal yang padat, Anda mungkin mengorbankan kualitas untuk memenuhi tenggat waktu. Utang teknis adalah harga yang Anda bayar nanti, ketika Anda harus merefaktor kode untuk menebus kurangnya kualitas tersebut. Contohnya termasuk perbaikan untuk mengatasi desain yang buruk, bug, masalah performa, masalah operasional, masalah aksesibilitas, dan masalah lainnya.
Mengelola hutang teknis membutuhkan keberanian. Ada banyak tekanan untuk menunda pengerjaan ulang kode. Rasanya menyenangkan untuk bekerja pada fitur dan mengabaikan utang. Sayangnya, seseorang harus melunasi utang teknis cepat atau lambat. Sama seperti utang keuangan, utang teknis menjadi lebih sulit untuk melunasi semakin lama ada. Pemilik produk pintar bekerja sama dengan tim mereka untuk memastikan ada waktu untuk melunasi utang teknis setiap sprint. Menyeimbangkan pengurangan utang teknis dengan pengembangan fitur adalah tugas yang sulit. Untungnya, ada beberapa teknik mudah untuk menciptakan tim yang produktif dan berfokus pada pelanggan.
Selalu Agile
Menjadi Agile berarti belajar dari pengalaman dan terus meningkat. Pengembangan tangkas menyediakan lebih banyak siklus pembelajaran daripada perencanaan proyek tradisional karena perulangan proses yang lebih ketat. Setiap sprint menyediakan sesuatu yang baru bagi tim untuk dipelajari.
Contohnya:
- Tim memberikan nilai kepada pelanggan, mendapatkan umpan balik, lalu memodifikasi backlog mereka berdasarkan umpan balik tersebut.
- Mereka mengetahui bahwa build otomatis mereka kehilangan pengujian kunci. Mereka mencantumkan tugas dalam sprint berikutnya untuk mengatasi masalah ini.
- Mereka menemukan bahwa fitur tertentu berkinerja buruk dalam produksi, sehingga mereka membuat rencana untuk meningkatkan performa.
- Seseorang di tim mendengar tentang praktik baru. Tim memutuskan untuk berlatih sejumlah sprint.
Tim yang baru saja dimulai dengan pengembangan Agile harus mengharapkan lebih banyak peluang pembelajaran. Mereka adalah bagian yang sangat berharga dari proses karena menyebabkan pertumbuhan dan peningkatan.
Langkah selanjutnya
Ada banyak cara untuk menyelesaikan proses pengembangan Agile yang tepat untuk tim. Azure DevOps menyediakan berbagai templat proses. Tim yang mencari struktur garis besar yang berbeda untuk perencanaan mereka dapat menggunakan templat ini sebagai titik awal. Untuk informasi tentang memilih templat proses yang paling sesuai dengan budaya dan tujuan tim, lihat Memilih alur proses atau templat proses untuk bekerja di Azure Boards.
Ketika organisasi tumbuh, itu bisa menjadi tantangan untuk tetap disiplin. Pelajari selengkapnya tentang menskalakan Agile ke tim besar.