Scrum User Group Jakarta Meetup – January 2017

Today (Wednesday, January 11th, 2017), HappyFresh will host Scrum User Group Jakarta meetup.

Please come if you’re interested, or if you’re curious on how our tech-product process going. See the details here: https://lnkd.in/fTJSPhP

For those who cannot join the offline meetup, you’re still able to join via online (streaming):

Topic: Scrum User Group Jakarta Meetup at HappyFresh
Time: Jan 11, 2017 6:45 AM (GMT+7:00) Jakarta Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/911518142

See you tomorrow!

NB: I’ll share the meetup documentation in the next article (later)

Retrospective: Apresiasi dan Mesin Waktu

“Beberapa dari kita hanya ingat akan ketidakpuasan, sehingga lupa akan apa yang telah rekan kita kontribusikan”

Sprint lalu saya mencoba modifikasi Sprint Retrospective yang biasa dilakukan oleh tim.

Biasanya kami menggunakan metode Mad-Sad-Glad (akan ditulis pada artikel lainnya), namun kali ini saya ubah sedikit agar sedikit cocok (atau dicocok-cocok-in) dengan tema akhir tahun. Metode kali ini saya coba namakan Apresiasi dan Mesin Waktu.

Alat dan bahan:
1. Post it 2 warna, usahakan gunakan warna cerah
2. Spidol secukupnya

Aturan main

  • Persiapan:
    • Post it warna pertama, tim harus tulis ungkapkan rasa terima kasih atas bantuan, pekerjaan, atau apapun yang telah dilakukan rekan satu tim-nya. Susah tapi harus dipaksa. Mengapa? karena tim harus dilatih agar bisa menunjukkan respect dan empati terhadap satu tim-nya. (Tips: satu post-it hanya boleh berisi satu poin. Jangan tulis poin yang berbeda untuk beberapa orang dalam satu post it. Alasannya akan dijelaskan di bawah)
    • Post it warna kedua, tim harus bisa menjawab pertanyaan: “Seandainya kamu diberikan kesempatan untuk kembali ke beberapa hari saat sprint baru dimulai, apa yang ingin kamu perbaiki?”.
    • Biarkan tim berfikir dan berdiskusi sambil menulis, namun tetap harus dalam koridor dua poin di atas.
  • Diskusi:
    • Tim satu-persatu ungkapkan poin pertama (apresiasi) dengan lantang sambil memberikan post-it tersebut kepada rekan yang sedang mereka apresiasi. Rangsang anggota tim yang diberikan apresiasi untuk dapat memberikan respon balik terhadap rekan yang sedang mengapresiasi (contoh: “Terima kasih juga ya”). Lakukan satu per-satu sampai seluruh anggota tim mendapat giliran.
    • Tim satu-persatu ungkapkan poin kedua (mesin waktu). Lakukan satu per-satu sampai seluruh anggota tim mendapat giliran.
    • Dari poin kedua, biasanya akan keluar berbagai macam hal yang ingin diperbaiki – ini merupakan cara lain untuk merangsang tim mengungkapkan permasalahan yang terjadi selama sprint.
    • Contoh poin kedua (mesin waktu) yang berhasil ditangkap pada Sprint Retrospective lalu:
  • Hacking:
    • Dari permasalahan-permasalahan tersebut, ajak tim diskusi untuk menemukan akar permasalahan/root cause. Karena belum tentu solusi yang diberikan masing-masing orang merupakan solusi yang objektif dan efektif untuk menyelesaikan akar permasalahan yang ada.
    • Seperti Sprint Retrospective lainnya, akhir sesi ditutup dengan menuliskan seluruh action items yang telah masing-masing pribadi sepakat untuk lakukan berdasarkan proses hacking yang sudah dilakukan sebelumnya.
  • Improvement:
    • Cek masing-masing action items, encourage tim agar bisa melakukan action items yang telah di-commit agar permasalahan yang sama tidak terjadi di Sprint berikutnya.

Menarik, bukan?
Selamat mencoba!

Atau kamu tertarik untuk merasakannya langsung?. Yuk gabung bersama kita di https://www.happyfresh.com/careers/jobs/tech-product/. Proses kita memang belum sempurna tapi kita berkomitmen untuk terus improve agile process yang kita miliki. 

NB: Jika berkenan, setelah mencoba mohon tuliskan di kolom komentar ya bagaimana hasilnya, plus apa yang tim teman-teman rasakan.

