Rabu, 04 April 2012

Kriteria Manager Proyek Yang Baik

Manager adalah orang atau seseorang yang harus mampu membuat orang-orang dalam organisasi yang berbagai karakteristik, latar belakang budaya, akan tetapi memiliki ciri yang sesuai dengan tujuan dan teknologi. Dan tugas seorang manager adalah bagaimana mengintegrasikan berbagai macam variabel (karakteristik, budaya, pendidikan dan lain sebagainya) kedalam suatu tujuan organisasi yang sama dengan cara melakukan mekanisme penyesuaian. Adapun mekanisme yang diperlukan untuk menyatukan variabel diatas adalah sebagai berikut:
*Pengarahan yang mencakup pembuatan keputusan, kebijaksanaan, supervisi, dan lain-lain.
* Rancangan organisasi dan pekerjaan.
* Seleksi, pelatihan, penilaian, dan pengembangan.
* Sistem komunikasi dan pengendalian.
* Sistem reward.
Hal tersebut memang tidak mengherankan karena posisi Manajer Proyek memegang peranan kritis dalam keberhasilan sebuah proyek terutama di bidang teknologi informasi. Berikut ini kualifikasi teknis maupun nonteknis yang harus dipenuhi seorang Manajer Proyek:
  • Karakter Pribadinya
  • Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
  • Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin

Karakter Pribadi yang Harus Dimiliki Seorang Manager Proyek
  1. Memiliki pemahaman yang menyeluruh mengenai teknis pekerjaan dari proyek yang dikelola olehnya.
  2. Mampu bertindak sebagai seorang pengambil keputusan yang handal dan bertanggung jawab.
  3. Memiliki integritas diri yang baik namun tetap mampu menghadirkan suasana yang mendukung di lingkungan tempat dia bekerja.
  4. Asertif
  5. Memiliki pengalaman dan keahlian yang memadai dalam mengelola waktu dan manusia.
Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin
  1. Memiliki kemampuan dan keahlian berkomunikasi serta manajerial.
  2. Mampu menyusun rencana, mengorganisasi, memimpin, memotivasi serta mendelegasikan tugas secara bertanggung jawab kepada setiap anggota tim.
  3. Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.
  4. Berbagi sukses dengan seluruh anggota tim.
  5. Mampu menempatkan orang yang tepat di posisi yang sesuai.
  6. Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.
  7. Mampu mempengaruhi pihak-pihak lain yang terkait dengan proyek yang dipimpinnya untuk menerima pendapat-pendapatnya serta melaksanakan rencana-rencana yang disusunnya.
  8. Mendelegasikan tugas-tugas namun tetap melakukan pengendalian melekat.
  9. Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.
  10. Menjadikan dirinya sebagai bagian yang terintegrasi dengan tim yang dipimpinnya.
Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
  1. Memiliki komitmen yang kuat dalam meraih tujuan dan keberhasilan proyek dalam jadwal, anggaran dan prosedur yang dibuat.
  2. Pelaksanakan seluruh proses pengembangan proyek IT sesuai dengan anggaran dan waktu yang dapat memuaskan para pengguna/klien.
  3. Pernah terlibat dalam proyek yang sejenis.
  4. Mampu mengendalikan hasil-hasil proyek dengan melakukan pengukuran dan evaluasi kinerja yang disesuaikan dengan standar dan tujuan yang ingin dicapai dari proyek yang dilaksanakan.
  5. Membuat dan melakukan rencana darurat untuk mengantisipasi hal-hal maupun masalah tak terduga.
  6. Membuat dan menerapkan keputusan terkait dengan perencanaan.
  7. Memiliki kemauan untuk mendefinisikan ulang tujuan, tanggung jawab dan jadwal selama hal tersebut ditujukan untuk mengembalikan arah tujuan dari pelaksanaan proyek jika terjadi jadwal maupun anggaran yang meleset.
  8. Membangun dan menyesuaikan kegiatan dengan prioritas yang ada serta tenggat waktu yang ditentukan sebelumnya.
  9. Memiliki kematangan yang tinggi dalam perencanaan yang baik dalam upaya mengurangi tekanan dan stres sehingga dapat meningkatkan produktifitas kerja tim.
  10. Mampu membuat perencanaan dalam jangka panjang dan jangka pendek.
