Rabu, 01 Mei 2013

Kriteria Manajer Proyek yang Baik






Pada tulisan kali ini, saya akan membahas mengenai kriteria manajer proyek yang baik. Sebelum masuk ke pembahasan, perlu diketahui terlebih dahulu mengenai manajer. Apa itu manajer? Bagaimana tugas seorang manajer? Lalu apa yang dimaksud dengan manajer proyek?

Pengertian Manajer

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.

Tugas Seorang Manajer

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.           

Pengertian Manajer Proyek

Manajer Proyek (Project Manager) adalah seseorang yang brtindak sebagai pimpinan dalam suatu proyek. PM ini sangat berperan penting dalam adanya suatu proyek, karena kegagalan dan keberhasilan dari proyek tersebut di tentukan oleh PM itu sendiri.

Karakteristik Pengukur Tingkat Kualifikasi Manajer Proyek yang Baik

Setidaknya ada 3 (tiga) 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

a.       Memiliki kemampuan dan keahlian berkomunikasi serta manajerial.
b.   Mampu menyusun rencana, mengorganisasi, memimpin, memotivasi serta mendelegasikan tugas secara bertanggung jawab kepada setiap anggota tim.
c.     Menghormati para anggota tim kerjanya serta mendapat kepercayaan dan penghormatan dari mereka.
d.      Berbagi sukses dengan seluruh anggota tim.
e.       Mampu menempatkan orang yang tepat di posisi yang sesuai.
f.       Memberikan apresiasi yang baik kepada para anggota tim yang bekerja dengan baik.
g.      Mampu mempengaruhi pihak-pihak lain yang terkait dengan proyek yang dipimpinnya untuk menerima pendapat-pendapatnya serta melaksanakan rencana-rencana yang disusunnya.
h.      Mendelegasikan tugas-tugas namun tetap melakukan pengendalian melekat.
i.     Memiliki kepercayaan yang tinggi kepada para profesional terlatih untuk menerima pekerjaan-pekerjaan yang didelegasikan darinya.
j.        Menjadikan dirinya sebagai bagian yang terintegrasi dengan tim yang dipimpinnya.
k.      Mampu membangun kedisiplinan secara struktural.
l.  Mampu mengidentifikasi kelebihan-kelebihan dari masing-masing anggota tim serta memanfaatkannya sebagai kekuatan individual.
m.    Mendayagunakan setiap elemen pekerjaan untuk menstimulasi rasa hormat dari para personil yang terlibat dan mengembangkan sisi profesionalisme mereka.
n.     Menyediakan sedikit waktu untuk menerima setiap ide yang dapat meningkatkan kematangan serta pengembangan dirinya.
o.      Selalu terbuka atas hal-hal yang mendorong kemajuan.
p.  Memahami secara menyeluruh para anggota tim yang dipimpinnya dan mengembangkan komunikasi efektif di dalamnya.

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. 
- 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.
- Communication Skills, Perencanaan sebuah proyek akan menjadi tidak berguna ketika tidak ada komunikasi yang efektif antara manajer proyek dengan timnya.
- Negotiating Skills, Untuk memperoleh simpati dan dukungan dari manajemen atas, kemampuan negosiasi dititik beratkan disini. 
- 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.

 Kompetensi yang Harus Dimiliki Manajer Proyek

-          Kompetensi Pencapaian Bisnis
-          Kompetensi Pemecahan Masalah
-          Kompetensi Pengaruh
-          Kompetensi Manajemen diri dan orang lain

Referensi:

Senin, 29 April 2013

Cocomo dan Implementasi Cocomo





Sejarah dan Pengertian 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.

Model Cocomo
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:

1. Proyek organik, adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.

2. Proyek sedang (semi-terpisah), adalah proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda.

3. Proyek terintegrasi, adalah proyek yang dibangun dengan spesifikasi dan operasi yang ketat.
Pengenalan Cocomo ini diawali tahun 70-an akhir. Sang pelopor Boehm, melakukan riset dengan mengambil kasus dari 63 proyek perangkat lunak untuk membuat model matematisnya.Model dasar dari model ini adalah persamaan:
effort = C x sizeM
Dikenal sebagai Constructive Cost Model (COCOMO), model konstruksi biaya.
Dimana :
C dan M adalah koefisien konstanta ( > 1 ), targantung pada tipe proyek dan organisasi, dengan cara melihat Tabel Konstanta (sudah tersedia dari penelitian).
Ditentukan pula oleh: application experience, leadership capability, new environment and tools, requirements uncertainty, software reuse.

Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:     
                                                                                   (1, 2, 3)
