Manajemen perangkat lunak adalah aktifitas dalam mengelola rekayasa perangkat lunak, dimulai sebelum aktifitas teknis di inisialisasi dan berlanjut pada keseluruhan batasan, perkembangan dan pemeliharaan perangkat lunak komputer.
Terdapat 3 fokus manajemen perangkat lunak, antara lain :
- People (manusia)
- Problem (masalah)
- Process (proses)
Apa yang dimaksud Stakeholder ?
Stakeholder adalah suatu kelompok, komunitas maupun individu manusia yang memiliki hubungan dan kepentingan terhadap suatu organisasi atau perusahaan.
Dalam hal ini kita akan membahas stakeholder dalam suatu proyek perangkat lunak atau siapa saja orang yang terlibat di dalam proyek tersebut. Terdapat 7 peran pemain dalam sebuah proyek perangkat lunak, yaitu :
Senior Manager (manajer senior)
Manajer senior adalah orang yang berperan dalam menentukan isu - isu bisnis.
Project Manager (manajer proyek secara teknis)
Manajer proyek adalah orang yang berperan dalam memimpin pembuatan proyek perangkat lunak
Programmer / Engineer (pelaksana)
Pelaksana adalah orang yang membangun atau membuat perangkat lunak.
Client (pelanggan)
Pelanggan adalah orang yang menentukan jenis kebutuhan bagi perangkat lunak.
End-Users (pengguna akhir)
Pengguna akhir adalah orang yang berinteraksi langsung dengan perangkat lunak.
System Analyst (Analis)
System Analyst berperan dalam melakukan debugging aplikasi.
Investor (penanam modal)
Investor atau yang disebut juga sebagai penanam modal adalah orang yang menyediakan dana dalam pembangunan proyek perangkat lunak. Tidak semua proyek perangkat lunak memiliki investor.
Triple Contstaint
Dalam memimpin sebuah pembuatan proyek perangkat lunak tentu terdapat beberapa aspek yang dinilai sebagai penentu kredibiltas dari sebuah organisasi atau perusahaan pembangun perangkat lunak, sehingga akan menjadi kekhawatiran tersendiri bagi seorang manajer proyek. Aspek aspek tersebut diantaranya adalah Time(waktu), Cost(biaya) dan Scope(kinerja/mutu) atau lebih dikenal dengan Triple Constraint.
Time (waktu)
Proyek harus dikerjakan sesuai dengan kurun waktu yang telah ditentukan. Penyerahan proyek 'tidak boleh' melewati batas waktu yang telah ditentukan karena dianggap berpengaruh terhadap aspek - aspek lain yang akan menimbulkan kerugian.
Cost (biaya/anggaran)
Proyek harus diselesaikan dengan biaya yang tidak melebihi anggaran. Untuk proyek-proyek yang melibatkan dana dalam jumlah besar dan jadwal yang bertahun tahun, anggarannya tidak hanya ditentukan untuk total proyek, tetapi dipecah-pecah berdasarkan komponen-komponennya, atau berdasarkan periode tertentu (misal per kuartal). Dengan demikian, penyelesaian bagian-bagian proyek pun harus memenuhi sasaran anggaran per periode.
Scope (kinerja/mutu)
Produk akhir proyek harus memenuhi spesifikasi dan kriteria yang dipersyaratkan. Memenuhi persyaratan mutu berarti mampu memenuhi tugas yang dimaksudkan (fit for the intended use).
Tahapan - Tahapan Pembangunan Proyek Perangkat Lunak
- Komunikasi pelanggan, yaitu mencatat kebutuhan pelanggan.
- Perencanaan, yaitu mendefinisikan sumber daya dan jadwal.
- Analisis resiko, yaitu menafsir resiko baik teknis maupun manajemen.
- Rekayasa, yaitu membangun satu atau lebih representasi aplikasi.
- Konstruksi, yaitu mengkonstruksi, menguji, menginstal dan pelatihan.
- Evaluasi pelanggan, yaitu umpan balik dari pelanggan selama implementasi.
Elemen Utama Aturan Manajemen
Struktur tim "terbaik" tergantung pada gaya manajemen sebuah organisasi. Ada 3 jenis organisasi tim yang umum, yaitu :
- Demokratis Desentralisasi
Pemimpin tidak permanen, tugasnya pendek, koordinator berganti, keputusan dibuat oleh konsensus kelompok, komunikasi bersifat horisontal.
- Terkontrol Desentralisasi
Pemimpin primer mengkoordinasi tugas khusus dan pemimpin sekunder bertanggung jawab atas sub-sub masalah. Komunikasi horisontal tapi kontrol dilakukan vertikal.
- Terkontrol Sentralisasi
Koordinasi pemecahan masalah dilakukan di pimpinan puncak dan dibentuk tim internal. Komunikasi secara vertikal.
Model - Model Pembangunan Proyek Perangkat Lunak
1. Sekuensial Linier (waterfall)
- Analisis kebutuhan perangkat lunak dengan melakukan pengumpulan kebutuhan, domain informasi, dan unjuk kerja dari antar muka yang diperlukan
- Desain yaitu struktur data, arsitektur perangkat lunak, representasi interface, algoritma detail.
- Kode/Coding yaitu malekukan pengubahan kedalam bentuk bahasa mesin.
- Pengujian dengan logika internal perangkat lunak yaitu memastikan semua sesuai dengn keinginan.
2. Prototipe
3. RAD (Rapid Application Development)
Pengembangan sekuential linier yang dipercepat dengan menggunakan pendekatan konstruksi
berbasis komponen.
Bila sistem tidak dapat dimodulkan secara sistematis / teratur, komponen pengembangan RAD akan
menjadi problematis. RAD menekankan perkembangan komponen program yang dapat Reusable.
4. SPIRAL
Model proses perangkat lunak yang evalusioner, yang merangkai sifat interaktif dari prototipe
dengan cara melakukan kontrol dan merupakan aspek sistematis dari model sekuensial liniear.
Mengukur Kualitas Perangkat Lunak
Pada saat kualitas meningkat, kesalahan manjadi minimal dan selagi kesalahan berkurang, jumlah kerja ulang yang dibutuhkan selama proyek berlangsung juga berkurang. Dengan demikian pembiayaan proyek secara keseluruhan dapat berkurang.
Glib T. mendefinisikan ukuran kualitas perangkat lunak dapat dilihat dari beberapa aspek, yaitu :
a. Cacat per KLOC, yaitu dimana cacat diartikan kurangnya kesesuaian dengan persyaratan.
b. Maintanabilitas, kemudahan dimana program dapat dikoreksi jika ditemukan kesalahan, dapat
beradaptasi jika lingkungan berubah. Mudah dikembangkan bila pelanggan menginiginkan
perubahan.
c. Integritas, kemampuan sistem untuk menahan serangan terhadap sekuritasnya. Serangan dapat
berupa virus maupun hacker yang mengganggu program data maupun dokumen.
Ancaman : kemungkinan serangan yang terjadi dalam periode waktu yang ditentukan.
d. Usabilitas, yaitu usaha untuk mengukur user friendly dengan 4 karakter yakni
- Keterampilan fisik atau intelektual untuk mempelajari sistem.
- Waktu yang diperlukan untuk menggunakan sistem
- Penilaian subjektifitas terhadap sistem (menggunakan kuisioner)
- Peningkatan produktifitas ketika sistem digunakan.
Contoh Proyek
Aplikasi Otomatisasi Pembuatan Surat Tugas Vendor PT. Telkomsel Yogyakarta
Deskripsi :
Aplikasi berbasis web "Otomatisasi Surat Tugas" dibangun dengan tujuan untuk pemangkasan antrian serta antisipasi adanya hal-hal yang tidak diinginkan sehingga akan menimbulkan kerugian pada pihak PT. Telkomsel divisi Networking Operation Yogyakarta.
Screenshot :
- Client : Supervisor dan staff supervisor PT. Telkomsel divisi Networking Operation Yogyakarta.
- Project Manager : Staff supervisor dan Mahasiswa Internship dari Teknik Informatika ITS.
- Programmer / Engineer : Mahasiswa Internship dari Teknik Informatika ITS.
- System Analyst : Mahasiswa Internship dari Teknik Informatika ITS.
- End-Users : Admin PT. Telkomsel divisi Networking Operation Yogyakarta & Vendor terkait.
Biaya :
Dalam pembuatan aplikasi ini membutuhkan biaya $10 untuk pembelian server.
Semoga bermanfaat, Terimakasih.
Sumber :
http://file.upi.edu/Direktori/FPMIPA/PRODI._ILMU_KOMPUTER/WAHYUDIN/MANAJEMEN_PROYEK_PERANGKAT_LUNAK.pdf
https://erozzgerrard.wordpress.com/2011/11/29/manajemen-proyek-perangkat-lunak/