Skill yang Dibutuhkan Manager Proyek:
Shtub (1994) menggambarkan diagram kemampuan yang penting untuk dimiliki oleh seorang manajer proyek. Diantaranya adalah:
  • Problem Solving, kemampuan manajer dalam menyelesaikan masalah secara efektif dan efisien.
  • Budgeting and Cost Skills, Kemampuan dalam hal membuat anggaran biaya proyek, analisis kelayakan investasi agar keuangan proyek dapat berjalan optimal sesuai dengan keinginan penyedia dana.
  • Schedulling and Time Management Skills, kemampuan untuk menjadwalkan proyek. Disini manajer proyek dituntut untuk dapat mengelola waktu secara baik agar proyek dapat selesai tepat waktu seperti yang diharapkan. Untuk mengelola waktu ini manajer proyek harus mendefinisikan aktivitas-aktivitas yang diperlukan, misalnya dengan teknik WBS atau Work Breakdown Structure. Selain itu manajer proyek harus mampu memperkirakan waktu bagi setiap aktivitas secara realistis. Hal ini memerlukan kordinasi dengan tim proyek untuk menentukan estimasi berapa alam aktivitas tersebut dilakukan. Kemudian, manajer proyek harus mengatur waktu peringatan untuk mengindikasikan tanggal-tanggal kritis selama proyek berlangsung.
  • Technical Skills, Kemampuan teknis melingkupi pengetahuan dan pengalaman dalam hal proyek itu sendiri, dengan mengetahui prosedur-prosedur dan mekanisme proyek. Kemampuan teknis biasanya di dapat dari penimbaan ilmu khusus di bangku formal, misalnya Institut Manajemen Proyek, dan sebagainya.
  • Leadership Skills, Kepemimpinan menjadi salah satu peranan penting yang dimiliki oleh seorang manajer proyek. Apa yang dilakukan oleh manajer proyek menendakan bagaimana seharusnya orang lain atau timnya bekerja. Dengan ini manajer proyek dapat mempengaruhi bagaimana orang lain dapat bertindak dan bereaksi terhadap isu-isu proyek.
  • Resource Management and Human Relationship Skills, Pemakaian sumber daya adalah masalah utama bagi para manajer proyek. Manajer proyek perlu memahami akibat dari kegagalan dalam mengelola sumber daya, oleh karena itu perlu kehati-hatian dalam menempatkan sumberdaya yang ada dan menjadwalkannya. Hal ini membutuhkan kemampuan untuk membangun jaringan social dengan orang-orang yang terlibat di dalam proyek, seperti para stakeholder. Seorang manajer proyek yang efektif harus mampu untuk menempatkan diri dalam memberikan keterbukaan dan persahabatan dengan pihak lain, salah satunya dengan menjadi pendengar yang baik.
  • Communication Skills, Perencanaan sebuah proyek akan menjadi tidak berguna ketika tidak ada komunikasi yang efektif antara manajer proyek dengan timnya. Setiap anggota tim harus mengetahui tanggung jawab mereka. Kadang, jadwal perencanaan yang sudah dibuat secara sempurna oleh manajer proyek tidak dijalankan oleh timnya, tim lebih memilih bekerja dengan aturan mereka sendiri. Hal ini dikarenakan sang manajer tidak memberikan penjelasan atau mempresentasikan prosedur yang diinginkan dalam menjalankan proyek.
  • Negotiating Skills, Untuk memperoleh simpati dan dukungan dari manajemen atas, kemampuan negosiasi dititik beratkan disini. Tapi, manajer proyek harus memahami kepentingan manajemen atas sehingga dengan pemahaman ini manajer proyek dapat melakukan bargaining dengan pemikiran yang tenang dan jernih untuk memperoleh apa yang diinginkan. Selain kemampuan komunikasi yang baik, negosiasi juga memerlukan strategi dalam menarik dukungan manajemen atas atau sponsor mereka, bagaimanapun, pihak yang bernegosiasi harus dapat melihat loyalitas sang manajer terhadap mereka, baru kemudian akan muncul kepercayaan.
  • Marketing, Contracting, Customer Relationship Skills, Kemampuan menjual tidak hanya dimiliki oleh marketer saja, akan tetapi manajer proyek harus memiliki kemampuan untuk memasarkan hasil proyeknya, karena akan sangat tragis ketika sebuah proyek yang sukses secara implementatif, tetapi outputnya tidak dibutuhkan oleh para penggunanya. Bagaimanapun apa yang akan dikatakan sang manajer proyek kepada pelanggannya akan lebih berpengaruh daripada yang mengatakan hanya bagian marketing. Selain itu, kedekatan dengan konsumen sangat diperlukan. Sang manajer perlu responsive terhadap perubahan kebutuhan dan persyaratan pelanggan untuk memenuhi kebutuhan mereka. Sekali lagi, kemampuan komunikasi sangat berperan penting disini. Dalam konsep TQM, kunci utama untuk mengidentifikasi kebutuhan pelanggan adalah komunikasi secara terus-menerus antar pelanggan maupun antar tim proyek (Tjiptono&Diana, 2003).