Agile Team Doesn’t Need a Project Manager

Why?

Because every member in agile team (should) knows, really knows, how to manage themselves. They can pick the task by themselves as long it’s match with the goal that been decided by (who?) the team (of course!).

Team? why it isn’t on Product Owner?
From my perspective, even the goal comes from Product Owner, it should be agreed by the whole team. Product Owner should explain, persuade, and convince the team that the goal that been represented by every single backlog is the most important one.

Then, let the team pick the task, pick their “making” time.
No need to “micro manage” them.
No need to being a “control freak”.
No need to make a SOP on what time they should come up in the office. (because we never ask them to go home on the specific time, isn’t it?) (or even give them a compensation for being overtime, isn’t it?)
No need to control when they should work, when they should take a rest.

You only need to:
Make sure they still on the track towards the goal.
Remind them.
Find the blockers, help them to solve it (by themselves).

And make sure they’re ..

Happy.

Tanyain Dong

Dev: Pe, tolongin tanyain ke Joe (Product Manager) dong, story yang ini harusnya gimana?, belom jelas nih..

Joe: Pepe, do you know how much complexity points that Happy team will commit for the next sprint?

*bolak-balik*

Capek sendiri, pusing sendiri, kayaknya kok sibuk banget (sibuk?, atau disibuk-sibukkin??). Inginnya sih memfasilitasi tim, tapi kok bukannya membuat tim makin mandiri, malah membuat tim makin manja. Makin males nanya langsung. Minta tolong tanyain terus. Padahal bisa tanya langsung entah via Slack, e-mail, bahkan bisa “nyamperin” orangnya langsung.

Lalu kita merasa sudah jadi Scrum Master yang hebat, yang sukses, karena kita bisa membantu tim. Rasanya seperti:
1. “Wow, saya punya power nih”.
2. “Wah, tim udah tergantung saya banget nih, kalo gak ada saya, tim gak akan jalan”.
3. “Yes, saya sudah menjadi orang yang paling penting di tim saya”.
4. etc.

Ada yang merasa kaya gitu?
Hmm..

Are you a Scrum Master? or just a messenger?

Agile yang saya tangkap itu berarti kita siap menerima perubahan. Perubahan tersebut bukan berarti berlangsung terus menerus dengan tidak terkendali sehingga terjadi chaoslho. Gimana caranya? ya harus bisa menanamkan Agile mindset dulu yang salah satunya: Transparency, yang berarti Terbuka (seluruhnya, bukan sebagian, atau sebagian besar). Biar apa? biar kita tahu kondisi masing-masing, dan bisa cepat ambil tindakan strategis (Agile mindset berikutnya: Adapt).

Kalau setiap saat harus panggil Scrum Master untuk tanya ini, tanya itu, yang sebenarnya bisa ditanyakan langsung ke PM/PO (atau sebaliknya), dimana letak keterbukaannya?. Gimana mau ambil tindakan cepat kalau terjadi apa-apa, kalau prosesnya lambat, berbelit belit: tanya sana, sampaikan sini, tanya sini, sampaikan sana. Ini mau bikin product atau bikin KTP di kelurahan?.

Penerapan di HappyFresh sih gak se-ekstrim: “Tanya langsung ke dia dong, kan punya mulut”. Tapi at least saya mulai pelan-pelan dengan jawaban yang tidak memanjakan.

“Belum jelas ya? yuk tanya Joe langsung”. 

“Coba nanti kita diskusi ya sama tim, saya gak bisa jawab dengan pasti nih sebelum tanya langsung”.

Bukan berarti gak nanya, atau gak peduli sama tim lho. FYI, saya setiap hari kalau lagi senggang kerjaannya ya siskamling atau kadang bikin checkpoint dalam beberapa interval jam sekali untuk sekadar ngupdate blockers: “Gimana? aman terkendali? ada yang butuh dibantuin gak? ada kendala?” – “Yuk ke dia langsung”. Walaupun kadang-kadang ada sih yang masih malas, “Udah deh Pe, lo aja yang tanyain”. Tapi sih mulai beberapa minggu belakangan sering saya paksa akhirnya, HAHAHA.

Hayo, jangan sampai salah kaprah ya. Goal dari Agile team itu sepengetahuan saya agarall team member become self-organized. Bukan kita-nya malah menjadi perantara pesan. Kita harus encourage tim supaya bisa melakukannya sendiri.

