Software Development – Definisi dan Contoh

Software Development

Yang pertama, Software Development adalah salah satu tipe proyek IT yang berfokus pada penciptaan atau pengembangan perangkat lunak. Software Development dapat di detailkan lagi menjadi proses: 1) penciptaan software untuk memenuhi kebutuhan manusia, 2) desain software, 3) pengembangan software aplikasi perusahaan, atau 4) pengembangan platform (Wales, 2012).

Karena berfokus pada sesuatu yang tidak tampak (software), Software development memiliki tingkat pengerjaan yang lebih sulit. Tidak heran jika banyak Software development yang gagal di karenakan proses pengerjaan tidak sesuai dengan yang telah di rencanakan. Salah satu kriteria tambahan untuk output Software Development adalah kemampuan software untuk dapat di kembangkan lagi. Di sinilah tingkat kesulitan yang utama di mana pihak pencipta harus dapat mendokumentasikan dengan baik setiap source code agar dapat di pahami oleh orang lain.

Secara garis besar Software Development terbagi menjadi beberapa tahapan, yaitu:

1.       Planning

Merupakan tahap awal untuk memulai Software Development. Tujuan dari tahap ini adalah menghasilkan: 1) proses kerja yang jelas antar setiap anggota, 2) timeline, dan 3) anggaran dana. Pada tahap ini juga, ketua proyek berkoordinasi dengan stakeholder untuk membuat kontrak kerja yang jelas. Selain berisi tentang estimasi dana, kontrak kerja juga harus memiliki batasan-batasan pengerjaan yang jelas. Hal ini di lakukan agar tim proyek tidak terikat dengan tambahan-tambahan modul yang nanti mungkin agar terjadi.

2.       Requirement and Specification

Tahap ini di lakukan untuk menentukan fitur-fitur yang tepat serta kebutuhan sistem untuk software yang akan di buat. Tahap ini dapat di lakukan dengan interview, observasi lapangan, dan studi pustaka.

3.       Architecture and Design

Merupakan tahap untuk menentukan detail sistem yang akan di pakai. Tahap ini bertujuan untuk menentukan desain keseluruhan dari software, yang meliputi: konseptual database, sistem keamanan, dan interface.

4.       Implementation and Testing

Tahap implementasi merupakan tahap pembuatan software dengan berpedoman pada tahap-tahap sebelumnya. Sedangkan tahap Testing merupakan serangkaian uji coba yang di berikan kepada software untuk menentukan kapabilitasnya. Testing dapat terbagi menjadi: 1) security testing, 2) performance testing, 3) stress testing, 4) recovery testing.

5.       Deployment and Maintenance

Kedua tahap terakhir ini adalah tahap di mana software telah mulai di gunakan oleh user. Terdapat 2 hal penting yag ada pada tahap ini, antara lain: 1) training penggunaan software dan 2) pemantauan software. Pemantauan di lakukan untuk mengecek apakah software telah stabil atau belum. Kestabilan ini dapat di nilai dengan tidak adanya bug yang muncul selama penggunaan.

Beberapa metode di buat untuk menerapkan tahapan-tahapan di atas, di antaranya adalah:

  1. Waterfall. Tahap-tahap di atas di kerjakan secara berurutan
  2. Prototype. Telah terdapat prototype atau software sebelumnya untuk kemudian di kembangkan, sehingga tahap observasi tidak perlu di lakukan.
  3. Incremental. Waktu keseluruhan pengerjaan proyek di bagi menjadi beberapa bagian yang lebih kecil, kemudian tahap-tahap di atas di lakukan secara berurutan. Dengan metode ini, keseluruhan fitur tidak langsung di kerjakan dalam satu fase melainkan terbagi menjadi beberapa periode.
  4. Spiral. Hampir sama dengan metode incremental, tetapi terdapat kemungkinan untuk di lakukan perbaikan, sehingga terjadi perulangan dan bentuknya seperti spiral. Pengerjaan dengan metode ini memakan waktu yang sangat singkat.

