• Desain.
Pada tahap ini tim pengambang sudah betul memahami kebutuhan dari
pengguna kemudian tim pengembang membuat sebuah gambaran tentang
desain perangkat lunak yang meliputi struktur,arsitektur, dan konfigurasi
perangkat lunak. Di tahap ini juga mencakup pembuatan diagram, serta
pemilihan teknologi atau model proses pengembangan perangkat lunak.
• Imlplementasi.
Pada tahap ini pengembang mulai membuat perangkat lunak yang meliputi
pengkodean pengembang berusaha untuk dapat membuat perangkat lunak yang
diinginkan oleh penguna baik dari segi fitur maupun keamanan.
• Pengujian.
Pengujian merupakan tahap yang penting untuk dilakukan mengingat
pembuatan sebuah perangkat lunak yang sangat rumit dan kompleks harus
berjalan sesuai yang di harapkan. Dengan pengujian tim pengembang dapat
mengetahui bagian -bagian yang mengalami bug sehingga dapat langsung
diperbaiki.
• Pemeliharaan.
Setelah perangkat lunak diluncurkan pengembang akan terus mengamati dan
memelihara perangkat lunak yang telah dibuat agar dapat berfungsi sebagai
mana mestinya yang dapat meliputi perbaikan bug,update fitur, dan peningkatan
kinerja.
Alasan saya memilih mosel proses agile adalah model proses agile merupakan model
proses yang berkembang secara cepat dan fleksibel. Berdasarkan cerita diatas
perusahaan XYZ menginginkan dokumentasi setiap pengerjaan serta menyiapkan
modul pelatihan. Dengan menggunakan model proses agile saya bisa memberikan
prototye perangkat lunak sebagai modul pelatihan untuk admin sistem. Karena model
proses agile ini adalah model proses yang berkembang secara cepat sehingga
perusahaan dapat memperoleh dokumentasi setiap pengembanganya.
4. Hal yang harus dilakukan dalam mempersiakan tim dengan model proses scrum
• Menentukan product owner (PO): product owner (PO) adalah sesorang yang
memiliki tanggung jawab terhadap visi dari produk yang dikerjakan serta fokus
pada gambaran besar produk.
• Memilih tim: tim yang terlibat harus memunyai kemampuan teknis yang
memadai dalam pengembangan sisitem daat bekerja sama dalam satu tim serta
memiliki motivasi yang tinggi.
• Menentukan scrum master: scrum master adalah orang yang bertanggung jawab
pada nilai-nilai scrum agar berjalan sesuai metode scrum. Dalam pemilihan
scrum master sebaiknya memiliki kemampuan dalam memotivasi, memimpin
dan dapat menyelesaikan konflik dengan baik.
• Membuat product backlog: produk backlog adalah daftar tugas yang harus
dilakukan berisi semua fitur yang akan dikembangkan. Seluruh tim sebaiknya
harus memahami dengan cermat dan paham dengan yang di kerjakan.
• Mengatur sprint planning: sprint planing adalah pertemuan yang dilakukan
sebelum memulai sebuah sprint. Diharapkan seluruh anggota tim harus hadir
untuk dapat mengetahui secara jelas tugas yang diberikan.
• Menetakan sprint: sprint adalah periodep waktu pengembangan yang biasanya
berlangsung secara singkat. Pastikan seluruh tim dapat menyelesaikan tugas
yang dilakukan secara jelas dan terukur.
• Mengadakan daily scrum: daily scrum adalah pvertemuan harian yang diadakan
oleh tim untuk memastikan bahwa proses pengembangan berjalan sesuai yang
di inginkan. Tim yang bekerja harus membagikan kemajuan serta kendala yang
dihadai untuk dapat diselesikan agar pengembangan dapat berjalan secara
efektif dan efisien.
5. Model proses generic dan agile merupakan metodologi pengembangan perangkat lunak
yang berbeda dalam pengembangan perangkat lunak. Perbedaan yang paling mencolok
adalah bahwa model proses agile merupakan pengembangan proses cepat dan berubah
dimana setiap pengembangan menghasilkan sebuah protortype yang dapat diuji
langsung dan mendapatkan feedback dari pengguna. Sedangkan model proses generic
merupakan model proses yang tetap dan tidak terlalu banyak mengalami perubahan dan
biasanya memakan waktu yang lama tergantung seberapa rumit perangkat lunak yang
dibuat.
• Contoh framework dari model proses generic adalah model V. model V ini
adalah model proses yang menggabungkan konsep model generic tes dan
verifikasi. Model proses ini sangat cocok untuk proyek besar dan kompleks.
• V-Model > Proses Verification
1. Requarement Analysis. Fase pertama dalam siklus ini adalah
menggali informasi kebutuhan yang diinginkan dari pengguna yang
melibatkan komunikasi yang intensif dengan pengguna guna
memahami kebutuhan sistem yang tepat. Tahap ini dapat daat
digunakan sebagai input untuk pengujian accepatence.
2. System Design.
Membuat sistem desain yang lengkap yang berisi perincian perangkat
keras dan pengaturan yang lengkap untuk sistem yang dikembangkan.
Rencana system dikembangkan berdasarkan desain sistem.
3. Architectural Desain.
Spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Fase ini
berisi pendekatan teknis diusulkan dan keputusan akhir diambil
berdasarkan kelayakan teknis dan finansial. Integration test dapat
dirancang dan didokumentasikan selama tahap ini.
4. Module Design.
Dalam fase ini desain internal tererinci untuk semua module sistem
dispesifikasikan. Desain harus kompatibel dengan modul lain dalam
arsitektur sisitem dan sistem esternal lainya. Unit test dapat dibuat dan
dirancang pada fase ini berdasarkan pada desain modul internal.
• V-Model > Proses Coding.
• Ini merupakan proses menulis code yang sesuaidengan module sistem
yang mana code disesuikan berdasarkan kebutuhan sistem dan
arsitektur.
• V-Model > Proses Validation.
1. Unit Testing.
Unit testing dirancang pada fase module desain dijalnkan pada kode
yang sudah ditulis selama fase validasi ini. Unit testing ini adalah
pengujian di tingkat kode dan membantu menghilangkan bug pada
tahap awal meskipun semua bug tidak dapat terungkap oleh unit
testing.
2. Integration Testing.
Integration testing dikaitkan dengan fase architectural design.
Integration testing dilakukan untuk menguji koeksistensi dan
komunikasi secara internal dalam sistem.
3. System Testing.
System testing secara langsung terkait dengan fase system design.
System testing dilakukan untuk memeriksa seluruh fungsionalitas
sistem dan komunikasi sistem yang sedang dikembangkan dengan
sistem eksternal. Sebagian masalah kompabilitas perangkat lunak dan
perangkat keras dapat diungkap pada tahap ini.
4. Acceptance Testing.
Acceptance testing dikaitkan dengan fase requirement analysis dan
melibatkan pengujian produk di lingkungan pengguna. Pada tahap
mengungkap masalah kompabilitas dengan sisitem lain yang tersedia di
lingkungan pengguna. Pada tahap ini juga mampu mengungkap
masalah seperti load dan performance di lingkungan pengguan
sebenarnya.
• Agile adalah sebuah metodologi pengembangan software yang fleksibel dan adaptif
berbeda dengan model proses generic yang linear. Agile memiliki fokus pada
kepuasan klien dan pengguna dengan cara mempercepat pengiriman software dengan
mengadopsi siklus pengembangan pendek atau sprint yang terus berulang. Metodologi
ini cocok untuk proyek yang memiliki scope yang tidak jelas atau selalu berubah.
• Contoh framework dari agile adalah scrum. Model proses scrum merupakan model
proses yang paling pouler sebab berfokus pada pengelolan proyek secara tim dan
mengutamakan kepuasan pelanggan.