Menerapkan praktik Agile yang menskalakan

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Organisasi perusahaan mengadopsi praktik Agile karena berbagai alasan. Utama di antara alasan-alasan ini meliputi:

  • Mempersingkat waktu ke pasar, mempercepat pengiriman produk
  • Meningkatkan efektivitas organisasi untuk mengelola prioritas yang berubah
  • Meningkatkan kualitas perangkat lunak dan prediksi pengiriman
  • Meningkatkan visibilitas proyek dan mengurangi risiko proyek

Seiring bertambahnya organisasi, Anda harus menskalakan praktik Anda agar tetap gesar dan memenuhi tujuan yang berubah. Untuk melakukan itu, pertimbangkan dua prinsip panduan ini:

  • Seperti apa kesuksesan Anda, tim, dan organisasi Anda? Apa yang paling menarik: Pengiriman tepat waktu? Kualitas produk? Prediktabilitas? Kepuasan?
  • Kembali ke prinsip pertama, kembali ke prinsip dan nilai bersama yang dijumlahkan dalam manifesto Agile Seperti yang dicatat oleh Ken Schwaber, salah satu pendiri Scrum:
    • "Skala nilai dan prinsip, tetapi praktiknya sensitif terhadap konteks."
    • "Jaga nilai-nilai, jaga prinsip, pikirkan sendiri. Premis inti Agile adalah bahwa orang-orang yang melakukan pekerjaan adalah orang-orang yang paling dapat mencari tahu cara melakukannya."

Membuat ritme dan alur

Dengan mengadopsi irama bersama dan serangkaian komunikasi berkala, Anda membuat alur aktivitas yang konstan di seluruh organisasi. Praktik yang membantu menciptakan ritme dan alur dalam organisasi yang lebih besar meliputi:

  • Irama bersama: Sprint dan rilis reguler membangun ritme bisnis. Meminta semua tim bekerja untuk irama bersama membantu semua kegiatan koordinasi dan kolaborasi.
  • Email sprint: Untuk menjaga organisasi dan semua tim mendapatkan informasi tentang kemajuan dan rencana tim fitur, setiap tim fitur dapat mengirim email ringkasan hasil sprint mereka sebelumnya dan rencana sprint saat ini.
  • Demo sprint: Video cepat--2 hingga 3 menit--yang mengilustrasikan fitur baru yang dihasilkan tim. Tautan ke video tersebut dapat disertakan dalam email sprint.
  • Menampilkan rapat: Untuk memberi tahu tim lain dan meminta umpan balik tentang perangkat lunak yang sedang dikembangkan, tim menampilkan pekerjaan yang telah mereka lakukan. Lakukan pertemuan ini secara berkala sepanjang siklus hidup proyek, dan buka untuk semua pihak yang tertarik.
  • Email ringkasan bug: Untuk mendukung wawasan tentang kualitas produk dan untuk mendorong mempertahankan disiplin bug, bagikan metrik berkualitas secara berkala dengan organisasi. Metrik ini dapat mencakup bug aktif per tim fitur, tren bug, dan bug per insinyur.
  • Rapat koordinasi: Mengadakan rapat yang mengoordinasikan tim secara berkala atau sesering yang diperlukan untuk mengatasi tujuan, dependensi, dan risiko yang tumpang tindih.

Berinteraksi dengan pelanggan

Melibatkan pelanggan sepanjang siklus hidup produk Anda adalah prinsip Agile utama. Berdayakan setiap tim untuk berinteraksi langsung dengan pelanggan pada set fitur yang mereka miliki.

  • Umpan balik berkelanjutan: Bangun dalam perulangan umpan balik pelanggan. Perulangan ini dapat mengambil banyak bentuk:
    • Suara pelanggan: Memudahkan pelanggan untuk memberikan umpan balik, menambahkan ide, dan memberikan suara pada fitur generasi berikutnya. Memberikan umpan balik sering dilakukan melalui situs web khusus.
    • Umpan balik produk: Tombol umpan balik dalam produk adalah cara lain untuk meminta umpan balik tentang pengalaman produk atau fitur tertentu.
    • Demo pelanggan: Demo terjadwal secara teratur yang meminta umpan balik dari pelanggan Anda dapat membantu membentuk produk generasi berikutnya dan menjaga Anda tetap pada jalur untuk membangun aplikasi yang ingin dikonsumsi pelanggan Anda.
  • Program pengadopsi awal: Program semacam itu harus dikembangkan dengan gagasan bahwa semua tim mungkin ingin berpartisipasi sebagai beberapa titik. Pengadopsi awal mendapatkan akses ke versi awal perangkat lunak kerja, yang kemudian dapat mereka berikan umpan balik. Seringkali, program ini bekerja dengan mengaktifkan bendera fitur tertentu untuk daftar pengadopsi awal.
  • Keputusan berbasis data: Temukan cara untuk melengkapi produk Anda untuk mendapatkan data yang berguna dan yang dapat menguji berbagai hipotesis. Membantu mendorong ke budaya ramah eksperimen yang merayakan pembelajaran.

