PROYEK
Proyek adalah suatu kegiatan
mengkoordinasikan segala sesuatu dengan menggunakan perpaduan sumber daya
manusia, teknik, administratif, keuangan untuk mencapai tujuan yang jelas dan
dalam periode waktu tertentu.
Karakteristik proyek:
- Mempunyai tujuan yang jelas, menuju/membuat perubahan
- Kegiatannya dibatasi oleh waktu; sifatnya sementara, diketahui kapan mulai dan berakhirnya
- Dibatasi oleh biaya/budget
- Dibatasi oleh kualitas
- Biasanya tidak berulang-ulang
- Memerlukan struktur organisasi temporari
Contoh proyek:
- Pembuatan rumah
- Pembuatan jalan raya
- Pembuatan iklan perusahaan
- Pembentukan tim evaluasi lokasi baru perusahaan
- Pembuatan prototipe produk baru
- Pembuatan Perangkat Lunak
- dll
MANAJEMEN
Sebuah proses untuk mencapai
tujuan bersama dengan menggunakan empat fungsi utama, yaitu planning,
organizing, actuating dan controlling yang didasarkan pada sumber daya yang
dimiliki.
MANAJEMEN PROYEK
MPPL Efektif: 4 P (People, Product, Process, Project)
- Personil: Elemen terpenting yg menjadi suksesnya suatu proyek
- Product: Software yg akan di bangun
- Process: Memberikan suatu aktifitas kerangka kerja dan rencana komprehensif bagi pengembangan perangkat lunak
- Project: Segala pekerjaan yang harus dilakukan untuk membuat produk itu terealisasi
Kategori Personil
- Manajer Senior: menentukan usaha yang dikerjakan dan pemegangkeputusan dalam proyek
- Manajer Proyek (teknis) à pemimpin tim: merencanakan, memotivasi, mengorganisasi dan mengontrol orang di proyek
- Praktisi: orang yang mempunyai kemampuan teknis yang dibutuhkan untuk mendapatkan produk/PL
- Pelanggan (klien): orang yang membutuhkan produk
- Pengguna akhir: orang yang berinteraksi langsung dengan PL yang dibangun
Pemilihan Manajer Tim
- Motivasi: kemampuan untuk memotivasi pekerja teknis dalam menghasilkan kemampuan terbaiknya
- Organisasi: kemampuan untuk membentuk proses yang ada yang akan menjadikan konsep awal dan dapat diterjemahkan ke dalam produk.
- Ide/motivasi: kemampuan untuk mendorong orang lain untuk menciptakan dan bertindak kreatif
- Problem solving: mampu menganalisa masalah teknis maupun manajemen kemudian mendapatkan jalan keluar
- Manajer: kemampuan menggunakan wewenang pada saat yang tepat
- Menghargai kerja: mampu menghargai hasil yang dicapai/ide/pendapat yang diajukan anggota tim
- Mengenali tim: mampu “membaca” dan memahami anggota tim
TIM SOFTWARE
Faktor yang harus diperhatikan ketika
melakukan seleksi terhadap projek tim software adalah:
- Tingkat kesulitan pada masalah yang akan diambil pemecahannya.
- Seberapa besar kode, baris-baris program ataupun fungsi dari program tersebut.
- Waktu tim tersebut untuk pengerjaan secara bersama-sama
- Tingkat permasalahan yang dapat disederhanakan
- Kualitas permintaan dan keandalan sistem yang akan dibangun
- Tingkat permintaan sosialisasi (komunikasi) pada project
Struktur Organisasi Tim
1. Democratic Decentralized
(DD)
- Tidak ada pemimpin yang permanen
- Koordinator ditunjuk untuk jangka waktu yang pendek
- Keputusan diambil berdasarkan konsensus bersama
- Komunikasi antar anggota tim (posisi sejajar semua)
- Cocok untuk: masalah yang sulit/rumit, proyek besar, tim cenderung awet dan bertahan lama, pekerjaan memuaskan, masalah yang modularitasnya rendah, perlu banyak waktu untuk menyelesaikan proyek
2. Controlled Decentralized
(CD)
- Pemimpin tim ditentukan,
- Ada wakil pemimpin dan mereka berbagi tugas,
- Penyelesaian masalah adalah tugas tim dan implementasinya dibagi di antara beberapa sub-tim oleh pemimpin,
- Komunikasi horisontal di antara sub-tim dan di antara personel. Komunikasi vertikal berdasarkan struktur hirarkhi
- Sentralisasi untuk penyelesaian masalah,
- Cocok untuk: masalah yang sederhana, cukup cocok untuk proyek besar, masalah dengan modularitas tinggi, menghasilkan sedekit kesalahan
3. Controlled Centralized
(CC)
- Penyelesaian masalah dikerjakan oleh pemimpin,
- Pemimpin melakukan koordinasi internal tim,
- Komunkasi lebih banyak vertikal antara pemimpin dan anggota tim
- Cocok untuk: masalah yang sederhana, melakukan penyelesaian, masalah lebih cepat, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan
MANAJEMEN PROYEK PERANGKAT LUNAK
- Manajemen proyek perangkat lunak merupakan bagian yang penting dalam pembangunan perangkat lunak.
- Tidak bersifat teknis seperti pengkodean.
- Manajemen proyek PL ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik.
- Berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari PL, penjadwalan dan sebagainya.
RUANG LINGKUP PROJECT MANAJEMEN
Agar proyek tidak overleap dan
dapat dimengerti oleh team
* Kualitas Produk
* Ketidakpastian
* Resiko yang mungkin
ada
* Estimasi Biaya
* Penjadwalan Project
* Komunikasi Pelanggan
* Staff
* Pengawasan Project
* Ukuran dari kemampuan
memori
* Jumlah pemakai
PENYEBAB KEGAGALAN PROJECT
* Penjadwalan yang tidak
realistis
* Usaha yang tidak
sesuai dengan apa yang direncanakan
* Perubahan permintaan
pelanggan
* Resiko yang telah
diprediksi ataupun yang tidak dapat diprediksi
* Kesulitan teknik
* Miskomunikasi antara
staff project
* Kesalahan pada project
manajemen
DEFINISI PERMASALAHAN
- Membangun Ruang Lingkup Permasalahan: Menjabarkan bentuk-bentuk permasalahan dan kendala yang dihadapi
- Peninjauan Ulang: Membangun fungsi berdasarkan kebutuhan penanggulangan permasalahan
UNTUK MENDAPATKAN ESENSI (INTI) PROJECT
·
Beberapa pertanyaan yang perlu
diperhatikan:
- Kenapa sistem itu dibangun?
- Apa yang harus diselesaikan? Dan kapan?
- Siapa yang bertanggung jawab atas fungsi yang dijalankan?
- Dimana lokasi organisasi itu berada?
- Bagaimana sistem tersebut dijalankan secara teknik dan manajerial?
- Seberapa banyak sumber daya yang dibutuhkan (Contoh: SDM, Software, Hardware, Database)?
TEKNIK PELAKSANAAN
- Analisis Resiko Formal
- Perkiraan biaya dan waktu yang diperlukan
- Manajemen Proyek yang berbasis Matriks
- Mengumpulkan data pelaksanaan yang telah dilaksanakan
- Membandingkan pelaksanaan dengan kualitas yang ingin dicapai
- SDM yang terlibat dalam proyek.
PROSES
PERANGKAT LUNAK DAN METRICS PROJECT
I.
PENGUKURAN DAN METRIKS
- Measure (mengukur): mengindikasikan kuantitatif dari luasan, jumlah, dimensi, kapasitas
- Measurement (pengukuran): kegiatan menentukan sebuah measure
- Metrics: Ukuran kuantitatif dari tingkat dimana sebuah sistem, komponen atau proses memiliki atribut tertentu.
II.
Kenapa kita melakukan pengukuran?
- Untuk melihat karakteristik sesuatu objek
- Untuk mengevaluasi dari objek
- Untuk memprediksi objek
- Untuk mengimprovisasi objek tersebut terhadap perkembangan dan pengembangannya.
Mengukur Manager yang Baik:
Pengukuran dapat dilakukan melalui
2 tahapan:
- Pengaruh internal terhadap pengukuran:
1.
Proses
2.
Produk
- Pengaruh eksternal terhadap pengukuran:
1.
Proses Metrik
2.
Proyek Metrik
3.
Produk Metrik
1. Proses Metrik
- Memungkinkan sebuah organisasi rekayasa perangkat lunak memperoleh pengetahuan tentang reliabilitas sebuah proses yang sedang berlangsung”.
- Proses ini dikumpulkan di seluruh proyek dan pada perkembangan proses perangkat lunak jangka panjang
2. Proyek Metrik
·
Memperkirakan status sebuah
proyek yang sedang berlangsung
·
Menelusuri resiko-resiko
potensial
·
Menemukan masalah sebelum
masalah menjadi semakin kritis
·
Menyesuaikan aliran kerja dan
tugas
·
Mengevaluasi kemampuan tim
proyek (mengontrol kualitas kerja)
3. Produk Metrik
- Memperhatikan kualitas yang akan diberikan
- Mengukur dari hasil analisa model
- Kompleksitas Design (Internal Algoritma, Arsitektur, Aliran Data)
- Mengukur Kode
- Mengukur efektifitas proses
Metriks proses PL dapat memberikan
sumbangan yang berarti, namun bisa juga menimbulkan permasalahan yang lebih
banyak”
Etika Metrik Perangkat Lunak:
- Gunakan istilah umum dan kepekaan organisasi ketika menginterpretasi data metrik
- Berikan umpan balik reguler kepada individu dan tim yang telah bekerja untuk mengumpulkan pengukuran dan metrik
- Jangan menggunakan metrik untuk mengukur individu
- Jangan menggunakan metrik untuk mengancam individu dan tim
- Bekerja dengan pelaksana dan tim untuk menentukan tujuan dan metrik yang jelas yang akan digunakan
- Data-data yang didapat hanya sebagai indikator bagi peningkatan proses
- Tetap memperhatikan metrik yang lain dalam melakukan pengukuran.
NORMALISASI UNTUK METRIK
Normalisasi data digunakan untuk
mengevaluasi proses dan produk
Ada 2 Teknik:
- Size Oriented Normalization: Pendekatan pada Baris kode
- Function Oriented Normalization: Pendekatan pada Fungsi Point
PENGUKURAN PERANGKAT LUNAK
1.
Metrics Size Oriented
- Diukur dengan normalisasi kualitas dan atau pengukuran produktifitas mempertimbangkan ukuran perangkat lunak yang dihasilkan.
- Pengembangan Metrics Size Oriented:
a.
Kesalahan per KLOC (Kilo Line of
Code)
b.
Biaya per LOC
c.
Cacat per LOC
d.
Halaman Dokumentasi per LOC
- Sebagai Tambahan, Metrik lain yang dapar dihitung:
a.
Kesalahan perorang perbulan
b.
LOC perorang perbulan
c.
Biaya perhalaman dokumentasi
2.
Metrik Function Oriented
- Diukur dengan menggunakan sebuah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi.
- Typical Function-Oiented Metrics
a.
Kesalahan per FP (Function
Point)
b.
Cacat per FP
b.
Biaya per FP
c.
Halaman Dokumentasi per FP
d.
FP perorang perbulan
3.
Metrik Function Point yang Diperluas
- Secara Orisinil dirancang untuk diterapkan pada aplikasi informasi bisnis yang ditekankan pada pengeluaran dimensi tingkah laku dan fungsional.
- Feature Points -> Teknik pengukuran function point yang diterapkan.
- Fp -> Mengakomodasi aplikasi yang kompleksitas algoritmanya tinggi (Real Time, Kontrol Proses, Karakteristik perangkat lunak yang baru/Algoritma, dll)
- Boeing mengembangkan Ekstensi FP utk sistem Real time dan produk Rekayasa à 3D Function Point (Penekananpada Kemampuan Fungsi dan Kontrol)
a. Dimensi Data: Penghitungan data
internal dan ekstrnal dipakai bersama dengan pengukuran kompleksitas utk
menarik penghitungan dimensi data.
b.
Dimensi Fungsional: Diukur
dengan mempertimbangkan jumlah operasi internal yang dibutuhkan utk mentransformasi
input ke data output.
MENGUKUR KUALITAS
- Correctness: Program harus beroperasi dengan benar, dimana perangkat lunak melakukan fungsi yang ditentukan.
- Maintainability: Pemeliharaan memberikan kemudahan pada aktifitas dan perbaikan terhadap kesalahan sistem.
- Integrity: Mengukur kemampuan sistem untuk menahan serangan terhadap keamanannya.
- Usability: User Friendly
0 komentar:
Posting Komentar