Panduan Pemula Untuk Mengelola Pengembangan Perangkat Lunak dengan Kanban dan Trello
Diterbitkan: 2022-03-11Setiap orang adalah manajer proyek. Baik Anda mengelola pengembangan aplikasi baru dan menumbuhkan startup Anda, mengerjakan proyek perusahaan bernilai miliaran dolar, atau hanya mencoba menghidupkan halaman Anda dengan beberapa lansekap DIY, Anda selalu mengelola sebuah proyek.
Keberhasilan proyek Anda tergantung pada banyak faktor, tetapi salah satu alasan paling umum proyek gagal adalah kurangnya manajemen atau manajemen proyek yang buruk . Tidak peduli seberapa kecil tim Anda, atau seberapa jelas persyaratan Anda didokumentasikan, jika Anda tidak mengelola tim Anda dengan benar, proyek Anda pasti akan gagal.
Manajemen proyek tangkas adalah metode yang diterima secara luas untuk mendekati proyek pengembangan perangkat lunak modern. Tapi apa sebenarnya yang dimaksud dengan Agile?
Untuk menyelam lebih dalam ke prinsip Agile, saya sarankan membaca Panduan Utama kami untuk Manajemen Proyek Agile.
Dalam posting ini, kami akan menjelaskan dasar-dasar manajemen proyek tangkas dengan Kanban.
Bahkan jika Anda seorang manajer proyek berpengalaman yang memahami prinsip-prinsip tangkas masuk dan keluar, Anda harus menyegarkan ingatan Anda dan mengingatkan diri Anda sendiri tentang konsep inti. Siklus inovasi dalam pengembangan perangkat lunak terus meningkat, membuat manajemen proyek lebih kompleks dengan setiap iterasi. Kembali ke prinsip dasar dan memperkuat prinsip inti Agile selalu penting. Bagaimanapun, pengulangan adalah ibu dari semua pengetahuan.
Kanban adalah salah satu metode termudah untuk mengelola proyek pengembangan perangkat lunak Agile. Anda dapat dengan mudah menangani tim pengembangan lokal yang bekerja dari kantor yang sama atau tim terdistribusi, tersebar melalui beberapa zona waktu.
Kanban bukanlah sebuah proses. Ini adalah cara untuk mengelola proses apa pun dengan perubahan minimal pada aktivitas operasional tim yang telah ditetapkan.
Untuk menerapkan prinsip Kanban pada pekerjaan Anda, Anda harus menerapkan dua aturan sederhana:
- Visualisasikan proses Anda.
- Batasi pekerjaan yang sedang berlangsung.
Visualisasikan Proses Anda
Visualisasi data adalah cara cepat dan mudah untuk menyampaikan informasi secara universal dan mudah dipahami. Saat melihat gambar, otak manusia dapat memproses beberapa informasi secara bersamaan. Beberapa penelitian mengatakan bahwa ini bisa sampai 60.000 kali lebih cepat daripada membaca teks.
Cara paling populer untuk memvisualisasikan suatu proses adalah Papan Kanban. Papan Kanban adalah papan yang dibagi secara vertikal menjadi beberapa kolom, dengan setiap kolom mewakili satu status dalam proses Anda.
Mari kita lihat bagaimana papan pengembangan perangkat lunak sederhana akan terlihat. Pertama, kita perlu mendefinisikan status untuk fitur pengembangan kita:
- To-Do - fitur sedang menunggu pengembangan
- Pengembangan - fitur ditugaskan ke pengembang dan dia sedang mengerjakannya
- Jaminan Kualitas - fitur sedang ditinjau
- Dikerahkan - fitur diterima dan disertakan dalam rilis aplikasi
Berdasarkan ini, papan Anda harus memiliki tata letak berikut:
Memvisualisasikan tugas individu semudah membuat kartu sederhana (seperti Post-it) yang mewakili pekerjaan yang perlu dilakukan. Anda dapat memberi nama tugas, menambahkan nama pengembang yang ditetapkan, tanggal jatuh tempo, dan informasi relevan lainnya ke kartu ini.
Saat Anda menambahkan kartu itu ke kolom di Papan Kanban, Anda telah memvisualisasikan bahwa, misalnya, pengembang tertentu sedang mengerjakan tugas tertentu yang jatuh tempo pada tanggal tertentu dan saat ini sedang dalam pengembangan.
Batasi Pekerjaan Dalam Proses (WIP)
Multitasking manusia adalah khayalan. Alih-alih memperhatikan satu atau dua hal secara bersamaan, otak kita beralih di antara mereka dengan sangat cepat.
Ini lebih terlihat dalam pengembangan perangkat lunak daripada di tempat lain. Pengembang hanya dapat mengerjakan satu bagian kode pada satu waktu, dan beralih ke fitur lain akan menyebabkan penundaan dan memengaruhi konsentrasi dan kinerja mereka.
Ini tidak berarti bahwa Anda harus membatasi jumlah tugas hanya satu dalam satu waktu. Pengembangan adalah pekerjaan yang kompleks dan kreatif, beberapa tugas membutuhkan lebih banyak waktu dan yang lain membutuhkan waktu lebih sedikit untuk diselesaikan, dan selalu ada penundaan saat pengembang menunggu sesuatu atau seseorang. Yang penting adalah membatasi tugas yang diberikan ke jumlah yang wajar yang tidak akan menghasilkan kekacauan (ini biasanya tiga hingga lima tugas sekaligus).
Dengan asumsi bahwa tim pengembangan Anda terdiri dari dua pengembang dan seorang insinyur QA, papan Anda mungkin memiliki batas WIP berikut:
- Yang Harus Dilakukan - Tidak Terbatas
- Pengembangan - Batas enam kartu (Dua pengembang masing-masing dibatasi hingga maksimal tiga tugas)
- Jaminan Kualitas - Batas tiga kartu (1 insinyur QA dibatasi hingga maksimum tiga kartu)
- Dikerahkan - Tidak Terbatas
Adalah tugas Anda, sebagai manajer proyek, untuk memastikan bahwa daftar Tugas diprioritaskan dengan benar, dan tugas diberikan kepada pengembang tidak lebih cepat dari yang dibutuhkan.
Dewan Kanban yang dikelola dengan baik akan memberi Anda gambaran yang jelas tentang status proyek Anda secara sekilas. Anda dapat melihat bahwa pengembang Anda memiliki cukup pekerjaan, bahwa Anda telah menyiapkan tugas baru yang dapat mereka ambil alih setelah tugas mereka selesai, dan bahwa insinyur QA Anda sedang menunggu tugas baru untuk ditinjau.
Gunakan Trello untuk Mengelola Papan Kanban Anda
Trello adalah aplikasi manajemen proyek Kanban berbasis web. Ini memungkinkan kolaborasi waktu nyata yang mudah antara anggota tim dan bahkan beberapa tim dan proyek.
Untuk membuat papan di Trello klik item menu "Buat papan baru ...", dan tetapkan judul untuk papan Anda.
Anda akan mulai dengan papan kosong. Gunakan kotak “Tambahkan daftar …” untuk membuat kolom untuk kartu Kanban Anda.
Dengan mengklik “Tambahkan kartu…” di bagian bawah daftar mana pun, Anda dapat dengan mudah membuat tugas. Setiap kartu yang Anda buat harus mewakili tugas yang akan dijalankan oleh anggota tim.
Kartu di Trello dapat disesuaikan dengan banyak cara:
- Tetapkan anggota tim yang bertanggung jawab untuk melaksanakan tugas
- Kode warna mereka tergantung pada pengelompokan tertentu yang ingin Anda tambahkan
- Tetapkan tanggal jatuh tempo
- Tambah lampiran
- Tambahkan bidang khusus seperti daftar periksa di mana Anda dapat melacak kemajuan elemen yang lebih kecil yang terdiri dari tugas
- Anggota tim dapat mengomentari kartu, dan semua orang akan diberi tahu tentang perubahan apa pun yang dibuat.

