Seperti
halnya manusia, pengembangan sebuah perangkat lunak juga memiliki
siklus hidup atau yang lebih kita kenal dengan Software Development Life
Cycle (SDLC), siklus ini merupakan sesuatu yang sangat penting dan
wajib untuk diterapkan dalam pengembangan perangkat lunak. Namun ada
juga beberapa developer yang dapat mengembangkan sebuah perangkat lunak
namun tidak mengerti dan memahami siklus daur hidup dari perangkat lunak
yang dikembangkan tersebut. Yang pada akhirnya developer tersebut hanya
akan berkutat di Development saja, dan tidak sampai ke tahap produksi.
Untuk menghindari hal tersebut kita perlu
memperlajari dan memahami suatu siklus dari pengembangan perangkat
lunak. Pada umumnya tahap-tahap dari pengembangan perangkat lunak adalah
sebagai berikut :
- Studi Kelayakan –
Siklus ini sering juga disebut sebagai fase, Anda akan membuat suatu
keputusan seperti apakah layak melakukan pengembangan perangkat lunak
baru atau mengembangkan perangkat lunak yang telah ada. keputusan ini
dapat dilakukan dengan menjawab beberapa pertanyaan-pertanyaan seperti :
- Apa masalah bisnis yang dihadapi dapat dipecahkan dengan menggunakan sistem baru Anda atau hanya perlu beberapa perubahan?
- Apakah perbaikan atau keuntungan dari sistem yang baru memiliki nilai lebih dari sistem lama?
- Jika ada perbaikan atau keuntungan, apakah hal tersebut dapat diukur?
- Apakah mungkin untuk membuat sistem baru?
- Berapa biaya yang harus dikeluarkan untuk merancang, mengembangkan dan menerapkan sistem baru tersebut?
- Berapa waktu yang dibutuhkan untuk menyelesaikan system baru tersebut?
- Analisis System – ini adalah proses di mana Anda akan memutuskan apa sistem komputer Anda kembangkan. Praktek terbaik dalam melakukan analisis adalah untuk mendokumentasikan sistem yang ada dan kemudian digantikan dengan sistem baru. Hal ini tetap harus dilakukan meskipun sistem yang lama hanya memiliki satu manual dan penuh dengan inefisiensi dan kesalahan. Untuk itu anda harus membuat spesifikasi untuk sistem baru di mana system tersebut mendefinisikan sistem baru yang akan diterapkan . Pada tahap ini Anda tidak perlu untuk mendokumentasikan bagaimana sistem baru akan bekerja untuk menggantikan sistem yang lama.
- Desain System – Selama fase ini anda harus membuat rencana untuk tahap implementasi. Hal ini mencakup bagaimana anda akan menerapkan spesifikasi untuk sistem baru yang dihasilkan dari langkah Analisis. Tahap desain harus berfokus pada bagaimana sistem baru tersebut akan bekerja.
- Implementasi – Ini adalah tahap di mana program applikasi yang telah dikembangkan pada sistem baru tersebut telah selesai dikembangkan dan diuji disisi development. Hardware yang dibutuhkan untuk mendukung sistem baru ini juga disediakan dan diinstal dalam fase ini. Database yang diperlukan untuk sistem baru juga didefinisikan dan dimuat di sini.
- Pengujian Penerimaan – Hal ini juga dikenal sebagai uji fungsional, atau dalam dunia penerbangan dikenal dengan pengujian kotak hitam, pengujian QA (Quality Assurance), pengujian aplikasi, pengujian kepercayaan diri, tes akhir, pengujian validasi, atau pengujian pabrik penerimaan. Selama fase ini semua modul dari sistem yang baru diperiksa dan dipastikan bahwa modul tersebut benar-benar bekerja dengan baik secara individu dan terpadu sesuai dengan spesifikasi dan tujuan dari pembuatan system baru.
- Produksi – Jika semua pengujian dilewatkan sesuai dengan spesifikasi dan dapat diterima, sistem baru akan dimasukkan ke dalam produksi. Ini selama tahap ini bahwa sebenarnya pengguna sistem baru mulai menggunakannya.
- Pemeliharaan – Ini adalah tahap di mana pemeliharaan sistem baru dimulai setelah itu telah pergi ke tahap produksi. Selama fase ini semua kesalahan yang tidak terdeteksi selama fase Pelaksanaan dan Penerimaan diperbaiki. Sebagai pengguna kerja sistem baru dengan sistem, mereka akan datang untuk menyadari bahwa apa yang mereka sebenarnya ingin tidak disediakan dalam sistem yang baru, sehingga mereka mungkin akan meminta Anda untuk fitur tambahan yang akan dimasukkan ke sistem baru. Ketika menambahkan perangkat tambahan baru sesuai permintaan pengguna, Anda harus berhati-hati sehingga tindakan ini tidak membuat masalah lebih dari yang mereka memecahkan.
Setelah anda menjawab pertanyaan diatas,
maka anda akan memiliki gambaran tentang bagaimana charter proyek Anda
akan terlihat seperti. Anda kemudian akan dapat menentukan ruang lingkup
proyek, kebutuhan pengguna, kendala anggaran dll.
Project Manager yang baik akan selalu
berusaha untuk memimpin proyek-proyek yang dikerjakan melalui
langkah-langkah ini, satu per satu, menyempurnakan setiap langkah
tersebut sebelum saat melanjutkan ke tahap berikutnya. Tahap ini
kadang-kadang tumpang tindih satu sama lain, karena metode pembangunan
modern lebih ke dalam proses iteratif.
Untuk itu kualitas perlu dibangun dalam
setiap tahap pembangunan, dan tidak boleh tertempel pada akhir sebagai
renungan melalui proses yang disebut Quality Assurance. Dokumentasi
sistem juga merupakan tahap penting dan itu harus dilakukan
terus-menerus karena sistem dikembangkan, untuk meminimalkan
kebingungan.