Trello Guideline untuk Agile Software Development

Organizing tools Trello sudah menjadi hal yang tidak terpisahkan untuk keseharian engineer dan product manager. Bagi engineer, Trello digunakan untuk menentukan task, prioritas, alokasi waktu, hingga performa. Bagi product manager, Trello adalah monitoring tools untuk menentukan rencana strategis yang harus diambil. Trello menjadi kunci utama komunikasi yang lancar dalam suatu product
Setelah analisa dari berbagai pengalaman, salah satu penyebab mis-komunikasi paling besar adalah Trello. Saat engineer mengerjakan suatu fitur, setelah seminggu sprint planning engineer bisa jadi lupa dengan fitur yang harus dikerjakan, dan mungkin product manager juga bisa miss dalam menyampaikan fitur tersebut. Engineer bisa jadi mengacu pada suatu email, tapi product manager mengacu mungkin pada meeting yang berbeda dan membuat fitur yang dikerjakan berubah
Peran utama Trello bukan hanya sebagai reminder, tetapi sebagai acuan paling benar dalam development. Semua yang ditulis product manager dibuat sedetail mungkin dan tanpa membuat asumsi di engineer. Guideline ini dibuat untuk standarisasi proses dan penyesuaian untuk sistem timesheet, berikut guidelinenya
Proses development dibuat engineer centric, bantu engineer dengan mempermudah akses ke seluruh requirement tanpa harus membuka beberapa email ataupun dokumen
List

Dalam satu Board, List menunjukaan proses yang ada dalam development. Minimal selalu ada Backlog, Sprint yang sedang berjalan, On Progress, Ready to Test, Done. Rules untuk list sebagai berikut
- Backlog adalah tempat ide, task dan fitur untuk keseluruhan product
- Sprint berjalan berisi task yang ditentukan diawal sprint planning dan tidak bertambah.
- Jika sprint telah berakhir, maka Sprint yang sedang berjalan akan di rename ke Sprint selanjutnya
- Ready to Test untuk task yang selesai dan siap ditest
- Done berisi semua task yang sudah selesai dari seluruh sprint dan diberikan tambahan judul [Sprint ? ] dengan ? sebagai sprint card selesai

- Jika card sprint sebelumnya menyisakan card maka akan di tulis [Carry Over Sprint ? ] dengan ? sebagai sprint card itu seharusnya
Card

Dalam pembuatan card, harus mengacu pada suatu mock up dan screen yang telah ada. Dari screen tersebut, maka
- Suatu screen akan menjadi sebuah card
- Jika terdapat tombol tanpa proses kompleks, hanya dijadikan checklist dalam card screen
- Jika terdapat tombol dengan proses kompleks, menjadi card tersendiri
Judul Card

Judul card idealnya sekaligus menjadi user story dengan kalimat SPOK (subjek, predikat, objek, dan keterangan). Awal card dapat diberikan penomoran sesuai nomor modul, dan urutan sesuai dengan user story
Member Card
Card diassign kepada beberapa member sesuai dengan role engineer tersebut dan label card.
- Jika labelnya front end, dan dalam tim hanya ada satu front end, maka dalam sprint planning bisa langsung diassign ke engineer tersebut
- Jika dalam tim terdapat beberapa front end, dalam sprint planning boleh saja saat Card masih di Backlog atau Sprint belum ada member untuk melihat dinamika yang terjadi
- Card yang sudah On Progress dst harus sudah ditentukan membernya
Label Card

Suatu card bisa memiliki banyak label. Label menunjukkan role apa saja yang dibutuhkan dalam development card tersebut, contohnya DevOps, Back End, Front End, Android, iOS
Attachment Card

Setiap card harus meng-attach screen yang akan dikerjakan, termasuk pop up, modal, alert, dan elemen UI lain
Deskripsi Card

Deskripsi menjadi bagian paling penting dalam card. Apa saja yang harus ada dalam deskripsi ? Seluruh field
- Input beserta tipe data nya, optional atau mandatory, minimum karakter, maximum karakter, default value, disable/enable, formating (contoh: email)
- Select dropdown, dijelaskan isi option nya
- Upload file atau gambar memiliki maximum size dan format file yang diterima
- Search box tertera search nya berdasarkan kolom apa saja
- Sorting tertera kolom mana saja yang dapat disorting
- Wording eror, sukses, cancel, notifikasi, push notif, pop up, email dll
- Flow bisnis yang terjadi untuk setiap tombol
- Hal-hal penting atau aneh yang diminta product owner
Ceklist Card

Ceklist card merepresentasikan role yang dibutuhkan sesuai dengan label card, contohnya Front End, Back End, DevOps. Selain role, terdapat ceklist Testing juga. Item pada ceklist merepresentasikan task yang harus dilakukan untuk menyelesaikan card ini. Secara garis besar, item tergantung pada ceklist nya masing-masing
- Back end berisi service yang akan dipanggil dalam screen
- Front end berisi elemen UI yang muncul pada screen
- Testing memuat seluruh kemungkinan skenario negatif dan positif beserta dengan hasil yang diharapkan
Alokasi Waktu Card

Untuk fitur ini harus terlebih dahulu menginstall extension Trello Plus untuk browser chrome. Setelah seluruh card jelas, lead dan engineer akan menentukan bobot jam yang diperlukan untuk menyelesaikan seluruh item ceklist dalam card untuk masing2 engineer
Jika alokasi waktu terlalu lama, lebih baik item ceklist dipecah dan dijadikan card tersendiri dengan nama pada card mereferensi card aslinya
Setelah selesai alokasi waktu, terlihat total jam yang dibutuhkan dan kemungkinan selesai atau tidaknya semua card dalam satu sprint. Jika tidak selesai, baiknya menentukan prioritas fitur
Komentar Card

Standarnya, komentar pada card akan diisi oleh alokasi waktu karena extension trello. Komentar juga dapat membantu dengan menaruh kontrak JSON atau API antara back end dan front end, mencatat pendingan yang diperlukan dll
Dengan menstandarisasi guideline ini untuk semua development dapat membantu product manager memonitor dan engineer untuk mendapatkan arahan yang jelas, meminimalisir ambigu dan menghindari bug di kemudian hari. Keep Develop and Contributing
Rukan Nasrullah Adha. Nostratech
