Requirement Engineering

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.

 

Metode Agile pada pengembangan perangkat lunak, Scrum, dan Kanbal

Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak.

Ada beberapa langkah dalam Agile Development Methods, 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

– Ada juga beberapa model dalam Agile Development Methods, seperti: Acceptance Test Driven Development (ATDD), Agile Modeling, Adaptive Software Development (ASD), Agile Unified Process (AUP), Continuous integration (CI), Crystal Clear, Crystal Methods, Dynamic Systems Development Method (DSDM), Extreme Programming (XP), Feature Driven Development (FDD), Graphical System Design (GSD), Kanban, Lean software development, Rational Unified Process (RUP), Scrum, Scrum-ban, Story-driven modeling,Test-driven development (TDD), Velocity tracking, dan Software Development Rhythms.

Beberapa keuntungan dari Agile Development Methods :
– Menambah produktivitas tim
– Menambah kualitas dari perangkat lunak
– Menambah kepuasan dari klien
– Menghemat biaya

Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.

Pada intinya, Agile Development Methods sangat membantu para pengembang perangkat lunak dalam melakukan penyerahan produk secara tepat waktu dari suatu tahap operasional perangkat lunak yaitu pada bagian analisa dan desain.

Scrum

Scrum adalah sebuah metode interatif yang termasuk dalam metode Agile tentang bagaimana cara Anda mengelola dan menjalan sebuah proyek. Ini bisa digunakan untuk mengelola segala jenis proyek mulai dari pembuatan software, website, hardware, marketing, event planning, dan sebagainya. Scrum membantu Anda untuk mengorganisir sebuah tim dan Anda harus memiliki komunikasi yang kuat antar member tim tersebut. Scrum mengatakan bahwa setiap “sprint” dimulai dengan meeting singkat untuk perencanaan dan diakhiri dengan review. Ini adalah ide fundamental dari Scrum untuk sebuah project management.


Peran di Scrum

Ada tiga peran berbeda yang diperlukan dalam melakukan metode Scrum, yaitu:

1. Master Scrum memastikan prosedur diikuti, memastikan semua berjalan lancar, dan melindungi tim dari gangguan. Master Scrum berbeda dari manajer proyek tradisional dalam banyak hal, termasuk peran ini tidak memberikan arahan sehari-hari kepada tim dan tidak memberikan tugas kepada individu.

2. Product Owner (Pemilik Produk), biasanya merupakan orang yang dianggap paling penting dari sebuah proyek. Bagian dari tanggung jawab pemilik produk adalah memiliki visi tentang apa yang ingin dia buat dan menyampaikan visi tersebut kepada tim Scrum. Tugas utama Pemilik Produk adalah untuk menjadi nilai bagi stakeholder atau pemegang saham.

3. Tim Scrum . Sebuah tim Scrum adalah tim yang bisa mengatur pekerjaan mereka sendiri dan merupakan sebuah tim yang lintas fungsional. Member tim akan melakukan analisis, implementasi, perancangan, pengujian, dan lain-lain. Meskipun individu dapat bergabung dengan tim dengan berbagai jabatan, di Scrum, judul tersebut tidak signifikan. Metodologi scrum menyatakan bahwa setiap orang berkontribusi dengan cara apa pun yang mereka bisa untuk menyelesaikan pekerjaan pada setiap sprint. Individu dengan demikian akan menghabiskan sebagian besar (dan terkadang semua) waktu mereka bekerja dalam disiplin apa pun yang mereka ketahui, baik itu analisis, desain, pengembangan, tes dan lain lain.


Kanbal

Kanban (看板) (istilah bahasa Jepang bermakna “papan nama” atau “reklame”) adalah sistem penjadwalan saat penerapan Just in Time (JIT) dan lean manufacturing. Kanban adalah sistem penjadwalan bahkan pengendalian persediaan untuk mengendalikan rantai pasokan. Seorang ahli dari Toyota, Taiichi Ohno mengembangkan kanban untuk meningkatkan efisiensi perusahaan. Dalam pengertian sistem Kanban adalah salah satu metode digunakan untuk mencapai JIT.


Kanban dapat menjadi alat efektif sebagai pendukung berjalannya sistem produksi, juga cara bagus untuk mempromosikan perbaikan. Area masalah disorot dengan mengukur waktu serta cycle time proses secara keseluruhan bahkan langkahnya.

Prinsip dan Konsep Dasar

Kanban didasarkan pada tiga prinsip dasar, yaitu:

1. Visualisasikan melalui visual management apa yang dilakukan hari ini dalam artian alur kerja, dengan konsep dasar agar semua dapat melihat semua item dan informatif.

2. Batasi jumlah pekerjaan yang sedang berjalan, konsep ini membantu menyeimbangkan melalui pendekatan berbasis arus sehingga pekerja tidak memulai dan berkomitmen untuk terlalu banyak pekerjaan sekaligus juga dapat mengurangi WIP.

3. Konsep meningkatkan aliran produksi, yaitu ketika sesuatu selesai, hal utama yang dilakukan ketika simpanan berkurang maka akan dilakukan sistem tarik (pull system).

Referensi :

https://sis.binus.ac.id/2017/05/08/agile-development-methods/
https://www.dewaweb.com/blog/srum-methodology-panduan-project-management/
https://blogcoretangw.blogspot.com/2017/12/kanban.html