Senin, 21 April 2014

KRITERIA MANAGER PROYEK

KRITERIA MANAGER PROYEK

Bagaimana sih 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 (goals) dan teknologi (technology).
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 (direction) 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 yang saya sarikan dari IT Project Management Handbook.

Karakteristik yang dapat digunakan untuk mengukur tingkat kualifikasi seseorang untuk menjadi Manajer Proyek yaitu:
·         Karakter Pribadinya
·         Karakteristik Kemampuan Terkait dengan Proyek yang Dikelola
·         Karakteristik Kemampuan Terkait dengan Tim yang Dipimpin

Karakter Pribadinya
  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 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.

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.
  11. Mampu membangun kedisiplinan secara struktural.
  12. Mampu mengidentifikasi kelebihan-kelebihan dari masing-masing anggota tim serta memanfaatkannya sebagai kekuatan individual.
  13. Mendayagunakan setiap elemen pekerjaan untuk menstimulasi rasa hormat dari para personil yang terlibat dan mengembangkan sisi profesionalisme mereka.
  14. Menyediakan sedikit waktu untuk menerima setiap ide yang dapat meningkatkan kematangan serta pengembangan dirinya.
  15. Selalu terbuka atas hal-hal yang mendorong kemajuan.
  16. Memahami secara menyeluruh para anggota tim yang dipimpinnya dan mengembangkan komunikasi efektif di dalamnya.

 source :

cocomo

COCOMO

Apa itu COCOMO?
COCOMO atau Constructive Cost Model adalah model algoritma estimasi biaya perangkat lunak yang dikembangkan oleh Barry Boehm pada tahun 1981. Model ini menggunakan dasar regresi formula, dengan parameter yang berasal dari data historis dan karakteristik proyek-proyek saat ini.
Pada tahun 1981, Barry Boehm mendesain COCOMO untuk memberikan estimasi jumlah Person-Months untuk mengembangkan suatu produk software. 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.
Model estimasi COCOMO telah digunakan oleh ribuan project manager suatu proyek perangkat lunak, dan berdasarkan pengalaman dari ratusan proyek sebelumnya. Tidak seperti model estimasi biaya yang lain, COCOMO adalah model terbuka, sehingga semua detail dipublikasikan, termasuk :
  • Dasar persamaan perkiraan biaya.
  • Setiap asumsi yang dibuat dalam model.
  • Setiap definisi.
  • Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit
Perhitungan paling fundamental dalam COCOMO model adalah penggunaan Effort Equation(Persamaan Usaha) untuk mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan proyek. Sebagian besar dari hasil-hasil lain COCOMO, termasuk estimasi untukRequirement dan Maintenance berasal dari persamaan tersebut.
Dalam perkembangannya, COCOMO memiliki 3 jenis implementasi, yaitu :
1. Basic COCOMO (COCOMO I 1981)
Menghitung dari estimasi jumlah LOC (Lines of Code). Pengenalan COCOMO ini diawali di akhir tahun 70-an. Sang pelopor, Boehm, melakukan riset dengan mengambil kasus dari 63 proyek perangkat lunak untuk membuat model matematisnya. Model dasar dari model ini adalah sebuah persamaan sebagai berikut :
effort = C * size^M
ket :
effort = usaha yang dibutuhkan selama proyek, diukur dalam person-months;
c dan M = konstanta-konstanta yang dihasilkan dalam riset Boehm dan tergantung pada penggolongan besarnya proyek perangkat lunak
size = estimasi jumlah baris kode yang dibutuhkan untuk implementasi, dalam satuan KLOC (kilo lines of code).
COCOMO berlaku untuk tiga kelas proyek perangkat lunak:
  • Organik proyek : “kecil” tim dengan pengalaman “baik” bekerja dengan “kurang dari kaku” persyaratan.
  • Semi-terpisah proyek : “sedang” tim dengan pengalaman bekerja dicampur dengan campuran persyaratan kaku kaku dan kurang dari.
  • Embedded proyek : dikembangkan dalam satu set “ketat” kendala (hardware, software, operasional).