Kompetensi yang Harus Dimiliki Manajer Proyek:
* Kompetensi Pencapaian Bisnis
* Kompetensi Pemecahan Masalah
* Kompetensi Pengaruh
* Kompetensi Manajemen diri dan orang lain



Sumber :
http://www.lintasberita.com/Lifestyle/Relations/kriteria-manager-proyek-yang-baik
http://nayay.wordpress.com/2010/03/08/manager-proyek/
http://saiiamilla.wordpress.com/2011/05/13/kriteria-manager-proyek-yang-baik/
http://ria-ajah.blogspot.com/2011/05/kriteria-manager-proyek-yang-baik.html

COCOMO (Constructive Cost Model)

COCOMO atau Constructive Cost Model, merupakan sebuah alat bantu atau modul konstruksi biaya yang digunakan untuk menghitung estimasi berapa biaya dan jumlah orang yang dibutuhkan dalam mengembangkan suatu proyek perangkat lunak. COCOMO pertama kali muncul pada sebuah buku berjudul Software Engineering Economics tahun 1981 oleh Barry Boehm. Referensi pada model ini dikenal dengan nama COCOMO 81.

Pada tahun 1990, muncul suatu model estimasi baru yang disebut dengan COCOMO II. Secara umum referensi COCOMO sebelum 1995 merujuk pada original COCOMO model yaitu COCOMO 81, kemudian setelah itu merujuk pada COCOMO II.

Berikut ini jenis-jenis dari COCOMO :
1. Basic COCOMO

Menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program. Ukuran program dinyatakan dalam ribuan estimasi baris kode (KLOC).

COCOMO membedakan perhitungan terhadap tiga jenis kelas proyek perangkat lunak sebagai berikut :
  • organic : tim kecil dengan pengalaman cukup baik dan kebutuhan sistem yang relatif sederhana.
  • semi-detached : tim berukuran menengah yang berpengalaman dengan lingkungan kerja yang lebih kompleks.
  • embedded projects : pengembangan berdasarkan pada kebutuhan dengan kompleksitas tinggi dan batasan atau constraint yang ketat.

Persamaan dasar COCOMO :

Effort Applied = ab(KLOC)^bb [ man-months ]
Development Time = cb(Effort Applied)^db [months]
People required = Effort Applied / Development Time [count]

Koefisien ab, bb, cb, dan db diberikan dalam tabel berikut :


2. Intermediete COCOMO

