Reqruitment

Dalam melakukan tahapan pengumpulan requirement ini kami mengalami beberapa kendala. Pada awalnya kami bingung untuk melakukan visit kemana. Hal ini dikarenakan pengguna kami adalah siswa-siswa sekolah, sehingga sedikit membingungkan untuk menentukan siapa yang dapat menjadi salah satu stakeholder dalam projek ini.

Selain hal itu, kami juga terkendala dengan waktu untuk melakukan visitasi. Selama seminggu ini kami tidak ada waktu yang beririsan dengan waktu yang dimiliki para siswa. Oleh karena itu pada akhirnya kami memutuskan untuk membagi pengumpulan requirement ini menjadi beberapa tahap. Tahap pertama yaitu sampai laporan ini dibuat, kami melakukan tanya jawab personal serta membuat form untuk disebarluaskan sehingga mendapat data konkret terhadap jawaban-jawaban kami.

Baru setelahnya akan diadakan interview lebih lanjut dengan lebih banyak siswa, serta pihak guru sebagai penyedia materi. Setelah tahapan tersebut selesai, maka kami akan mengadakam visit ke salah satu perusahaan atau instansi yang memang membuat atau berhubungan dalam media pembelajaran online ini. Hal ini dilakukan agar kami mendapat gambaran dari apa yang dibutuhkan dan bagaimana sistem yang selama ini digunakan.

Hasil

Kami menanyakan perihal penggunaan media pembelajaran online. Kami menyortir agar form yang diisi hanya siswa-siswa yang pernah punya pengalaman menggunakannya. Hal tersebut agar kami mengetahui kelebihan dan kekurangan yang dirasakan pengguna. Dari respon yang diterima, mereka merasa bahwa media pembelajaran online yang mereka gunakan memiliki materi yang lengkap, latihan soal, serta media visual—seperti gambar atau video—sebagai pelengkap materi.

Ketika kami bertanya perihal mana yang lebih baik antara media online atau bimbingan belajar(pembelajaran offline), 59% diantaranya memilih bimbingan belajar. Hal ini menjadi catatan kami untuk memaksimalkan media online agar lebih efektif daripada media pembelajaran offline. Selain itu banyak dari mereka(81%) memilih bentuk mobile untuk pembelajarannya.

Mereka juga meminta agar diaadakan sistem akun dan sistem yang dapat menghubungkan antara pengajar dan pengguna (95%). Kami juga menanyakan perihal penyedia materi, 70% memilih guru bimbel daripada guru sekolah. Tiap respon memiliki alas an yang berbeda.

Dari data yang didapatkan diatas, kami memiliki gambaran mengenai media pembelajaran yang akan kami buat. Data ini akan dikombinasikan dengan data yang akan kami dapat dari tahapan selanjutnya. Sehingga akan didapatkan data requirement yang sesuai dengan kemauan pengguna.

Agile, Scrum, dan Kanban

Saat bekerja dalam tim untuk mengerjakan suatu proyek sangatlah penting menentukan Metodologi pengembangan perangkat lunak dan Proses pengembangan perangkat lunak yang akan digunakan. Metodologi pengembangan perangkat lunaksendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, contoh : agile, waterfall, fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Sedangkan Proses pengembangan perangkat lunak adalah model-model dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak, contoh : Proses Iteratif (Continuous Integration) , Extreme Programming.

Secara umum terdapat 6 langkah yang digunakan dalam Metodologi pengembangan perangkat lunak yaitu : 

  • Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
  • Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat lunak.
  • Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
  • Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
  • Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
  • Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala.

Poin penting dari Metodologi Agile :

  1. Interaksi dan personel lebih penting dari pada proses dan alat. di dalam agile interaksi antar anggota tim sangatlah penting, karena tanpa adanya interaksi yang baik maka proses pembuatan perangkat lunak tidak akan berjalan sesuai rencana.
  2. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap. saat melakukan proses demonstrasi kepada klien, perangkat lunak yang berfungsi dengan baik akan lebih berguna daripada dokumentasi yang lengkap.
  3. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak. salah satu ciri dari agile adalah klien menjadi bagian dari tim pengembangan perangkat lunak. Kolaborasi yang baik dengan klien saat proses pembuatan perangkat lunak sangatlah penting ketika menggunakan agile. Karena fungsi-fungsi dari perangkat lunak yang dikembangkan harus terus menerus dibicarakan dan diimprovisasi disesuaikan dengan keinginan klien
  4. Respon terhadap perubahan lebih penting daripada mengikuti rencana. agile development methods berfokus terhadap kecepatan respon tim ketika klien menginginkan perubahan saat proses pembuatan perangkat lunak.