2. Intermediate COCOMO (COCOMO II 1999)
Menghitung dari besarnya program dan cost drivers (faktor-faktor yang berpengaruh langsung kepada proyek), seperti: perangkat keras, personal, dan atribut-atribut proyek lainnya. Selain itu pada jenis ini, COCOMO mempergunakan data-data historis dari proyek-proyek yang pernah menggunakan COCOMO I, dan terdaftar pengelolaan proyeknya dalam COCOMO database. yang dijabarkan dalam kategori dan sub-kategori sebagai berikut :
a. Atribut produk (product attributes) :
1. Reliabilitas perangkat lunak yang diperlukan (RELY)
2. Ukuran basis data aplikasi (DATA)
3. Kompleksitas produk (CPLX)
b. Atribut perangkat keras (computer attributes)
1. Waktu eksekusi program ketika dijalankan (TIME)
2. Memori yang dipakai (STOR)
3. Kecepatan mesin virtual (VIRT)
4. Waktu yang diperlukan untuk mengeksekusi perintah (TURN)
c. Atribut sumber daya manusia (personnel attributes)
1. Kemampuan analisis (ACAP)
2. Kemampuan ahli perangkat lunak (PCAP)
3. Pengalaman membuat aplikasi (AEXP)
4. Pengalaman penggunaan mesin virtual (VEXP)
5. Pengalaman dalam menggunakan bahasa pemrograman (LEXP)
d. Atribut proyek (project attributes)
1. Penggunaan sistem pemrograman modern(MODP)
2. Penggunaan perangkat lunak (TOOL)
3. Jadwal pengembangan yang diperlukan (SCED)
COCOMO II EFFORT EQUATION
Model COCOMO II ini membuat estimasi dari usaha yang dibutuhkan (diukur dari Person-Month) berdasarkan keutamaan dalam estimasi anda akan ukuran proyek perangkat lunak (yang diukur dalam ribuan SLOC atau KSLOC) :
Effort = 2,94 * EAF * (KSLOC)E
ket:
EAF = Effort Adjustment Factor yang berasal dari Cost Drivers adalah produk dari effort multipliersyang terhubung pada masing-masing cost drivers untuk proyek.
E = Eksponen yang berasal dari Scale Drivers.
COCOMO II SCHEDULE EQUATION
COCOMO II Schedule Equation memprediksi jumlah bulan yang dibutuhkan untuk menyelesaikan proyek perangkat lunak anda. Durasi dari proyek berdasarkan pada usaha yang diprediksi oleh effort equation :
Duration = 3,67 * (Effort)SE
Dimana :
Effort = usaha dari COCOMO II effort equation.
SE = eksponen scheduled equation yang berasal dari Scale Drivers.
COCOMO II memiliki 3 model berbeda, yakni:
a) The Application Composition Model
Sesuai untuk pembangunan proyek dengan tools GUI-builder yang modern. Berdasar pada Object Points baru.
b) The Early Design Model
Model ini dapat digunakan untuk mendapat estimasi kasar biaya dan durasi dari suatu proyek sebelum menentukan arsitektur keseluruhan proyek tersebut. Model ini menggunakan sekumpulan kecil cost driver baru dan persamaan estimasi baru. Berdasar pada Unadjusted Function Points atau KSLOC.
c) The Post-Architecture Model
Ini adalah model COCOMO II yang paling detail. Digunakannya setelah membentuk arsitektur proyek secara menyeluruh. Model ini memiliki cost driver baru, aturan penghitungan baris yang baru, dan persamaan baru.
3. Advance COCOMO
Memperhitungkan semua karakteristik dari intermediate di atas dan cost drivers dari setiap fase (analisis, desain, implementasi, dsb) dalam siklus hidup pengembangan perangkat lunak. Model rinci kegunaan yang berbeda upaya pengali untuk setiap driver biaya atribut tersebut. Sensitif pengganda tahap upaya 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.

source :
http://rpl07.wordpress.com/2007/06/20/cocomo-constructive-cost-model-oleh-dommy-5105-100-163/
http://ethownside.blogspot.com/2012/04/constructive-cost-model-cocomo.html
http://pu2tgoclo.blogspot.com/2011/04/apa-itu-cocomo-dan-apa-saja-jenis.html
http://yulandari.wordpress.com/2013/06/29/apa-itu-cocomo/

Tentang Open Source

Tentang Open Source

Open Source adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.
Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.

Software open source masih tetap terbaik. Banyak dari software tersebut memiliki fitur yang sebanding dengan software mahal seperti Visual Studio, dll. Kalaupun kita tidak menemukan fitur yang benar-benar lengkap dalam satu software, kita masih bisa menggunakan kombinasi dari dua atau lebih software karena tentunya tidak perlu mengeluarkan biaya apapun selagi menggunakan open source.

