Pengalaman Berharga dari PPL 2021

Patricia Anugrah
7 min readJun 24, 2021

--

Sumber: skywell.software

Kamis, 24 Juni 2021. Hari terakhir Individual Review untuk satu-satunya mata kuliah wajib di Fakultas Ilmu Komputer Universitas Indonesia yang membutuhkan 6 sks, PPL. Setelah sekitar 4 bulan hampir selalu menghabiskan lebih dari 12 jam setiap minggunya untuk mengerjakan proyek BisaGo ini, pengalaman PPL 2021 akhirnya sebentar lagi menuju penutupan. Pada artikel ini, saya ingin menuliskan pengalaman berharga apa saja yang dapat dari PPL 2021.

Soft Skills

Sumber: freepik.com

Working in a Team

Saya baru pertama kalinya mendapatkan pengalaman bekerja sama dalam waktu yang cukup lama dengan rekan-rekan baru di PPL. Jujur sebelum waktunya mengisi IRS perkuliahan semester ini saya sempat membangun tim dengan teman-teman saya untuk PPL. Namun karena satu dan lain hal akhirnya kami malah masuk ke PPL Kelas A. Di saat tersebut saya sempat merasa panik karena mendengar katanya kelas ini memiliki beberapa jalan kerja yang berbeda dari kelas PPL lainnya (bahkan di Scele memiliki laman sendiri :D). Perbedaan pertama yang saya rasakan adalah saya harus melanjutkan proyek aplikasi yang sudah dikerjakan oleh kelompok PPL sebelumnya dan kelompok tim akan dipilih (dan katanya bisa dirotasi setiap Sprint?!).

Setelah sekitar mengikuti 2 minggu pembukaan PPL dari dosen, saya harus mengisi survey data, minat, dan bakat. Kemudian saya dimasukkan ke kelompok 1 yang sama sekali tidak ada teman-teman sekelompok lama saya. Proyek aplikasi yang diberikan adalah BisaGo. Hal ini membuat saya cukup senang karena saya memang paling tertarik dengan proyek ini. Ternyata setiap proyek dikerjakan oleh dua kelompok, 1 dan 2. Saya tidak tahu apa yang akan terjadi selama satu semester PPL ini. Hingga mulailah Sprint 1.

Pada Sprint 1 ini, langsung kerasa kerja sama yang masih kaku ini dari kelompok 1 dan 2 ini. Setidaknya dari saya sendiri, saya masih sering meminta tolong kepada asdos untuk berbagai kebingungan atau permasalahan yang saya hadapi. Saya juga waktu itu merasa cukup terbebani dengan kedua kelompok ini harus melakukan Daily Meeting sebanyak dua kali setiap minggu. Setiap melaksanakan Daily Meeting ini pun saya hanya menceritakan apa yang saya kerjakan secara umum, tidak begitu menjelaskan permasalahannya. Karena saya masih pasif meminta tolong kelompok, saya terus bertanya kepada asdos (meskipun sebenarnya untuk PBI ini dikerjakan untuk 3 anggota termasuk saya). Lalu, hingga Sprint Review 1, PBI bagian saya untuk Sprint 1 belum selesai. Saya tidak ada progress dalam hard skills di Individual Review saya. Meskipun saya diberi tahu bahwa untuk progress hard skills yang diambil 3 terbaik dari 4, hal ini cukup membuat saya kecewa dengan diri sendiri. Setelah itu, saya bertekad untuk lebih aktif menyampaikan permasalahan yang saya alami kepada teman-teman kelompok.

Di Sprint 2, saya langsung di-assign menjadi Product Owner untuk kelompok 1. Pengalaman di Sprint 2 ini cukup meningkatkan rasa percaya diri saya karena untuk pertama kalinya saya berhasil menyelesaikan PBI. Namun dinamika pengalaman kerja sama dengan anggota kelompok dalam mengerjakan PBI masih belum terlalu kerasa karena pada PBI kali ini saya mengerjakannya sendiri. Walaupun demikian pengalaman saya menjadi Product Owner memberikan saya kesempatan untuk bekerja sama dengan teman sesama Product Owner Sprint 2 ini, sekaligus para Scrum Master yang dari anggota kelompok 1 dan 2 juga. Kami menyiapkan presentasi bersama, dan menanyakan anggota lain tentang progress PBI mereka. Setelah melewati Sprint 2, rasa kaku dalam kerja sama ini mulai menghilang.