Proses pengembangan dengan agile ada banyak metode yang digunakan, antara lain :

  1. Acceptance Test Driven Development (ATDD)
  2. Agile Modeling
  3. Adaptive Software Development (ASD)
  4. Continuous integration (CI)
  5. Crystal Clear
  6. Crystal Methods
  7. Dynamic Systems Development Method (DSDM)
  8. Extreme Programming (XP)
  9. Feature Driven Development (FDD)
  10. Graphical System Design (GSD)
  11. Kanban
  12. Lean software development
  13. Rational Unified Process (RUP)
  14. Scrum
  15. Scrum-ban
  16. Story-driven modeling
  17. Test-driven development (TDD)
  18. Velocity tracking
  19. Software Development Rhythms

SCRUM

Scrum merupakan framework untuk manajemen pengembangan software dengan karakteristik cekatan dan bersifat iterative dan incremental. Scrum mendefinisikan dirinya fleksible, strategi pengembangan yang menyeluruh dimana seluruh team bekerja sebagai satu unit dalam mencapai sebuah gol yang sama.

Prinsip kunci scrum adalah memahami bahwa dalam project yang tengah berlangsung, klien mungkin mengubah apa yang menjadi kebutuhan dan keinginannya. Perubahan sulit diadaptasi oleh framework pengembangan aplikasi yang bersifat tradisional. Scrum menerima perubahan ini dan memaksimalkan seluruh anggota team untuk menyesuaikan perubahan mendadak ini.

Scrum mengadopsi permainan Rugby yang begitu mudah menyesuaikan diri semua anggotan team setelah adanya sedikit pelanggaran. Kemudian menyesuaikan diri inilah yang meningspirasi scrum.

Ada 3 role Scrum :

  1. Product Owner

Pengertian produk adalah tujuan dari proyek. Product Owner memastikan bahwa proyek berjalan sesuai dengan yang diharapkan.

  • Team Member

Anggota team.

  • Scrum Master

Scrum memiliki kerangka kerja yang terdiri dari Product Backlog -> SprintBacklog -> Sprint -> Working Increment.

Product backlog terdiri dari:

  1. Daftar masalah (isu) dari project
  2. Masalah (isu) diurutkan sesuai prioritas
  3. Semakin tinggi prioritasnya, harus semakin detail penjabaran permasalahannya

Praktek mudah dari Scrum adalah dilakukannya daily scrum, yaitu dengan cara 15 menit meeting yang berisi jawaban atas 3 pertanyaan berikut:

  1. Apa yang telah dilakukan/ diselesaikan kemarin
  2. Apa yang akan dilakukan hari ini
  3. Apakah ada permasalahan

Kanban

Kanban merupakan suatu metode untuk menvisualisasikan proses perkerjaan yang dilakukan saat kita sedang mengembangkan suatu Software. Team member dapat Menarik/Pull tugas yang harus diselsaikan dan bukan mendorong atau didorong oleh suatu tugas. Dengan menggunakan metode ini, kita dapat menjaga keseimbangan antara perkerjaan team member yang satu, dengan team member yang lainya. Metode ini juga dapat melacak Bottleneck dalam pengembangan aplikasi. Untuk mengetahu lebih lanjut tentang Kanban pertama kita harus mengerti tentang proses Agile development berkerja.

Source :

  • https://adidm.wordpress.com/2015/10/04/metode-agile-pada-pengembangan-perangkat-lunak/
  • https://medium.com/@iffanmajid/bagaimana-kita-mengembangkan-software-dari-dulu-hingga-kini-d3af6dc881a6
  • https://fathiafrazna.wordpress.com/2018/03/26/agile-scrum-dan-kanban/