Project Life Cycle & Software Development Life Cycle
A. Project Life Cycle
Project life cycle adalah siklus kehidupan dari sebuah projek yang dimulai dari sejak projek itu ditentukan dan direncanakan sampai masuk ke tahap akhir dan evaluasi. Untuk mencapai kesuksesan projek, seorang project manager akan menerapkan tahapan dari project life cycle.
Secara umum project life cycle terdiri dari 5 tahapan, yaitu:
- Define Project Goal
Tim projek harus mengidentifikasi tujuan dari client mengenai projek yang akan dikerjakan. Tujuan projek harus mempunyai nilai untuk perusahaan. Feasibility testing adalah pendekatan untuk menganalisa bagaimana sebuah projek dapat diselesaikan dengan melihat factor yang mempengaruhi seperti sisi ekonomi, teknologi, legalitas dan penjadwalan projek. Dengan feasibility studies, seorang projek manager dapat menentukan potensi-potensi dari dampak positif dan negatif sebuah projek sebelum melakukan planning terhadap sebuah projek. Seorang project manager akan membuat sebuah dokumen yang disebut Project Initiation Document (PID). Dokumen ini berisikan ringkasan dari tujuan dan kebutuhan sebuah projek dan menandakan bahwa projek akan segera dikerjakan. - Plan Project
Setelah mengetahui tujuan jelas dari pengerjaan projek, tim projek akan menentukan triple constraint (scope, time dan budget) untuk pengerjaan projek. Pengukuran tersebut dapat dilakukan dengan salah satu alat bantu dari Sinnaps project management tool. Alat ini dapat membantu projek manager dan tim untuk memastikan bahwa projek yang direncanakan sesua dengan tujuan awal. - Execute Project Plan
Projek manager harus mengatur dan mengarahkan tim dalam pengerjaan projek agar tetap sesuai pada perencaan awal, tepat sasaran, jadwal dan budget supaya mencapai tujuan projek (implementation, controlling and monitoring). ‘Kick-off’ meeting merupakan meeting pertama kali sebuah proyek yang baru diterima, di mana setiap orang (projek manager dan tim projek) menyamakan persepsi mereka, dan memastikan bahwa setiap orang saling memahami peran masing-masing. Komunikasi merupakan kunci dalam sebuah kick-off meeting. - Close Project
Sebelum projek pengerjaan projek diakhiri, projek manager akan mengecek seluruh pekerjaan sudah sesuai dengan rencana. - Evaluate Project
Setelah projek diakhiri, tim akan me-review kembali projek, menentukan hal apa saja yang mau dipertahankan, ditingkatkan atau diperbaiki untuk kedepannya. ‘Post-mortem’ meeting dilakukan untuk mengevaluasi projek secara keseluruhan untuk mendapatkan feedback.
B. Software Development Life Cycle
SDLC adalah proses pengubahan dan pembuatan sistem, model, serta metodologi yang digunakan untuk mengembangkan software. Singkatnya, dalam dunia rekayasa software, ia merupakan langkah-langkah yang bisa diterapkan para engineer dan developer untuk merancang dan mengelola software. Untuk apa SDLC ini? Tentunya untuk menghasilkan output sistem berkualitas tinggi yang sesuai dengan ekspektasi para pengguna dan stakeholder. Menurut Stackify, software development life cycle adalah sebuah proses yang bisa memproduksi software dengan kualitas tinggi dengan biaya yang rendah.
Tujuan dari Software Development Life Cycle adalah untuk menciptakan proses produksi yang efektif dan berkualitas tinggi agar dapat memenuhi atau melampaui harapan klien sesuai dengan anggaran dan jadwal yang telah ditentukan.
C. Perbedaan Project Life Cycle dan Software Development Life Cycle
Pada dasarnya proyek bersifat unik. Unik disini maksudnya jika proyek mengalami siklus PLC (Project Life Cycle) berarti proyek yang sedang berjalan mengalami perubahan pada kegiatannya. Hal ini karena adanya tahap monitoring dan controlling proyek. Sedangkan SDLC (Siklus Hidup Pengembangan Sistem) merupakan kegiatan pembentukan atau pengembangan software (system informasi) yang dalam tahapannya juga mengalami siklus pengembangan pada bagian-bagian tertentu. Hal ini disebabkan karena ada pengujian sistem agar software yang dibangun betul-betul merupakan hasil yang terbaik.
D. Manfaat Software Development Life Cycle
Dari penjelasan di atas, tentunya kita mengetahui SDLC pada dasarnya adalah suatu sistem pengelolaan software yang bertujuan untuk meningkatkan kualitas, mengurangi durasi proses bisnis, hingga menurunkan biaya operasional dalam jangka panjang. Berikut ini beberapa manfaat dari SDLC:
- SDLC dapat membantu perencanaan, estimasi, dan penjadwalan proyek dengan baik
- Kontrol proyek dapat dilakukan dengan lebih mudah
- Semua pemangku kepentingan dapat mengetahui bagaimana siklus pengembangan software secara transparan
- Dapat mempercepat proses pengembangan software
- Mengurangi risiko proyek
- Dapat mengurangi biaya manajemen proyek dan biaya produksi
- Meningkatkan hubungan yang baik dengan klien
E. Tahap - Tahapan yang Ada Pada Software Development Life Cycle
Berikut ini tahap-tahap yang ada dalam proses SDLC:
- Tahap Analysis
Tahap Analisa sistem merupakan kegiatan penguraian dari suatu sistem informasi yang utuh ke dalam bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, hambatan-hambatan yangterjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.
Menyusun analisis kebutuhan (requirement analysis) merupakan lanjutan yang bisa dilakukan sesudah studi kelayakan, tetapi bisa jugadilakukan setelah proposal disetujui dan kontrak disepakati. Jenis-Jenis Requirement:
1. Bussiness Requirements
2. Stakeholder Requirements
3. End-User Requirements
4. System Requirements
5. Software Requirement - Tahap Design
Tahap design berkonsentrasi pada bagaimana sistem dibangun untuk memenuhi kebutuhan pada fase analisis. Manfaat desain sistem adalah memberikan gambaran rancang bangun (blue print) yang lengkap, sebagai penuntun (guideline) bagi programmer dalam membuat aplikasi. Ada beberapa aspek yang diperhatikan dalam tahapan design, antara lain:
1. Communications
2. Programming
3. Architecture
4. User Interface
5. Platforms
6. Security - Tahap Development
Tahap development sistem merupakan kegiatan bagi tim programmer mulai membangun seluruh sistem dengan menulis kode menggunakan bahasa pemrograman yang dipilih. Tahapan SDLC ini dapat dikatakan sebagai fase terpanjang dari proses pengembangan software. Tahap ini dilakukan dengan mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba.
Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut:
1. Pembuatan database sesuai skema rancangan
2. Pembuatan aplikasi berdasarkan desain sistem
3. Pengujian dan perbaikan aplikasi (debugging) - Tahap Testing
Tahap testing sistem merupakan kegiatan untuk memastikan apakah produk perangkat lunak sudah berjalan dengan baik sesuai kebutuhan user. Pengujian ini melibatkan utamanya Quality Assurance (QA), tim developer, dan bisa juga melibatkan user yang akan menggunakan produk. QA harus memastikan bahwa software yang dikembangkan telah memenuhi requirement.
Selama fase ini, QA mungkin akan menemukan beberapa bug / defects, eror, freeze yang nantinya mereka komunikasikan kepada developer. Tim developer lalu memperbaiki bug dan mengirim kembali ke QA untuk pengujian ulang. Proses ini berlanjut hingga software benar-benar bug free, stabil, dan bekerja sesuai dengan requirement. - Tahap Deployment
Secara teori, tahapan SDLC ini memiliki penamaan istilah yang beragam, sebut saja tahap deployment atau peluncuran, integration, implementation, dan lain-lain. Hanya saja, tujuan akhirnya sama, yaitu menyebarluaskan atau memasarkan produk akhir ke target pasar pengguna.
Setelah tahap pengujian, desain keseluruhan untuk perangkat lunak akan menyatu. Modul atau desain yang berbeda juga akan terintegrasi ke dalam source code utama melalui tahap Development, lalu mendeteksi kesalahan atau bug lebih lanjut dengan serangkaian prosedur pengujian. Dan pada akhirnya, produk perangkat lunak akan di luncurkan (product launch) ke dalam pasar bisnisnya untuk selanjutnya di instal oleh pengguna akhir. - Tahap Maintenance
Tahap maintenance mencakup seluruhprosesyangdiperlukan untuk menjamin kelangsungan, kelancaran, danpenyempurnaan sistem yang telah dioperasikan. Beberapa hal yang harus dilakukan:
1. Pemantauan pengoperasian
2. Antisipasi gangguan kecil (bug)
3. Lakukan penyempurnaan
4. Antisipasi faktor-faktor luar
5. Virus, kerusakan/kehilangan data, atau sistem diakses oleh pihak luar
Comments
Post a Comment