Lantas mengapa kita dianjurkan untuk menggunakan Software Open Source dalam membuat Software? Karena dengan Open Source, kita tidak perlu membuat segala sesuatunya dari awal. Kita bisa manfaatkan teknologi Open Source yang sudah ada, memodifikasi sesuai kebutuhan, dan mendisribusikannya selama tidak melanggar lisensi yang tertera. Dengan menggunakan Open Source, karya yang kita jual akan memiliki harga yang terjangkau. Jadi, penikmat karya kita bukan hanya kaum menengah ke atas, tapi juga masyarakat menengah ke bawah. Hal ini justru akan melejitkan kesuksesan kita. Jangan pernah berpikir bahwa dengan Open Source kita tidak akan bisa sukses. Lihat saja Google dan Facebook. Mereka menggunakan teknologi Open Source, tapi apakah mereka gagal dalam berbisnis?

Dengan menggunakan Software Open Source ini kebutuhan pengguna komputer dapat terpenuhi. sebagian besar pengguna komputer hanya menggunakan saja tidak perlu tahu cara membuat sebuah Software? dan umumnya tidak terlalu tahu banyak tahu tentang seluk beluk komputer. Bayangkan jika kita membeli produk Software berlisensi (berbayar) dari sebuah perusahaan. Dua tahun setelah membeli produk tersebut, pembuat produk (perusahaan tersebut) tiba-tiba kolaps (bangkrut). Bisnisnya hancur dan produksi pun berhenti. Tidak ada lagi dukungan, tidak ada lagi pembaharuan. Kita jadi kebingungan dan mau tidak mau membeli produk baru dari produsen/perusahaan lain. Mengapa harus membeli produk baru dari perusahaan lain? Karena kita tidak memiliki kode Program dari Software tersebut. Andai kita memiliki atau diberikan akses untuk membuka dan memperbaharui kode Program tersebut maka kita bisa meminta bantuan pihak lain untuk melanjutkan. Dengan demikian, kita tak perlu membeli produk baru. Dan kerugian yang dialami pembeli akan menjadi lebih minim. Sebagian besar produk Open Source memang gratis dan terbuka. Tetapi tidak seluruhnya. Beberapa vendor mewajibkan pengguna membeli produk karena yang ditawarkan sebenarnya bukan hanya produknya, melainkan juga layanan dan dukungan serta pelatihan dan sertifikasi. Hal ini biasa terjadi pada produk Open Source untuk kalangan bisnis seperti produk RedHat, SUSE dan lain sebagainya.

