Panduan Pemula Untuk Mengelola Pengembangan Perangkat Lunak dengan Kanban dan Trello

Diterbitkan: 2022-03-11

Setiap 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.

Setiap menit yang Anda habiskan untuk mengelola proyek Anda adalah waktu yang dihabiskan dengan baik. Ini akan membawa Anda lebih dekat ke keberhasilan penyelesaian proyek Anda.

Manajemen proyek tangkas adalah metode yang diterima secara luas untuk mendekati proyek pengembangan perangkat lunak modern. Tapi apa sebenarnya yang dimaksud dengan Agile?

Proyek tangkas menerima perubahan ruang lingkup dan persyaratan yang sering terjadi sebagai bagian integral dari proses.

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:

  1. Visualisasikan proses Anda.
  2. 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.

Neuron otak untuk persepsi visual kita menyumbang 30 persen dari materi abu-abu otak.

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:

  1. To-Do - fitur sedang menunggu pengembangan
  2. Pengembangan - fitur ditugaskan ke pengembang dan dia sedang mengerjakannya
  3. Jaminan Kualitas - fitur sedang ditinjau
  4. Dikerahkan - fitur diterima dan disertakan dalam rilis aplikasi

Berdasarkan ini, papan Anda harus memiliki tata letak berikut:

Papan Trello dengan empat kolom: To-Do, Development, Quality Assurance, dan Deployed.

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.

Tampilan close-up kartu Trello, dengan label yang menyoroti label warna tugasnya, judul tugas, tanggal jatuh tempo tugas, indikator keberadaan deskripsi tugas, penghitung komentar, penghitung lampiran, item daftar periksa pecahan total, dan indikator orang yang ditetapkan.

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
Jangan berharap pengembang menjadi bijaksana, dan membatasi WIP mereka sendiri. Jika Anda membuang semuanya dari daftar To-Do ke ​​pengembang, itu akan seperti memberikan terlalu banyak mainan kepada seorang anak. Alih-alih bermain dengan satu mainan, mereka hanya akan melemparkannya ke mana-mana, menciptakan kekacauan di rumah Anda yang rapi, dan tetap saja, mereka tidak akan senang dan Anda dapat mengharapkan amukan.

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.

Papan Trello mirip dengan yang pertama, tetapi dengan kolom kedua yang disebut WIP, dan garis merah yang disebut "WIP LIMIT" digambar di bawah kartu ketiganya.

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.

Tangkapan layar membuat papan di Trello. Ada satu bidang untuk judul papan.

Anda akan mulai dengan papan kosong. Gunakan kotak “Tambahkan daftar …” untuk membuat kolom untuk kartu Kanban Anda.

Tangkapan layar menambahkan kolom tugas di Trello. Judul kolom baru dapat diedit, dan ada tombol Simpan dan X di bawahnya.

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.

Tangkapan layar tampilan detail kartu Trello, menunjukkan judulnya, bagian untuk daftar periksa, komentar, dan riwayat aktivitas, dan kemungkinan tindakan tingkat kartu di bilah sisi.

Visualisasi adalah segalanya di Kanban, jadi inilah tampilan kartu di papan:

Tangkapan layar kartu sebelumnya saat dilihat di level papan Trello, dengan elemen yang sama yang dijelaskan sebelumnya, tetapi cocok dengan detail kartu yang lebih baru.

Hanya dengan melihat kartu, tanpa membuka tampilan detail Anda dapat melihat bahwa:

  1. Tugas untuk menyiapkan Repositori Kode GitHub sedang menunggu untuk dieksekusi di daftar To-Do.
  2. Tugas jatuh tempo pada 27 Januari.
  3. Tugas memiliki deskripsi.
  4. Ada satu komentar tentang tugas itu.
  5. Ada daftar periksa dua item, dan saat ini tidak ada item yang diselesaikan.
  6. Tugas diberikan kepada pengguna DS, yang akan mengambilnya selanjutnya.
  7. 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:

  1. Apakah proses Anda divisualisasikan dengan benar?
  2. Apakah WIP untuk setiap anggota tim dibatasi dan diminimalkan?
  3. Apakah tim Anda memiliki pertemuan yang dijadwalkan secara konsisten – baik mingguan atau harian?
  4. Apakah papan Kanban Anda diperbarui secara berkala?
  5. Apakah Anda memiliki repositori kode?
  6. Sudahkah Anda menjadwalkan pencadangan basis data?
  7. Sudahkah Anda menyiapkan alat komunikasi dan kolaborasi tim?
  8. 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.