Visualisasi adalah segalanya di Kanban, jadi inilah tampilan kartu di papan:
Hanya dengan melihat kartu, tanpa membuka tampilan detail Anda dapat melihat bahwa:
- Tugas untuk menyiapkan Repositori Kode GitHub sedang menunggu untuk dieksekusi di daftar To-Do.
- Tugas jatuh tempo pada 27 Januari.
- Tugas memiliki deskripsi.
- Ada satu komentar tentang tugas itu.
- Ada daftar periksa dua item, dan saat ini tidak ada item yang diselesaikan.
- Tugas diberikan kepada pengguna DS, yang akan mengambilnya selanjutnya.
- Tugas milik sekelompok kartu warna hijau, yang berarti bahwa itu diperlukan sebelum proyek dimulai.
Perkirakan Waktu Dan Kompleksitas Pekerjaan Pembangunan
Perencanaan dan pengelolaan proyek tidak mungkin tanpa memahami upaya dan waktu yang dibutuhkan untuk menyelesaikan tugas tertentu. Namun, salah satu hal tersulit yang harus dilakukan dalam pengembangan perangkat lunak adalah menentukan berapa lama waktu yang dibutuhkan untuk mengirimkan produk atau fitur perangkat lunak baru.
Scrum, salah satu prinsip Agile yang paling populer, sangat bergantung pada estimasi, baik berdasarkan waktu atau "titik kompleksitas".
Tim harus menghabiskan waktu yang signifikan untuk menyelesaikan tugas.
Ini karena Scrum didasarkan pada interval kotak waktu, ketika sekelompok tugas tertentu diharapkan selesai. Untuk merencanakan pengiriman, Anda harus memiliki pemahaman penuh tentang semua pekerjaan yang direncanakan untuk kotak waktu itu.
Kanban tidak bergantung pada pengiriman kotak waktu, dan Anda dapat merencanakan pengiriman harian jika Anda mau. Itu bergantung pada pengoptimalan alur, yang berarti bahwa fokus tim adalah menyelesaikan dan mengosongkan kolom WIP sesegera mungkin.
Tim tidak menghabiskan waktu untuk memperkirakan pekerjaan jauh sebelumnya. Pengembang akan mengambil item berikutnya dari To-Do; menyelesaikannya sesegera mungkin; dan mengambil tugas lain.
Ini tidak berarti bahwa tim tidak boleh memperkirakan volume beban kerja mereka.
Anda dapat menggunakan panggilan mingguan atau harian untuk memperbarui, dan memverifikasi tanggal jatuh tempo.
Namun, untuk tim kecil, lebih penting untuk memastikan bahwa pengembang mengerjakan tugas dengan prioritas tertinggi pada saat tertentu dan tidak ada hambatan, memaksa pengembang untuk menghentikan sementara pekerjaan mereka.
Pada akhirnya, proyek Anda akan berkembang dan Anda harus mulai memperkirakan jumlah pekerjaan pengembangan secara lebih rinci. Ketika Anda mencapai situasi ini, luangkan waktu untuk membaca panduan kami untuk Estimasi Biaya Perangkat Lunak Dalam Manajemen Proyek Agile.
Praktik Manajemen yang Harus Dimiliki
Sejauh ini, Anda telah belajar tentang pentingnya memvisualisasikan proses Anda dan membatasi WIP, dan cara menggunakan Trello untuk mengelola proyek Anda.
Proyek perangkat lunak tidak hanya dapat dikelola dengan kartu dan kolom. Oleh karena itu, penting untuk menerapkan praktik terbaik Agile juga:
Menyelenggarakan pertemuan tim secara teratur.
Lakukan ini setidaknya setiap minggu untuk meninjau apa yang telah dilakukan dan memperbaiki dan memprioritaskan backlog (To-Do list) jika diperlukan. Dengan cara ini, seluruh tim akan mendapatkan pembaruan pada saat yang sama, dan ide dapat dibagikan. Dalam pertemuan ini, penting untuk memiliki pemangku kepentingan proyek (Klien, CTO perusahaan, atau siapa pun dari tim produk yang dapat membuat keputusan dan menjawab pertanyaan) untuk akhirnya memberikan umpan balik non-teknis.Pastikan komunikasi yang konstan dengan anggota tim individu.
Ini akan membuat pekerjaan sehari-hari setiap orang jauh lebih mudah. Buat rapat atau sinkronisasi ini sangat singkat dan sederhana, hanya pembaruan cepat di program obrolan favorit Anda. Ini berguna untuk melakukan check-in harian, yang bisa berupa ~15 menit pertemuan harian yang Anda lakukan dengan tim Anda. Dalam pertemuan ini, setiap anggota tim berbicara selama beberapa detik yang menyatakan:
- Apa yang mereka kerjakan kemarin.
- Apa yang mereka rencanakan untuk dikerjakan hari ini.
- Tantangan atau hambatan apa yang mereka hadapi.
Catat selama panggilan dan perhatikan untuk menemukan kemungkinan masalah (penghalang, fokus yang salah pada tugas, tantangan teknis yang tidak terduga), dan kerjakan bersama tim.
Bootstrap Proyek Pengembangan Perangkat Lunak Anda
Meskipun setiap proyek pengembangan perangkat lunak berbeda, ada tugas tertentu yang akan Anda temukan di hampir semuanya. Berikut adalah beberapa tugas yang harus Anda rencanakan saat memulai proyek pengembangan perangkat lunak:
Siapkan pembuatan versi kode dan repositori.
Melacak perubahan dan memantau kode sangat penting, terutama saat berkolaborasi dalam proyek di mana banyak orang akan memperbarui kode yang sama.
Salah satu layanan paling populer untuk pembuatan versi kode adalah GitHub. GitHub adalah Git berbasis web atau repositori kontrol versi yang menawarkan semua kontrol versi terdistribusi dan fungsionalitas manajemen kode sumber (SCM) Git.
Ini menyediakan kontrol akses dan beberapa fitur kolaborasi, seperti pelacakan bug, permintaan fitur, manajemen tugas, dan wiki untuk setiap proyek.Tentukan kebijakan pencadangan basis data.
Menggunakan layanan seperti GitHub akan memastikan bahwa kode Anda dicadangkan secara teratur.
Basis data, biasanya, bukan bagian dari sistem pembuatan versi Anda, dan Anda juga harus sering mengatur pencadangan basis data.
Proses pengembangan rawan kesalahan, dan mudah untuk membuat kesalahan dan memperbarui data yang salah selama pengembangan. Memiliki cadangan akan menyelamatkan Anda dari masalah jika masalah seperti itu terjadi.Siapkan alat kolaborasi dan berbagi file.
Dokumentasi proyek, spesifikasi fungsional, file desain, dan dokumentasi serta file lain yang digunakan selama pengembangan proyek terus diperbarui dan harus didistribusikan ke tim Anda.
Anda dapat menggunakan sejumlah layanan berbeda untuk berbagi file ini. Google mengizinkan solusi sederhana dan hemat biaya untuk masalah ini. Gunakan Google Drive, Google Dokumen, Google Spreadsheet, dan aplikasi Google lainnya untuk berbagi dan berkolaborasi pada file.Siapkan server pengembangan dan pengujian terpisah.
Proses pembangunan harus terus dilakukan setiap saat.
Pengembang tidak boleh menunggu hasil pengujian aplikasi, dan mereka harus terus mengerjakan tugas mereka sementara Quality Assurance meninjau fungsionalitas yang telah selesai.
Pada saat yang sama, klien harus dapat memeriksa status aplikasi saat ini kapan saja, tanpa menunggu tim pengembangan. Memiliki server pengujian khusus yang diperbarui secara teratur akan menghilangkan semua hambatan dalam proses ini dan memastikan bahwa tim Anda berjalan tanpa gangguan.Tentukan waktu tetap untuk panggilan tim mingguan dan waktu tetap untuk panggilan atau obrolan tim harian.
Minta semua anggota tim Anda untuk menjadwalkan waktu di kalender mereka untuk panggilan dan rapat. Ini memberi tim Anda jadwal yang stabil tanpa gangguan kerja.
Bawa pulang
Manajemen proyek adalah aktivitas yang kompleks dan, terlalu sering, sangat menegangkan. Menambahkan struktur padanya dan membuat status proyek terlihat dan akurat setiap saat mengurangi banyak tekanan ini. Mempekerjakan metode Kanban dan prinsip Agile, dikombinasikan dengan alat yang tepat, akan menghemat banyak waktu Anda.
Dengan itu, tidak ada alat atau metodologi yang akan mengimbangi waktu yang Anda, sebagai manajer proyek, harus dedikasikan untuk mengelola proyek.
Dan hanya karena sebuah proyek kecil, tidak berarti itu membutuhkan lebih sedikit waktu Anda. Mentalitas ini adalah resep yang bagus untuk sakit kepala yang parah.
Berikut adalah daftar periksa sederhana untuk membantu Anda memverifikasi apakah proyek Anda dikelola dengan benar atau tidak:
- Apakah proses Anda divisualisasikan dengan benar?
- Apakah WIP untuk setiap anggota tim dibatasi dan diminimalkan?
- Apakah tim Anda memiliki pertemuan yang dijadwalkan secara konsisten – baik mingguan atau harian?
- Apakah papan Kanban Anda diperbarui secara berkala?
- Apakah Anda memiliki repositori kode?
- Sudahkah Anda menjadwalkan pencadangan basis data?
- Sudahkah Anda menyiapkan alat komunikasi dan kolaborasi tim?
- Apakah lingkungan pengembangan Anda terpisah dari pengujian, penerimaan, dan produksi?
Ingatlah bahwa daftar ini masih jauh dari pasti dan selesai; ini hanya permulaan.
Silakan tinggalkan komentar Anda, dan bagikan tip dan praktik Anda dengan manajer proyek yang baru saja memulai perjalanan tanpa akhir dalam memberdayakan tim pengembangan perangkat lunak.