Masuk ke Sprint 3, banyak perubahan dari kerja sama ini yang dialami. Salah satunya adalah saya sudah tidak terbebani lagi dengan Daily Meeting, bahkan saat tersebut bisa menjadi saat-saat yang ditunggukan karena saya ingin mengetahui progress dari teman-teman anggota, sekaligus saya bisa menceritakan kendala saya. Saya juga sudah bukan menjadi Product Owner, namun untuk mengerjakan PBI saya bekerja sama kembali dengan 2 teman yang bekerja untuk PBI pada Sprint 1. Kami jauh lebih aktif dari saat Sprint 1 untuk saling melaporkan progress, saling membantu apabila terdapat kendala, atau melakukan pemrograman bareng lewat Discord atau Google Meet. Meski kerja kami belum selesai hingga masuk Sprint Review, kami tetap bersemangat untuk melanjutkan PBI yang belum selesai ini pada Sprint 4.

Pada akhirnya masuk ke Sprint 4, sprint terakhir yang seharusnya menjadi sprint paling berat selama satu semester. Saya harus mengerjakan 2 PBI sekaligus banyak deadline tugas akhir dari mata kuliah lain yang dipikirnya akan bermunculan sebelum periode UAS (walaupun akhirnya deadline tugas ini justru banyaknya setelah periode UAS). Bahkan Scrum Master Sprint kali ini meminta izin keringanan apabila salah satu PBI terakhir ini tidak dapat dikerjakan. Karena saya tidak mampu menyelesaikan kendala dalam PBI yang pada Sprint 3 (karena kekurangan kemampuan laptop saya), PBI ini dipegang oleh teman sekelompok saya yang sudah mengerjakan PBI Sprint 4-nya. Saya langsung mengerjakan PBI buat Sprint 4 yang kebetulan menggunakan fitur dari PBI Sprint 3 ini yang selesai dikerjakan oleh teman saya. Setelah ini, saya sering bekerja sama secara aktif dengan teman-teman sekelompok saya dalam mengerjakan PBI terakhir ini, seperti meminta saran dan pendapat untuk layout, menanyakan kabar progress teman yang mengerjakan PBI sama, menceritakan kendala yang dialami langsung ke teman-teman dan mendapatkan bantuan. Sehingga, akhirnya seluruh PBI pada Sprint 4 dapat diselesaikan dan dipresentasikan di Sprint Review terakhir.

Hard Skills

Sumber: elena2.itda.ac.id

Git Flow

Saya sudah mengenal Git dari semester 2, yaitu pada kelas DDP-2. Saya baru mengenal sekadar push pekerjaan saya ke Gitlab. Walaupun setelahnya saya selalu bertemu dengan Git, di kelas AP, saya mempelajari lebih dalam tentang Git di mana terdapat branch. Ilmu baru tentang Git di kelas AP ini sangat dipakai hingga PPL 2021 sekarang. Di PPL 2021, prinsip workflow Git dengan baik ini harus diterapkan.

Ketika mengerjakan suatu PBI dengan beberapa anggota kelompok, saya harus membuat branch dev sendiri. Saat mau push pekerjaan ke branch dev sendiri, saya harus menerapkan prinsip TDD dengan baik. Di mana saya harus mem-push dengan commit [RED] pertama kali, atau program yang sudah dibuat tesnya terlebih dahulu. Setelah mengerjakan pekerjaannya dan lolos tes, maka saya baru push dengan commit [GREEN]. Selanjutnya apabila saya ingin refactor bagian, saya harus push dengan commit [REFACTOR]. Lalu untuk perbaikan yang tidak mengubah banyak, push dengan commit [CHORES].

Lalu, branch dev saya dengan dev anggota kelompok yang mengerjakan PBI ini juga kalau sudah selesai harus di-merge ke branch PBI dengan format nama yang rapi. Merge request harus di-approve oleh minimal 2 orang. Setelah branch PBI ini lengkap baru di-merge ke branch development. Branch development ini berisi pekerjaan PBI masing-masing dari seluruh anggota yang sudah berjalan dengan baik.

Ketika melakukan Sprint Review, branch development ini sudah harus ada di branch staging, sehingga masuk ke playstore dan dapat digunakan stakeholder. Apabila terdapat kesalahan dan sudah terlanjur di staging, maka perbaikan ini harus dibuat branch coldfix. Setelah seluruh Sprint sudah selesai, maka tahap terakhir adalah di-merge ke master. Namun, apabila ternyata masih ada masalah, perbaikannya harus melalui hotfix dan baru di-merge ke master kembali.

