Dalam kondisi sekarang ini saya lebih tertarik membangun
bisni e commerce. Namun dikarenakan saya saat ini sedang menekuni bidang
IT. Maka, saya tertarik untuk memiliki
bisnis pembuatan software dalam bentuk eCommerce. Dimana siapapun bisa memesan
software saya dengan mudah.seperti halnya bisnis eCommerce yaitu efisien dan
efektif.
Namun memulai usaha di bidang
pembuatan perangkat lunak bukanlah sesuatu yang baru bagi kalangan professional
yang menekuninya. Banyak yang tertarik memasuki bidang usaha ini karena melihat
peluang yang ada. Hal itu bisa dilihat dari begitu banyaknya perusahaan di
Indonesia, baik skala kecil, menengah maupun besar yang ingin perusahaannya
bisa beroperasi secara efektif dan efisien. Salah satu upaya yang dapat
ditempuh adalah dengan memanfaatkan system dan teknologi informasi.
Tahapan yang diperlukan untuk
memulai bisnis ini yaitu :
Aspek Pengelolaan Awal
Dari pengamatan terhadap beberapa
belas perusahaan pengembang perangkat yang sukses, terlihat bahwa salah satu
langkah terpenting untuk sukses adalah memiliki dasar dasar pengetahuan di
bidang software engineering bukan karena pengetahuan tersebut benar
secara akademis tetapi pengetahuan tersebut akan mengurangi biaya dan waktu
pembuatan secara signifikan. Dengan demikian para pemula mampu mengenali
bagaimana pengetahuan tersebut mempengaruhi jadwal pembuatan, menaksir seberapa
besar resiko yang akan dihadapi dan memberi petunjuk untuk menggali lebih dalam
informasi yang dibutuhkan. Dasar pengelolaan yang baik menjadi langkah awal
untuk sukses karena secara keseluruhan punya pengaruh yang besar. Pada umumnya
untuk pengelolaan masih menggunakan pengendalian atas tiga faktor penting
yaitu: jadwal pembuatan, biaya yang diperlukan dan jenis produk yang akan
dihasilkan.
Mengingat banyaknya aspek yang harus
diperhatikan dalam pengembangan perangkat lunak, yang kemungkinan besar berbeda
dengan pengembangan produk lainnya, maka ada beberapa aspek yang perlu
diperhatikan.
Membuat perencanaan
Dilihat dari sisi eksternal,
seyogyanya pengembang perangkat lunak memiliki keterampilan dalam:
- membuat dan memulai perencanaan yang seksama, bukan berdasar emosi semata karena melihat peluang yang menggiurkan
- membuat dan menegosiasi kontrak yang bebas cacat dalam pendefinisian
- mampu melakukan pendefinisian masalah yang sebenarnya harus diselesaikan
- menambah pengalaman dengan berdiskusi dan mencari informasi dari berbagai sumber yang dapat dipercaya.
- mampu melakukan pengendalian perubahan yang efektif, mengingat banyaknya perubahan kebutuhan yang akan mempengaruhi mekanisme pengerjaan proyek
- menghindari tenggat waktu (deadline) yang tidak realistis mengingat banyaknya pelanggan yang mau cepat selesai tetapi biayanya murah.
Disisi internal, dalam melakukan
perencanaan untuk akan meliputi beberapa kegiatan yang juga harus dikuasai oleh
pengembang tsb, antara lain:
- mampu melakukan estimasi seberapa rumit perangkat lunak yang akan dibuat dan membuat penjadwalan yang komprehensif.
- mampu menentukan jumlah staf dan jenis keterampilan yang dibutuhkan, kapan harus menambah staf, siapakah staf tsb.
- mampu menentukan cara pengorganisasian yang efektif.
- mampu menentukan model daur hidup pengembangan perangkat lunak yang akan digunakan sehingga cocok dengan jenis perangkat lunak yang akan dibuat.
- mampu melihat, menemukan dan mengelola resiko yang akan dihadapi
- membuat keputusan strategis, misalnya apakah akan membeli perangkat lunak pembantu atau membuat sendiri?
Aspek Teknis
Kemampuan dalam menguasai secara
mendalam bahasa pemrograman yang akan dipakai adalah sesuatu yang tidak perlu
dibahas disini karena hal itu adalah suatu keharusan. Tidaklah mungkin
seseorang yang akan berwirausaha dalam bidang ini tidak menguasainya. Makin
dalam penguasaannya akan makin efisien program yang akan dibuatnya sehingga
mengurangi banyak error, response yang lambat, dsb. Selain
bermodal semangat yang membaca, modal yang cukup dan relasi bisnis yang luas
masih ada beberapa kemampuan dasar teknis lain yang perlu diketahui. Dasar
teknis lain yang perlu diketahui tersebut adalah:
- Menapak kemajuan proyek
Dalam menapak kemajuan proyek biasanya factor yang diperhatikan adalah target jadwal untuk setiap tahapan daur hidup pengembangan, biaya yang dialokasikan pada setiap komponen dari tiap tahap daur hidup dan kualitas setiap bagian perangkat lunak yang harus dicapai.
Kemampuan untuk menapak tidaklah terlepas dari kemampuan tim pengembang tersebut dalam memahami seluk beluk atau lika liku perangkat lunak yang akan dikerjakan. Perlu difahami bahwa bisnis di bidang ini adalah bisnis yang memerlukan pengetahuan rinci terhadap apa yang akan dikerjakan. Semakin rinci pengembang mengetahui apa yang akan dikerjakan semakin mudah pula untuk melakukan negosiasi dan meyakinkan pemberi pekerjaan atas biaya yang harus dikeluarkan.
Idealnya pengembang mampu melihat rinci semacam itu. Tetapi bagaimana kalau belum punya pengalaman? Disini diperlukan untuk belajar dan tanya kepada yang punya pengalaman, sepanjang yang punya pengalaman mau membuka diri. Juga memulai dari diri sendiri untuk melakukan pencatatan guna medapatkan ukuran metric dari apa yang sedang dan akan dikerjakan. Tentu saja, kedisiplinan dalam pencatatan itu akan membuahkan pengurangan resiko yang akan dipikul dalam pembuatan perangkat lunak di kemudian hari. Yang perlu dicatat juga termasuk masa;ah kualitas dan produktifitas staf yang mengerjakan. Selalu melakukan analisis terhadap data semacam ini akan membantu perencanaan yang akan dibuat. - Mengelola kebutuhan.
Adalah proses untuk mendapatkan kebutuhan utama perangkat lunak, mencatatnya untuk didokumentasikan, jenis antar muka yang dikehendaki, jenis prototip yang akan dipakai, jenis-jenis formulir, jenis rancangan dan pemrograman, dan yang tak kalah pentingnya mengelola perubahan kebutuhan. Tim pengembang perlu menugasi seseorang untuk mengadministrasikan tugas semacam ini. Diperlukan orang yang tekun dan dapat bekerja secara sistematis. - Analisis
Pada tim pengembang haruslah ada seseorang yang punya kemampuan yang cukup dalam menganalisis proses bisnis yang ada dalam perangkat lunak itu. Mengingat saat ini banyak sekali perangkat lunak yang sudah jadi ataupun hampir jadi yang dijual dipasar, maka untuk cepatnya tim pengembang dapat mempelajari proses bisnis ini dari perangkat lunak semacam itu. Dengan melakukan sedikit usaha dan kreativitas maka akan dapat ditemukan masalah dan solusi yang diperlukan. Tentu saja diperlukan pemilikan pengetahuan dasar yang memadai dalam proses bisnis tersebut. - Rancangan.
Adalah masuk akal untuk membuat arsitektur dan rancangan sebelum membangun perangkat lunak tersebut. Arsitektur data, proses bisnis, perangkat keras dan struktur organisasi yang akan menggunakan adalah bagian dari rancangan ini. Ingat, bahwa resiko atas biaya perbaikan atas kesalahan yang dilakukan di awal proyek yang masih berbentuk rancangan di atas kertas jauh lebih murah dibandingkan bila perangkat lunak tersebut sudah setengah atau malahan jadi sepenuhnya dan kemudian harus dilakukan perubahan. Sejauh pengamatan penulis, banyak pengembang pemula yang sedikit sekali melakukan tahap perencanaan secara cermat, analisis dan rancangan yang memadai.
Aspek Pengendalian Mutu.
Pengendalian mutu memberikan
kontribusi yang penting untuk mencapai kecepatan maksimum pengembangan.
Tempatkan staf yang punya kesabaran dan mental yang kuat untuk menangani tugas
ini. Salah satu aspek dalam pengendalian mutu adalah adanya error prone
modules, yaitu modul yang cenderung menanggung kesalahan yang tidak
proporsional. IBM menemukan bahwa 57% dari error ternyata terkumpul pada 7%
modul-modul yang ada.
Dengan melakukan pencatatan yang
sederhana maka akan jadi modal agar kesalahan dapat dikurangi
Praktek pengujian biasanya dengan menemukan error pada program yang dijalankan. Ada 2 jenis :
Praktek pengujian biasanya dengan menemukan error pada program yang dijalankan. Ada 2 jenis :
- Unit Test: pengembang menguji sendiri source program yang dibuatnya. bisa menemukan antara 10 s/d 50% cacat pada sebuah program.
- System Tests: penguji independen (staf lain) menguji apakah sistem telah berfungsi seperti yang diharapkan. Bisa menemukan 20 s/d 60% cacat.
Error lainnya akan ditemukan oleh teknik-teknik deteksi error
atau oleh pemakai setelah sistem tersebut dipakai produksi.
0 komentar:
Posting Komentar