Intermediate COCOMO menghitung usaha pengembangan perangkat lunak sebagai fungsi ukuran program dan sekumpulan "cost drivers" yang mencakup penilaian subjektif produk, perangkat keras, personil dan atribut proyek. Ekstensi ini mempertimbangkan satu set empat "cost drivers", yang dijabarkan dalam kategori dan subkatagori sebagai berikut :

a. Atribut produk (product attributes)

* Reliabilitas perangkat lunak yang diperlukan (RELY)
* Ukuran basis data aplikasi (DATA)
* Kompleksitas produk (CPLX)

b. Atribut perangkat keras (computer attributes)

* Waktu eksekusi program ketika dijalankan (TIME)
* Memori yang dipakai (STOR)
* Kecepatan mesin virtual (VIRT)
* Waktu yang diperlukan untuk mengeksekusi perintah (TURN)

c. Atribut sumber daya manusia (personnel attributes)

* Kemampuan analisis (ACAP)
* Kemampuan ahli perangkat lunak (PCAP)
* Pengalaman membuat aplikasi (AEXP)
* Pengalaman penggunaan mesin virtual (VEXP)
* Pengalaman dalam menggunakan bahasa pemrograman (LEXP)

d. Atribut proyek (project attributes)

* Penggunaan sistem pemrograman modern(MODP)
* Penggunaan perangkat lunak (TOOL)
* Jadwal pengembangan yang diperlukan (SCED)


3. Detailed COCOMO

Detil COCOMO - menggabungkan semua karakteristik versi intermediate dengan penilaian dampak cost driver di setiap langkah (analisis, desain, dll) dari proses rekayasa perangkat lunak 1. model rinci kegunaan yang berbeda upaya pengali untuk setiap driver biaya atribut Tahap pengganda ini upaya Sensitif masing-masing untuk menentukan jumlah usaha yang dibutuhkan untuk menyelesaikan setiap tahap.

Pada COCOMO rinci, upaya dihitung sebagai fungsi dari ukuran program dan satu set driver biaya yang diberikan sesuai dengan tiap tahap siklus hidup rekayasa perangkat lunak. Fase yang digunakan dalam COCOMO rinci perencanaan kebutuhan dan perancangan perangkat lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi.

sumber :
http://dasikupukupu.blogspot.com/2011/04/meramal-kebutuhan-dalam-pembuatan.html
http://en.wikipedia.org/wiki/Cocomo
http://blogkublogku.blogspot.com/2011/04/cocomo-constructive-cost-model.html
http://gembel-it.blogspot.com/2011/04/cocomo-constructive-cost-model.html
http://awansembilan.blogspot.com/2011/04/cocomo-constructive-cost-model.html

Alasan menggunakan software open source

Open Source adalah sebuah sistem baru dalam mendistribusikan perangkat lunak kepada pengguna dengan memberikan program dan source code nya secara gratis. Bahkan pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software tersebut sesuai dengan kebutuhan mereka.

Isu-isu keamanan yang dihadapi sistem open source, mencakup beberapa filosofi keamanan umum dan bagaimana membuat lebih aman sistem tersebut dari para penyusup. Beberapa pengguna komputer yang merupakan anggota dari komunitas pengguna Open Source Software (OSS) dan free software berpendapat bahwa kode program mereka lebih aman karena kelemahan kode program mereka lebih mudah ditemukan dan diperbaiki oleh pemakai program tersebut. Sementara itu, komunitas hak-hak kepemilikan berpendapat bahwa pembukaan akses ke kode program pada OSS akan memudahkan bagi beberapa kelompok tertentu untuk menyerang program tersebut.

Fitur-fitur utama dari karakteristik open source adalah kebebasan user untuk:

  1. Menggunakan software sesuai keinginannya.
  2. Memiliki software yang tersedia sesuai kebutuhan.
  3. Mendistribusikan software kepada user lainnya.