Dimana :
E          :  besarnya usaha (orang-bulan)
D         :  lama waktu pengerjaan (bulan)
KLOC  :  estimasi jumlah baris kode (ribuan)
P           :  jumlah orang yang diperlukan.  

Sedangkan koefisien  ab, bb, cb, dan db diberikan pada Tabel 1  berikut: 
Tabel 1 .  Koefisien Model COCOMO Dasar  
  


Implementasi Cocomo
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.

Referensi:

Minggu, 28 April 2013

Keuntungan dan Kerugian Menggunakan Software Open Source Dalam Membuat Aplikasi



   Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet. Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia.

Sejarah Open Source

     “open source” pertama kali muncul pada sebuah rapat di Palo Alto California. Ketika itu, Netscape yang merupakan pengembang browser Navigator ingin melepaskan kode sumber dari produk dengan nama Mozilla di bulan Januari 1998. Mereka ingin membedakan diri dan menghindari konfrontasi ideologis maupun konotatif dengan istilah Free Software yang dipelopori oleh Richard Stallman. Para penggagas istilah open source adalah : Christine Peterson, Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, and Eric S. Raymond.
Istilah “open source” ini kemudian menjadi terkenal setelah dipublikasikan oleh tim O’Reilly melalui sebuah event yang diadakan di bulan April 1999. Event ini dihadiri oleh para selebritis IT yang terlibat dalam project-project free open source, seperti Linus Torvallds (penemu Linux), Larry Wall, Brian Behlendorf, Eric, Allman, Guido van Rossum (pembuat python), Michael Tieman, Paul Vixie, Jamie Zawinski dari Netscape, dan Eric Raymond.
Untuk menjaga perkembangan dunia open source, dibentuklah sebuah badan yang disebut Open Source Initiative. Badan ini didirikan tahu 1998 oleh Eric S. Raymond dan Bruce Perens.

Keuntungan dan Kerugian Open Source 

Motivasi dari penggunaan dan pengembangan open source software beraneka ragam, mulai dari filosofi dan alasan etika sampai pada masalah praktis. Biasanya, keuntungan yang dirasa pertama dari model open source adalah fakta bahwa ketersediaan open source diciptakan secara gratis atau dengan biaya yang rendah.

Keuntungan Open Source 

Sisi pengguna:
-       Gratis
-       Pengguna dapat terlibat dalam pengembangan program karena memiliki source code nya
-       Respon yang baik dari pemakai sehingga bug dapat ditemukan dan diperbaiki dengan lebih cepat.

Sisi developer:
-       Seluruh komunitas mau dan dapat membantu untuk membuat software menjadi lebih baik 
-       Tidak ada biaya iklan dan perawatan program
-       Sebagai sarana untuk memperkenalkan konsep

Keuntungan lainnya:
1.       Legal : Dengan adanya open source software, dapat mengurangi tingkat pembajakkan yang ada di indonesia.
2.       Penyelamatan Devisa negara
Dengan menggunakan solusi berbasis Open Source, maka dapat dilakukan penghematan devisa negara secara signifikan. Kemudian dana tersebut dapat dialokasikan ke usaha-usaha untuk kesejahteraan rakyat.
3.       Keamanan Negara / Perusahaan
Software Open Source bebas dari bahaya ledakan yang disebabkan oleh software komputer proprietary / tertutup, karena bisa dilakukan audit terhadap kode programnya.
4.       Keamanan Sistem
Pada software proprietary / tertutup, sangat sulit untuk dapat benar-benar yakin dengan keamanannya, karena kita tidak dapat mengetahui apa yang ada di dalamnya. Selain itu, sangat sulit untuk mendapatkan solusinya
5.     Ketersediaan/kestabilan
Open source software sangat dikenal dengan kestabilan dan ketersediannya(tidak mudah hang atau minta restart).
6.     Standar terbuka dn tidak bergantung pada vendor
7.     Mengurangi ketergantungan impor
biaya dalam model open source yang lebih berorientasi jasa ini normalnya hanya dikeluarkan untuk bisnis dalam negeri, tidak harus menggunakan perusahaan multinasional. Ini berdampak positif terhadap masalah tenaga kerja, investasi dalam negeri, pemasukan dari pajak, dan lain-lain.
8.     Pengembangan perangkat lunak lokalAda korelasi positif antara pertumbuhan pengembang FOSS dengan kemampuan inovasi dalam sistem ekonomi.
9.     Pembajakan. HAKI, dan WTO
Pembajakan software dan lemahnya hukum dapat merugikan suatu negara dalam banyak hal. Sebuah negara yang perlindungannya terhadap HaKI (Hak atas Kekayaan Intelektual) rendah menjadi tidak menarik bagi investor asing. Keanggotaan dalam organisasi perdagangan dunia atau WTO (World Trade Organization) dan manfaat yang didapatkan dari keanggotaan itu juga ditentukan oleh tingkat penghargaan suatu negara terhadap HaKI.
10.  Bahasa dan budaya lokal