Secara garis besar, tantangan-tantangan yang ada dalam melaksanakan Software development adalah:

  1. Project Leader harus memiliki kemampuan interpersonal yang baik karena menyangkut kelangsungan proyek. Dia adalah seseorang yang juga mampu bernegosiasi degan baik, karena dia lah yang akan berkoordinasi dengan pihak stakeholder untuk membentuk sebuah kontrak kerja.
  2. Kebanyakan Software Development gagal karena tim tidak mampu megestimasi dengan pasti detail-detail kebutuhan dari proyek. Untuk itulah tahap perencanaan adalah tahap yang terpenting karena menyangkut dana, timeline, dan lain-lain. Ketika ada salah satu proses yang terlambat, proses yang lain akan terhambat dan akibatnya semua kebutuhan akan membengkak, termasuk dana.
  3. Metode yang di pakai akan menentukan proses kerja dari setiap anggota tim proyek. Untuk itu tim proyek harus dapat menentukan metode yang tepat yang di sesuaikan dengan kondisi. Jika menginginkan software di buat degan waktu yang cepat, gunakan tipe protype, tetapi jika menginginkan software benar-benar bagus, gunakan tipe waterfall.
  4. Software adalah benda abstrak, sehingga kemampuan untuk memahami bahasa komputer adalah mutlak bagi setiap anggota tim. Pemahaman ini akan berguna untuk mengetahui sampai pada tahap mana software di kerjakan, sehingga setiap anggota dapat melakukan pembenahan ketika terdapat keterlambatan.
  5. Pengerjaan Software Development yang cenderung individualis mengharuskan setiap anggotanya memiliki interaksi yang baik. Tidak hanya dalam hal profesionalisme kerja, tetapi juga dalam hal kekeluargaan. Salah satu hal yang sering di lupakan pada Software development adalah sifat untuk saling memotivasi. Karena terdapat kemungkinan akan terjadi kejenuhan bahkan keinginan untuk berhenti karena tingkat kesulitan dari software yang di buat.

Salah Satu Contoh Dari Software Development

Salah satu contoh dari Software Development adalah pembuatan software bernama Microsoft Project. Microsoft Project adalah salah satu software yang memudahkan para pelaksana proyek mengerjakan pekerjaannya. Microsoft Project memiliki fitur yang dapat di gunakan untuk merencanakan, menentukan sumber daya, memantau progress, mengorganisir budget, dan menganalisis beban pekerjaan. Ide ini datang dari salah satu tim internal Microsoft, Alan M. Boyd karena melihat banyaknya jumlah proyek software yang sedang di kerjakannya. Pada versi terakhirnya, Microsoft Project memiliki kemampuan untuk mengitegrasikan keseluruhan proyek dengan database. Hal ini akan membuat user mampu untuk menampilkan dan mengupdate data melalui internet.

Kebanyakan proyek Microsoft di terapkan dengan menggunakan metode Agile, begitu pula dengan penerapan proyek ini. Agile adalah metode yang menggabungkan keseluruhan metode di atas. Keseluruhan waktu pengerjaan proyek di bagi menjadi fase-fase yang lebih kecil. Kemudian pada setiap fase di lakukan metode incremental dan spiral. Proyek yang menggunakan metode ini dapat di kerjakan dengan cepat.

Penerapan metode ini kemudian disesuaikan dengan proses bisnis perusahaan, dimana tahapannya adalah:

  • Mengidentifikasi peluang pasar. Ide yang telah muncul diidentifikasi dengan kebutuhan pasar. Jika produk yang diusulkan memiliki peluang untuk dapat bersaing di pasaran maka produk akan dilanjutkan ke dalam tahap prososal.
  • Menentukan kelangsungan hidup produk. Tim yang telah terbentuk kemudian menentukan cara agar produk tetap dapat bertahan di pasaran. Tim menentukan biaya total, beserta target harga yang akan diberlakukan di pasar.
  • Menentukan visi dari produk yang akan dihasilkan. Tim harus memikirkan juga strategi-strategi agar produk yang ada memiliki sifat yang dinamis dengan kebutuhan manusia. Dengan kata lain, tim harus membuat produk yang memiliki kemampuan untuk berevolusi atau dapat di kembangkan. Pada tahap ini, tim juga harus menentukan strategi yang akan diterapkan pada produk pada awal launching-nya.
  • Launching produk. Ketika produk telah jadi, produk akan segera dilaunching dengan publikasi besar-besaran. Microsoft menyebutnya “Make lot of noise”.

Dikutip dari : https://algoritmacinta.wordpress.com/2012/02/26/software-development-definisi-dan-contoh/ 

Gambar dari : https://ids.co.id/en/software-development/ids-custom-software-development-background/ 

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *