Software development adalah salah
satu tipe proyek dalam bidang IT yang berfokus pada menciptakan ataupun
mengembangkan sebuah perangkat lunak. Software development sendiri bisa
diperinci menjadi beberapa proses :
- Menciptakan sebuah perangkat lunak untuk memenuhi kebutuhan manusia.
- Mendesain software.
- Mengembangkan sebuah software aplikasi pada perusahaan.
- Mengembangkan sebuah platform.
Karena
kerjanya yang tidak nampak (software) pekerjaan ini memiliki tingkat kesulitan
yang tinggi, maka dari itu tidak sedikit software development yang gagal menjalankan
kegiatannya dengan baik kegagalan tersebut banyak dikarenakan oleh proses
pengerjaan sebuah proyek yang tidak sesuai dengan rencana awal. Salah satu
tingkat kesulitannya adalah seorang software developer harus membuat sebuah
software yang nantinya bisa dikembangkan lagi dan seorang software defeloper
dituntut untuk bisa mendokumentasikan dengan baik setiap source code yang
mereka gunakan sehingga seorang user dapat memahami dan memanfaatkan
softwarenya dengan baik.
Secara
garis besar sebuah software development terbagi menjadi beberapa, yaitu :
1. Planning
Tahap ini adalah tahap paling awal dalam
dunia software development, namun proses ini juga yang menjadi penentu
keberhasilan software development tersebut dan langkah yang akan menghasilkan.
- Proses kerja yang jelas antar anggota.
- Timeline
- Anggaran
dana
Dalam
hal ini juga dibutuhkan sebuah ketua proyek yang tegas dan jelas dalam penandatanganan kontrak, selain berisi tentang estimasi dana , kontrak kerja
juga harus berisi batasan – batasan pengerjaan proyek yang jelas. Hal ini untuk
mengantisipasi agar tim proyek tidak terikat oleh penambahan – penambahan modul
yang nantinya mungkin terjadi.
2. Requirement
And Specification
Tahap ini dilakukan untuk menentukan
fitur – fitur apa saja yang tepat serta yang dibutuhkan oleh software yang akan
dibuat. Tahap ini dapat dilakukan dengan cara interview, observasi, dan studi
pustaka.
3. Architecture
and Design
Tahap ini untuk menentukan detail –
detail sistem yang akan digunakan, tahap ini bertujuan untuk menentukan desain
keseluruhan dari software yang meliputi : konseptual database, sistem keamanan,
dan interface.
4. Implementation
And Testing
Tahap ini mulainya pembuatan sebuah
software dengan berpedoman pada tahap – tahap sebelumnya yang telah ditetapkan.
Sedangkan tahap testing merupakan tahap serangkaian pengujian terhadap software
yang telah dibuat untuk menentukan kapabilitas dari sebuah software. Testing sendiri
terbagi menjadi beberapa tahap pengujian : security testing, performance
testing, stress testing, recovery testing.
5. Development
and Maintenance
Kedua tahap terakhir ini adalah dimana
software telah digunakan oleh user. Terdapat 2 hal penting yang ada pada tahap
ini, antara lain : Training penggunaan software, Pemantauan software. Pemantauan
ini dilakukan untuk melihat kestabilan dari sebuah software yang telah dibuat. Kestabilan
bisa dinilai dari dengan tidak adanya bug yang muncul selama penggunaan
software tersebut.
Beberapa metode dibuat untuk menerapkan
tahapan – tahapan diatas, diantaranya adalah :
Waterfall,
tahap
– tahap diatas dikerjakan secara berurutan
Prototype, telah ada sebuah
prototype ata software sebelum untuk kemudian dikembangkan sehingga tahap
observasi tidak perlu dilakukan.
Incremental, Waktu
keseluruhan pengerjaan proyek dibagi menjadi beberapa bagian yang lebih kecil,
kemudian tahap-tahap di atas dilakuka secara berurutan.
Spiral, Hampir
sama dengan metode incremental, tetapi terdapat kemungkinan untuk dilakukan perbaikan, sehingga terjadi perulangan dan bentuknya seperti spiral.
Berikut ini adalah beberapa tantangan
yang harus dihadapi ketika kita akan memasuki dunia Software development,
anatara lain :
- Project Leader harus memilikikemampuan interpersonal yang baik karena menyangkut kelangsungan proyek
- Kebanyakan
software development gagal karena team tidak bisa mengestimasi dengan pasti
detail – detail kebutuhan dari proyek.
- Metode
pengerjaan yang dipakai akan menentukan proses kerja dari setiap anggota team
proyek.
- Software
adalah benda abstrak, sehingga kemampuan untuk memahami bahasa komputer adalah
mutlak bagi setiap anggota team.
- Pengerjaan
software development yang cenderung individualis mengharuskan setiap anggotanya
memiliki interaksi yang baik.
Proses
tahapan sebuah bisnis Software development :
- Mengidentifikasi peluang pasar.
- Menentukan kelangsungan hidup sebuah produk.
- Menentukan visi dari produk yang akan dihasilkan.
- Launching Produk.
mantab banget gan
BalasHapusMesin pemisah lcd