Selain itu jika kita menggunakan Software Open Source biasanya bersifat Cross Platform dan Compatible, contoh : NetBeans, Eclipse, Python & Perl, Apache PHP & MySQL, C++ Compiler, OpenOffice semuanya ada di Sistem Operasi Linux maupun Windows. Di sisi lain, Penggunaan Software Bajakan menggundang Penjahat Cyber (Cracker) untuk melakukan kejahatan dengan menyusupkan Software berbahaya (Virus/Trojan/Worm) ke Software Illegal/Bajakan (istilah dalam komputer : Crack atau Keygen) dan tentu saja hal tersebut bisa merugikan pengguna dari Software/Software tersebut. Terkadang keahlian kita akan terasah dengan memakai Software Open Source. Dari segi sistem operasi misalnya, saat memakai Windows versi apapun, kita tidak bisa melihat source atau melakukan modifikasi sampai tahap sistem. Sedangkan dengan menggunakan linux, kita bisa melihat source code dengan gamblang dan biasanya konfigurasi dilakukan manual melalui konsol. Lebih rumit memang, namun kita diajarkan untuk berfikir terstruktur dan logis sehingga mengasah kemampuan dalam problem solving dan lebih mengenal bagaimana suatu sistem operasi bekerja.
keuntungan dari penggunaan Open Source antara lain :
1. Lisensi Gratis, sehingga tidak memerlukan biaya tambahan untuk pembelian lisensi Software. dan kita tidak lagi terikat pada satu vendor Software dan membeli lisensi.
2. Keberadaan Bug/Error dapat segera terdeteksi dan diperbaiki karena Software tersebut dikembangkan oleh banyak orang ataupun pemakai, karena secara tidak langsung telah dievaluasi oleh banyak pemakai (End-User).
3. Banyaknya tenaga (SDM) untuk mengerjakan & mengembakan proyek Open Source, karena biasanya proyek Open Source menarik banyak developer. Konsep dalam sebuah proyek Open Source adalah dikembangkan oleh banyak pengembang dan organisasi di seluruh dunia. Melalui komunitas besar dengan banyak konsep-konsep ini Software Open Source tumbuh menjadi standar internasional yang terbuka dan memiliki daya inter-operabilitas yang baik. Dan dalam proyek closed source atau tertutup, pengembangan dilakukan tertutup oleh vendor, sedangkan pada proyek Open Source banyak orang yang berpartisipasi mengembangkan fiturnya dan orang-orang ini bukanlah orang sembarangan melainkan mereka yang ahli dibidangnya. Hal ini memungkinkan peningkatan kualitas fungsional Software Open Source.
4. Pengguna dapat langsung ikut serta dalam pengembangan Program, karena pengguna memiliki source code.
5. Software dapat dimodifikasi sesuai dengan kebutuhan dari pengguna tanpa menyalahi EULA.
6. Cross Platform dan Kompatible, biasanya Software Open Source tersedia di berbagai Sistem Operasi contohnya : XAMPP (Software WebServer & Database Management) tersedia di Windows maupun Linux, NetBeans (Software untuk membuat Software Java & Java Mobile) tersedia di Windows maupun Linux, Eclipse (Software untuk membuat Software Android) tersedia di Windows maupun Linux, Compiere (Software ERP) tersedia di Windows maupun Linux, dan lain-lain.
7. Legal, dan tidak melanggar undang-undang hak cipta serta aman dari razia penggunaan dan pembajakan Software illegal.
8. Software Ope nSource bebas dari Malware (Virus/Worm/Trojan) dibanding Software Illegal hasil Crack, Patch ataupun dari Keygen.
9. Jika Software Open Sourceyang kita gunakan perusahaannya mengalami kebangkrutan, maka tidak menimbulkan kerugian materiil bagi pemakainya, lain halnya pada Software Komersiil, pasti pemakainya harus membeli Software baru.
10. Terkadang keahlian kita akan terasah dengan memakai Software Open Source.
11. Dapat menghasilkan produk yang tidak kalah bagus dengan hasil dari Software yang berlisensi. Jika dijual maka keuntungan dari penjualan produk lebih besar.
12. Sebagian Software Open Source tidak menguras sumber daya pemakaian komputer.

kekurangan dari Open Source ini, antara lain :
1. Memunculkan celah awal ketika sumbe code masih mentah dan pengembangan dasar masih dalam pembangunan.
2. Masalah yang berhubungan dengan intelektual property. Pada saat ini, beberapa negara menerima Software dan algoritma yang dipatentkan. Hal ini sangat sulit untuk diketahui jika beberapa motede utama untuk menyelesaikan masalah Software di patenkan sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.
3. Kurangnya Sumber Daya Manusia yang dapat menggunakan dan memanfaatkan Open Source. Salah satu keuntungan utama dari gerakan adalah adanya ketersediaan code. Namun ketersediaan ini menjadi sia-sia apabila SDM yang ada tidak dapat menggunakannya, tidak dapat mengerti code tersebut. SDM yang ada ternyata hanya mampu produk saja. Jika demikian, maka tidak ada bedanya produk dan yang proprietary dan tertutup.
4. Tidak adanya perlindungan terhadap HAKI.
5. Perkembangan Software tergantug dari sekumpulam manusia itu sendiri.
6. Tidak ada garansi dari pengembangan, sumber code masih mentah dan pengembangan dasar masih dalam pembangunan.
7. Kesulitan dalam mengetahui status project : Tidak banyak iklan bagi Open Source Software, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan merketing.
8. Tidak adanya proteksi terhadap Hak atas Kekayaan Intelektual (HaKI)

Kebanyakan orang masih menganggap bahwa code merupakan aset yang harus dijaga kerahasiannya. Hal ini dikaitkan dengan besarnya usaha yang sudah dikeluarkan untuk membuat produk tersebut. Karena sifatnya yang terbuka, dapat di-abuse oleh orang-orang untuk mencuri ide dan karya orang lain.

source :