Sampai pada akhirnya Scrum Master tidak akan dibutuhkan lagi.
Lalu akan kehilangan fungsi dan peran.
Dan akhirnya Scrum Master akan kehilangan pekerjaannya.

Ironi kan?

Sampai pada titik itulah tanda kesuksesan seorang Scrum Master sesungguhnya.

(Lalu ia akan mencari tim lain yang masih membutuhkannya, untuk disulap kembali menjadi self-organized team berikutnya)

Berdiri Untuk Apa?

Waktu menunjukkan pukul 9.30 pagi.

Seperti biasa saatnya saya tepuk tangan sambil berseru “Ayo stand up dulu yuk”. Kadang harus ditambah dengan seruan “Yuk, sebentar aja, makin cepat mulai makin cepat selesai”. Kadang juga harus diselingi lari-lari kecil mendekat kepada board(Kanban) dari masing-masing tim.

Yak, itulah keseharian saya dalam memulai hari, dengan daily stand up / daily scrum / daily meetings atau apapun lah itu namanya (nama cuma sekadar nama..), salah satu ritual utama dalam Scrum Framework.

(kurang lebih seperti ini)

“Hi guys, Thank you udah dateng di daily stand up. Yuk, update dulu yuk. Dimulai dari siapa? Mirza deh..”.

M: “Gw hari ini mau bla-bla, gw kemarin udah bla-bla, hmm gak ada blockers atau apapun sih..”

Saya selalu membawa laptop dengan membuka Evernote, lalu dengan detil mencatat satu persatu apa yang dikemukakan anggota tim dalam format seperti ini:

| Nama tim | Nama | Yesterday | Today | Blockers |

*mencatat*

“Oke, next..”

Lalu setelah itu biasanya saya langsung mendokumentasikan hasil daily stand updalam Confluence page dan Asana. Ya, saya pakai Asana untuk mencatat seluruhblockers yang ada agar bisa segera dicarikan solusinya. Kenapa? karena salah satu tugas Scrum Master yang saya tahu berdasarkan Scrum Guides yaitu: membantu tim agar bisa self-organize menyelesaikan masalah mereka sendiri dengan menjadi fasilitator.

Namun dengan proses di atas saya malah jadi menemui beberapa kendala:
1. Saya jadi susah fokus dalam mendengarkan uraian tim karena harus multitaskingantara mendengarkan dan mencatat.
2. Setelah daily stand up selesai, saya harus merapikan dokumen, mencatat dalam Asana. Memakan waktu, belum sempat mengaddress masalah, eh sudah harus daily stand up dengan tim yang lain.

Am i doing the right thing as a Scrum Master?

Belakangan ini saya sadar, saya sepertinya salah. Kalau pekerjaan saya mendengar update masing masing tim dengan tanya kemarin ngapain, hari ini ngapain, dll, apa bedanya saya sama Project Manager?. Kalau Project Manager, ya wajar sih tanya update, kalau Scrum Master apa perlu?.

Sepertinya gak wajib. Kita boleh tau (lebih baik jika tahu) tapi bukan itu utamanya. Goal utama kita adalah bagaimana tim bisa dengan terbuka sharing seluruhblockers mereka sehingga kita bisa dengan segera bantu selesaikan. Kalau dalam bahasa saya: “kita amprokin deh tuh”, alias kita ketemukan dua belah pihak yang seperti gak terhubung, biar bisa saling bantu, atau cari titik temu antara permasalahan tersebut. Biasanya sih yang paling sering antara Product Manager (Product Owner) dan Development Team.

Masalahnya biasanya:
1. Ada implementasi fitur yang tingkat kesulitannya di luar ekspektasi.
2. Fitur ternyata kurang detil baik secara deskripsi maupun secara UI/UX.
3. etc.

Jadi sejak sekarang, saya tinggakan deh tuh laptop tiap daily stand up. Paling senjata saya adalah post it untuk menandai mana story (Sprint Backlog) yang sedang adablockers-nya atau untuk mencatat to do list saya setelah daily stand up.

Setelah itu? Ya amprok-amprokin deh tuh..

Reducing less important documentation, more time to assist your team.

“Yuk, sekarang sharing dulu, gak mesti update ya. Siapa mau jadi volunteer untuk mulai duluan? Nanti pilih siapa selanjutnya ya..”