Kebebasan yang tak terbatas bagi tiap orang untuk mengakses kode program merupakan pedang bermata dua bagi software itu sendiri. Hal ini disebabkan karena kebebasan ini memberikan informasi tentang kelemahan software. Kemudian, yang terjadi adalah eksploitasi kelemahannya. Para hacker akan menggunakan kelemahan ini untuk melakukan hal-hal yang dapat merugikan pengguna software tersebut. Akibatnya akan lebih buruk jika software tersebut merupakan software yang vital bagi pengguna karena akan memungkinkan terjadinya penipuan, pencurian identitas, pencurian informasi, dan sebagainya.

Beberapa keuntungan dari software open source, yaitu:

  1. Adanya hak untuk mendistribusikan modifikasi dan perbaikan pada kode.
  2. Ketersediaan source code dan hak untuk memodifikasi.
  3. Tidak disandera vendor, open source menggunakan format data terbuka, sehingga data menjadi transparan dan bisa dengan bebas diproses di sistem komputer yang berbeda-beda, sambil tetap menjaga keamananya. Dengan demikian, konsumen tidak lagi terikat pada kemauan vendor untuk dapat menggunakan data-datanya.
  4. Banyaknya tenaga (SDM) untuk mengerjakan proyek, proyek open source biasanya menarik banyak developer, misalnya pengembangan web server Apache menarik ribuan orang untuk ikut mengembangkan dan memantau.
  5. Kesalahan (bugs, error) lebih cepat ditemukan dan diperbaiki, hal ini dikarenakan jumlah developer-nya sangat banyak dan tidak dibatasi. Visual inspection (eye-balling) merupakan salah satu metodologi pencarian bugs yang paling efektif. Selain itu, source code yang tersedia membuat setiap orang dapat mengusulkan perbaikan tanpa harus menunggu dari vendor.
  6. Kualitas produk lebih terjamin, hal ini dikarenakan evaluasi dapat dilakukan oleh banyak orang sehingga kualitas produk dapat lebih baik. Namun, hal ini hanya berlaku untuk produk open source yang ramai dikembangkan orang. Tidak selamanya open source dikembangkan oleh banyak orang, karena bisa juga dilakukan oleh individual.
  7. Hemat biaya, sebagian besar developer ini tidak dibayar. Dengan demikian, biaya dapat dihemat dan digunakan untuk pengeluaran yang tidak dapat ditunda, misal membeli server untuk hosting web.
  8. Tidak mengulangi development, pengulangan (re-inventing the wheel) merupakan pemborosan. Adanya source code yang terbuka membuka jalan bagi seorang programmer untuk melihat solusi-solusi yang pernah dikerjakan oleh orang lain. Namun, pada kenyataannya tetap banyak pengulangan.
  9. User dapat memodifikasi dan mengunci agar hanya kalangan terbatas yang dapat membaca kode dan memodifikasinya.
  10. Mencegah software privacy yang melanggar hukum.

Beberapa kerugiannya adalah :

  1. Kurangnya SDM yang dapat memanfaatkan open source, ketersediaan source code yang diberikan dapat menjadi sia-sia, jika SDM yang ada tidak dapat menggunakannya. SDM yang ada ternyata hanya mampu menggunakan produk saja, Jika demikian, maka tidak ada bedanya produk open source dan yang propriertary dan tertutup.
  2. Tidak adanya proteksi terhadap HaKI, kebanyakan orang masih menganggap bahwa open source merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.
  3. Kesulitan dalam mengetahui status project.
  4. Tidak ada garansi dari pengembangan.
  5. Limitasi modifikasi oleh orang – orang tertentu yang membuat atau memodifikasi sebelumnya.
  6. Untuk beberapa platform, contohnya JAVA yang memiliki prinsip satu tulis dan bisa dijalankan dimana saja, akan tetapi ada beberapa hal dari JAVA yang tidak competible dengan platform lainnya. Contohnya J2SE yang SWT – AWT bridge-nya belum bisa dijalankan di platform Mac OS.
  7. Open Source digunakan secara sharing, dapat menimbulkan resiko kurangnya diferensiasi antara satu software dengan yang lain, apabila kebetulan menggunakan beberapa open Source yang sama.

Referensi :