Mengacu pada pengertian Software Development di atas, Sejarah Software Development atau
Pengembangan perangkat lunak kembali ke sekitar Tahun 1810, ketika Joseph Marie
Jacquard mengembangkan lubang-lubang yang dilubangi kartu stok untuk memandu pola-
pola yang ditenun oleh alat tenunnya. Namun, baru pada Tahun 1949, John Mauchly
mengembangkan bahasa pemrograman pertama, Kode Singkat (kemudian dikenal sebagai
Kode Singkat).
Ilustrasi Gambar Pengertian Software Development Sejarah Tujuan Fungsi Cara Kerja
Software Development Dan Modelnya
Mengacu pada pembahasan mengenai apa itu Software Development di atas, Software atau
Perangkat Lunak dapat dikembangkan untuk berbagai keperluan, tiga hal yang paling umum
adalah untuk memenuhi kebutuhan spesifik dari klien bisnis tertentu (kasus dengan perangkat
lunak khusus), untuk memenuhi kebutuhan yang dirasakan dari sejumlah pengguna potensial
(kasus dengan komersial dan perangkat lunak yang Open Source), atau untuk penggunaan
pribadi misalnya seorang ilmuwan dapat menulis perangkat lunak untuk mengotomatiskan
tugas biasa.
Embedded Software atau Pengembangan Perangkat Lunak Tertanam, yaitu
pengembangan perangkat lunak tertanam, seperti yang digunakan untuk mengendalikan
produk konsumen, membutuhkan proses pengembangan untuk diintegrasikan dengan
pengembangan produk fisik yang dikendalikan. Perangkat lunak sistem mendasari aplikasi
dan proses pemrograman itu sendiri, dan sering dikembangkan secara terpisah.
Pengembangan perangkat lunak adalah proses logis berulang yang bertujuan untuk membuat
kode komputer atau perangkat lunak yang diprogram untuk mengatasi tujuan, sasaran atau
proses bisnis atau pribadi yang unik. Pengembangan perangkat lunak umumnya merupakan
inisiatif yang direncanakan yang terdiri dari berbagai langkah atau tahapan yang
menghasilkan pembuatan perangkat lunak operasional.
Ada banyak pendekatan untuk manajemen proyek perangkat lunak, yang dikenal sebagai
model siklus hidup pengembangan perangkat lunak, metodologi, proses, atau model. Model
air terjun adalah versi tradisional, kontras dengan inovasi pengembangan perangkat lunak
tangkas yang lebih baru.
Software Development adalah penciptakan program yang dapat melakukan tugas yang
diperlukan setelah serangkaian proses. Pengembangan perangkat lunak mencakup banyak
langkah seperti memikirkan ide, merancang ide kasar, implementasi cetak biru, pengujian,
memperbaiki bug, dan banyak lagi.
3.Metode Spiral
Metode spiral menggabungkan dua metode pengembangan yang telah dibahas sebelumnya,
yaitu prototype dan waterfall. Pengembang melaksanakan prototyping dengan cara sistematis
khas metode waterfall.
Metode spiral menerapkan alur kerja yang kompleks, panjang, dan memakan waktu
lama. Metode ini tidak cocok untuk proyek kecil-kecilan, apalagi yang berbujet
rendah. Sebaliknya, proyek berskala besar dapat dikerjakan dengan mudah
menggunakan metode ini.
Selain itu, metode spiral juga kurang tepat jika dilakukan oleh pengembang perangkat
lunak yang belum berpengalaman. Prosesnya bisa menjadi terlalu kompleks bagi
pemula yang masih memerlukan banyak latihan.
4. Metode RAD
RAD merupakan singkatan dari Rapid Application Development. Metode ini juga
menggunakan pendekatan iteratif dan inkremental, tetapi lebih menekankan pada tenggat
waktu dan efisiensi biaya yang sesuai dengan kebutuhan.
Beberapa kekurangan dari metode RAD, antara lain dilihat dari segi konsistensi dan
kemampuan personel. Metode ini membutuhkan pengembang ahli, sekaligus
kerjasama yang aktif dan konsisten antara pemilik proyek beserta semua tim.
Tanpa kedua hal tersebut, mustahil menerapkan metode RAD dalam pengembangan
perangkat lunak, apalagi yang berskala besar. Namun jika kedua hal itu terakomodasi
dengan baik, metode RAD adalah cara paling efektif untuk menghemat waktu dan
biaya.
5. Metode Agile
Pembahasan tentang scrum telah sedikit menyinggung metode agile. Metode agile merupakan
induk dari scrum. Jika scrum adalah kerangka kerja, agile adalah pelaksanaan proyek secara
keseluruhan yang berskala besar.Metode ini tergolong modern, karena menekankan pada
improvisasi dan adaptasi. Meskipun begitu, alur kerjanya masih menerapkan pola tradisional
yang sistematis. Dimulai dari perencanaan, analisis kebutuhan, perancangan, uji coba,
implementasi, dan pemeliharaan.
Namun, bukan berarti metode ini tidak memiliki kelemahan. Tantangan terbesar akan
dihadapi pengembang yang terus dipacu untuk beradaptasi dengan perubahan zaman.
Tim pengembangan pun tidak boleh asal pilih, harus solid dan sama-sama
berkomitmen kuat.
6. Metode Scrum
Metode ini adalah turunan dari metode agile, yang nantinya akan dibahas secara
tersendiri. scrum seringkali tidak digolongkan sebagai metodologi, melainkan suatu kerangka
kerja yang menggunakan pendekatan iteratif (perulangan) dan inkremental (berangsur-
angsur).Pengembang menerapkan scrum ketika ingin membuat sistem yang kompleks.
Pasalnya, kerangka kerja ini memang ditujukan untuk menghasilkan produk bernilai tinggi,
unik sekaligus produktif. Kabarnya Google, Microsoft, hingga Spotify menerapkan sistem
ini.
Masalah baru muncul ketika terjadi kendala yang membuat salah satu tim gagal
mencapai target sprint-nya. Imbasnya akan memengaruhi ritme kerja tim yang lain.
Metode ini juga memungkinkan improvisasi bebas sehingga membutuhkan tim
dengan fleksibilitas tinggi.