Mobile Programming: Flutter

Yang paling banyak mengambil waktu hingga lebih dari 12 jam setiap minggu ini adalah saat melakukan mobile programming menggunakan Flutter framework ini. Saya mempelajari bagaimana memrogram mobile dengan Flutter secara frontend. Flutter sendiri menggunakan bahasa pemrograman Dart, namun tidak terlalu sulit menurut saya karena sudah sangat mirip dengan bahasa pemrograman Java. Yang lebih menantang adalah mengerti alur yang sudah diterapkan untuk aplikasi BisaGo ini, seperti dengan BLoC dan setiap tindakan di frontend harus melalui file .dart yang mana saja.

Saya juga pertama kali mencoba tes hasil program langsung ke HP saya sendiri. Karena laptop saya tidak kuat untuk melakukan simulasi dengan HP virtual, saya harus mencobanya langsung dengan HP sendiri. Namun proses running Flutter ke HP ini sangat memakan waktu, belum lagi ketika saya harus banyak mengecek ketika membuat tampilan baru. Belum lagi, laptop saya tidak dapat menunjukkan log apabila sudah jalan di HP sehingga saya tidak bisa tahu apa yang terjadi selama running ini, apalagi ketika sedang terjadi error. Yang saya lihat hanya hasil pemrograman saya yang ditampilkan di HP atau ketika tidak bisa jalan muncul error di aplikasi tersebut di HP, namun laptop saya tidak memberikan informasi errornya kenapa. Walaupun demikian, saya menikmati progress men-develop BisaGo dengan Flutter ini. Saya juga sering menemukan tutorial atau referensi tentang Flutter sehingga saya dapat belajar banyak dan lebih cepat.

Other Computer Science-related Skills / Knowledges

Selain pemrograman itu sendiri dengan Flutter dan Dart, sangat banyak ilmu komputer yang diterapkan pada pengerjaan proyek ini. Beberapa hal di antaranya adalah menerapkan Agile, TDD, Clean Code, Refactoring, dan yang saya minati sendiri yaitu UI/UX. Saya mengerjakan bagian User Interface pada aplikasi BisaGo ini untuk setidaknya dua PBI. Saya menggunakan figma untuk mendesain mockup-nya, dan juga meminta pilihan ke stakeholder bagaimana desainnya yang dibutuhkan.

Penutupan

Sumber: markey.id

Dulu saya merasa mata kuliah PPL akan menjadi yang paling memberi tekanan dan beban pada semester ini. Sekarang untuk saya PPL menjadi mata kuliah yang paling berkesan dan ditunggu-tunggu. Di sini, saya mendapatkan sangat banyak pengalaman berharga dalam bekerja sama, belum lagi hard skills baru yang diperoleh maupun yang lama diasah lebih baik. Bahkan sebenarnya setelah selesai Sprint Review terakhir, seluruh pengerjaan Sprint 4 yang sudah di-merge ke development, ketika masuk ke staging, terdapat error yang tidak ditemukan sebelumnya. Dengan tanpa merasa terbebani, saya memperbaiki kembali error ini, sekaligus memperbaiki dan menambahkan beberapa hal kecil yang belum dilakukan sebelumnya. Saat melakukan fixing ini saya mendapatkan pengalaman baru lagi. Saya sebelumnya belum pernah memperbaiki hasil pekerjaan yang sudah masuk ke staging. Ketika saya push ke git lagi, saya melakukan push ke coldfix dulu baru merge lagi ke staging.

Apapun yang saya harus kerjakan dan lalui di PPL ini mengubah banyak pada jalan pikir saya. Dulu saya sempat merasa trauma dengan PPL karena pengalaman tidak baik yang saya alami pada PPL 2020 yang saya pernah ambil. Sekarang, PPL 2021 justru mengubah pikiran saya, dan menjadi pengalaman berharga yang tak terlupakan. PPL 2021 mengajarkan saya pentingnya kerja sama, profesional dalam menjalankan proyek, aktif dalam memberi bantuan, meminta bantuan, dan berkomunikasi secara keseluruhan. PPL 2021 membuat saya menjadi lebih baik dalam bekerja sama, lebih percaya diri dengan kemampuan hard skills serta bantu mengembangkan sekaligus meningkatkan kemampuan ini, dan secara keseluruhan membuat saya menjadi orang yang lebih baik.

--

--

No responses yet