Meningkatkan visibilitas proyek

Semakin banyak wawasan yang Anda dan tim Anda miliki ke dalam tujuan, visi, dan kemajuan pekerjaan yang dilakukan, semakin diaktifkan dengan lebih baik Anda akan mengurangi risiko dan mengelola dependensi.

  • Struktur tim: Tidak peduli seberapa besar organisasi Anda, menyusun organisasi Anda di sekitar tim kecil berskala 6 hingga 9. Buat tim fitur vertikal dan otonom yang dikelompokkan di bawah area manajemen portofolio.
  • Struktur perincian kerja: Memecah tujuan, fitur, atau persyaratan besar menjadi yang lebih kecil tetap stabil dari manajemen proyek. Dengan memecah pekerjaan menjadi tugas berukuran serupa, tim dapat membuat perkiraan yang lebih baik dan mengidentifikasi risiko dan dependensi.
  • Tampilan terkonsolidasi: Gunakan alat pelacakan online Anda untuk menggabungkan pekerjaan untuk mendapatkan pengetahuan di seluruh tim. Bangun dasbor untuk menampilkan kemajuan dan tren.
  • Tinjauan pengalaman: Rapat ini, yang diadakan sebelum pengembangan dimulai pada fitur, digunakan untuk mendidik kepemimpinan tentang skenario dan prioritas, mengumpulkan umpan balik, menetapkan harapan, dan memunculkan masalah lintas tim tentang fitur tersebut.

Memberdayakan tenaga kerja yang produktif

Beberapa praktik Agile tertentu yang menskalakan dengan baik dan menyebabkan karyawan yang lebih bahagia, terlibat, dan produktif meliputi:

  • Kepemimpinan yang disematkan: Memberdayakan tim dan pemimpin dalam organisasi untuk mengatur diri dan mengelola sendiri sebanyak mungkin. Otonomi tim meningkatkan efektivitas tim kelincahan organisasi. Pastikan tim memiliki sponsor perusahaan yang diperlukan untuk berhasil.
  • Stand-up harian: Atau, rapat Scrum membantu membuat tim tetap fokus pada apa yang perlu mereka lakukan setiap hari untuk memaksimalkan kemampuan mereka untuk memenuhi komitmen sprint mereka. Ketika organisasi tumbuh, mereka harus mempertimbangkan mengejutkan pertemuan ini sehingga partisipasi lintas tim dapat terjadi sesuai kebutuhan.
  • Scrum scrum: Stand up anggota harian dari tim Agile yang berbeda bertemu setiap hari untuk melaporkan pekerjaan selesai, langkah-langkah berikutnya, dan masalah atau blok yang terjadi dalam tim perwakilan mereka.
  • Komunikasi tim: Menyediakan dan mendorong tim untuk berbagi praktik dan panduan mereka, yang dapat diakses mereka dan tim lain melalui jaringan perusahaan. Alat umum yang digunakan untuk tujuan ini termasuk wiki tim, OneNote, atau situs Markdown.
  • Kolaborasi: Dorong komunikasi dan kolaborasi tim-ke-tim informal dalam tim. Praktik institusi seperti ulasan kode, ulasan desain, ulasan spesifikasi tidak hanya meningkatkan kolaborasi tim tetapi membantu mengembangkan kompetensi perusahaan individu dan keseluruhan.

Meningkatkan budaya organisasi