Kerugian Open Source

Pengembangan software berbasiskan open source selain memberikan beberapa buah keuntungan sebagaimana yang telah disebutkan di bagian terdahulu , softwate open source juga mempunyai kerugian :
-       Dengan banyaknya orang yang terlibat dalam pembuatan proyek software tidak menjamin bahwa proyek akan selesai dengan lebih cepat. Ada kemungkinan proyek bahkan tidak dapat terlaksana. Hal ini disebabkan dengan semakin banyaknya orang maka perbedaan akan sering terjadi, oleh karena itu diperlukan seorang pemimpin yang mampu bekerja sama dengan rekan-rekannya yang lain untuk membuat suatu arahan yang jelas tentang proyek.
-       Menurut Alan Cox dalam papernya “Cathedrals, Bazaars and the Town Council” [Ala98], permasalahan akan muncul ketika tibanya banyak orang yang tidak paham dan mereka mulai mengemukakan opininya, bukan memberikan kodenya. Mereka berdebat tentang hal-hal yang tidak berguna. Hal ini tentu saja akan sangat merugikan karena perdebatan tersebut tidak akan menghasilkan apa-apa.
-       Konflik di antara para pengembang. Terkadang dalam model open source sebagaimana juga terjadi dalam model pengembangan ilmiah, terjadi konflik antara para pengembang. Hal ini dapat terjadi bila satu atau beberapa pengembang merasa tidak puas dengan pengembang lainnya, baik dalam hal pencapaian ataupun masalah-masalah teknis dalam proyek yang sedang mereka kerjakan. Bilamana hal ini telah terjadi dapat mengakibatkan tertundanya proyek yang sedang mereka kerjakan, bahkan tidak tertutup kemungkinan proyek tersebut menjadi gagal.
-       Fragmentasi. Dengan tersedianya kode sumber untuk setiap aplikasi, maka seseorang dapat saja merubah sebagian kode sumber asli dan mengeluarkan aplikasi yang sama dengan nama baru atau mengeluarkan aplikasi sama dengan versi baru.
-       Ketergantungan pada satu orang pemimpin. Proyek-proyek open source biasanya dimulai oleh satu atau beberapa orang, sehingga ketergantungan menjadi sangat tinggi. Dengan berlalunya waktu, para pemimpin tersebut mungkin menjadi bosan, burn-out, dipekerjakan oleh organisasi lain. Akibatnya proyek-proyek yang mereka tangani dapat menjadi tertunda atau bahkan mungkin hilang.
-       Penjiplakan. Dengan tersedianya kode sumber bagi setiap software, tidak tertutup kemungkinan ada pihak-pihak yang memanfaatkan hal tersebut demi kepentingan dirinya, misalnya saja seorang mahasiswa ilmu komputer mendapat tugas untuk membuat suatu program, ia kemudian mencarinya di Internet dan mendapatkan versi open sourcenya. Lalu ia memodifikasi sedikit program tersebut dan menyerahkan pada dosennya untuk dinilai. Bila dosen tidak waspada maka program tersebut akan lolos dan si mahasiswa akan mendapat nilai dengan mudah dan tidak adil bagi mahasiswa yang membuatnya sendiri.


Mengapa dianjurkan menggunakan software open source dalam membuat aplikasi?

Jawabannya menurut saya mungkin karena karena gratis dan mudah didapat. Dengan gratis semua orang bisa mengunduh software ini dengan semaunya tanpa membayar seperti software – software lainnya yang berbayar. Memang tidak semua software yang kita inginkan untuk membuat aplikasi bisa gratis kita dapatkan, namun setidaknya ada kemiripan atau jenis yang sama dengan software berbayar tersebut, jadi kita bisa mengunduhnya untuk membuat aplikasi yang kita inginkan. 

Contohnya misalnya adalah Linux. Linux adalah sebuah contoh yang bagus. Banyak sistem operasi yang berusaha meniru kisah sukses Linux, tetapi Linux tetap yang paling sukses hingga saat ini. Aspek positif dari Open Source adalah penerimaan yang luas untuk software yang benar-benar bagus.


Referensi :