Anda meningkatkan efektivitas organisasi dengan menghadiri budaya yang ingin Anda bangun. Perubahan budaya terjadi ketika individu, tim, dan organisasi mengadopsi satu atau beberapa praktik peningkatan berkelanjutan. Beberapa praktik Agile yang dapat diskalakan meliputi:

  • Retrospektif: Dengan mengajukan pertanyaan seperti: "Apa yang berjalan dengan baik?", "Apa yang harus kita lakukan secara berbeda?", dan "Apa yang harus kita hentikan?" membantu tim merefleksikan bagaimana mereka dapat meningkatkan proses dan praktik mereka. Retrospektif membantu tim memunculkan apa yang bekerja dengan baik dan apa yang perlu diingat. Retrospektif dapat dilakukan kapan saja dan di mana saja. Namun, melembagakan retrospektif tertentu pada irama rutin membantu melembagakan praktik peningkatan berkelanjutan. Contohnya:

    • Retrospektif sprint dapat membantu tim mengidentifikasi area yang akan ditingkatkan secara teratur.

    • Retrospektif rilis dapat membantu organisasi mengidentifikasi area untuk meningkatkan komunikasi dan praktik internal dan peningkatan bahan bakar untuk rilis berikutnya.

    • Tinjauan operasional: biasanya diadakan setiap bulan dan mencakup perwakilan dari seluruh aliran nilai. Mencakup portofolio proyek dan inisiatif lainnya dan menggunakan data objektif dan kuantitatif, merancang retrospektif ini untuk memprovokasi diskusi tentang dinamika yang memengaruhi performa antar tim.

      Lihat Agile Retrospective Resource Wiki untuk ide, tips, dan alat untuk merencanakan dan melakukan retrospektif. Lihat juga ekstensi Retrospektif Marketplace.

  • Papan pelacakan peningkatan: Ide bagus untuk meningkatkan proses dapat muncul dari siapa saja kapan saja. Menangkap ide-ide tersebut untuk membahas dan memutuskan cara menindak mereka dengan cepat adalah kunci untuk mendukung upaya peningkatan proses.

    Papan putih menyediakan sarana yang mudah dan visual untuk menangkap ide. Selain itu, Anda dapat membuat tim pelacakan Peningkatan dan menangkap ide yang Anda lacak di papan Kanban elektronik.

  • Berbagi institusi: Berbagi praktik terbaik dan mengomunikasikan ide membantu semua tim dalam organisasi tumbuh dan meningkat. Mengembangkan budaya pembelajaran adalah kunci untuk mendukung ini dan kegiatan peningkatan berkelanjutan lainnya. Beberapa ide untuk dipertimbangkan:

    • Wiki internal

    • Daftar distribusi in-house

    • Hackathon minggu atau 10% waktu hack

    • Tim dukungan Internal Agile untuk mendukung tim yang mengadopsi praktik Agile

      Game Budaya menyediakan sumber daya yang baik bagi manajer Agile untuk membantu tim mengadopsi Agile dan berbagi praktik terbaik.

  • Komunitas praktik: Mendukung disiplin umum internal (misalnya, DBA, Arsitek SW, desain UX)

Perangkat lunak yang berfungsi

"Sering memberikan perangkat lunak kerja, dari beberapa minggu hingga beberapa bulan, dengan preferensi terhadap skala waktu yang lebih pendek."
"Perangkat lunak kerja adalah ukuran utama kemajuan."
- Manifes tangkas

Seiring meningkatnya jumlah perangkat lunak, fitur, dan kompleksitas, Anda harus mengadopsi praktik yang membantu Anda menghasilkan solusi yang dapat dikonsumsi.

  • Bendera fitur: Gunakan bendera fitur untuk mengaktifkan atau menonaktifkan akses ke fitur yang berbeda. Berikan dukungan untuk mengaktifkan fitur kepada pengadopsi awal untuk mendapatkan umpan balik kerja.
  • Merilis kereta: Berikan jenis irama lain untuk memberikan satu atau beberapa fitur. Tim fitur memahami jadwal yang telah direncanakan sebelumnya untuk mendorong fitur baru, dan merencanakan dengan benar. Pelatihan rilis dapat sesuai dengan irama sprint yang sama untuk organisasi, atau terjadi pada irama yang berbeda. Lihat Kerangka Kerja Agile Berskala untuk cara menyiapkan sprint dan merilis pelatihan.
  • Integrasi berkelanjutan: Mengadopsi proses yang menghilangkan pekerjaan manual dan sebaliknya mengotomatiskan alur perangkat lunak melalui siklus pengujian, build, dan penyebaran.
  • Sumber Terbuka Internal: Bawa nilai dan etos yang dikembangkan di komunitas Perangkat Lunak Sumber Terbuka ke tim pengembangan internal Anda.

Seiring dengan praktik di atas, Anda akan menemukan lebih banyak panduan tentang penskalaan alat Agile Anda dalam artikel berikut:

Sumber daya industri

Praktik yang tidak menskalakan

  • Memperkirakan inisiatif besar: Bagian dari metode proyek air terjun melibatkan estimasi sumber daya dan jadwal. Semakin besar inisiatif, semakin kecil kemungkinan perkiraan ini dari nilai apa pun. Ketika proyek tumbuh, risiko dan masalah dan hambatan yang tidak terduga dapat muncul, membatalkan banyak perkiraan.
  • Kecepatan: Meskipun kecepatan tim dapat memberikan metrik yang berguna untuk mendapatkan wawasan tentang berapa banyak pekerjaan yang dapat diselesaikan setiap tim selama siklus sprint, Anda tidak dapat menambahkan kecepatan tim untuk mendapatkan metrik yang bermakna atau berguna. Selain itu, menggunakan kecepatan yang diperoleh dari banyak tim untuk menyelesaikan prakiraan jangka panjang dengan andal bermasalah. Tim bervariasi dalam cara mereka memperkirakan pekerjaan mereka, dan variasi tersebut meningkat dari waktu ke waktu.
  • Solusi preskriptif top-down: Satu ukuran tidak cocok untuk semua, dan satu solusi biasanya tidak sesuai dengan semua tim. Otonomi tim pendukung berarti membiarkan tim menemukan solusi mereka sendiri.