Mengapa masih banyak startup TI yang mencari superman?

Beberapa hari yang lalu, saya sempat berdiskusi dengan teman-teman penggiat startup di Yogyakarta, dan satu startup dari Surabaya. Mereka berkumpul dan berdiskusi masalah progress pekerjaan developer-nya yang terkesan lambat, tidak sesuai target waktu yang ditetapkan si pemilik startup.

Lantas, di mana letak kesalahannya?

Keterlambatan deliverable progress pekerjaan dari developer, bukannya hanya mutlak kesalahan si developer itu sendiri, ada beberapa faktor keterlambatan sebuah proyek, di antaranya kurangnya komunikasi antar personil, keterbatasan resource (SDM), dan kehabisan budget. Berikut ini sedikit cerita pengalaman saya di beberapa startup TI

Saya beberapa kali menjadi “penasehat” a.k.a konsultan TI dalam hal resource di beberapa startup. Dan ini ada kasus yang menurut saya menarik diambil hikmahnya, karena ini jadi kasus yang sering terjadi.

Bulan februari 2018 lalu, saya diminta mengevaluasi sebuah startup yang bermasalah dengan programmernya. Sebenernya saya sudah sering diminta jadi konsultan, dari beberapa kasus startup, ya rata-rata semua masalahnya di resource-nya. Bahkan November 2017 ada startup yang targetnya ketat, sementara si developer-nya tunggal fullstack, ya saya bilang ke si empunya Startup, “sebaiknya si developer tunggal ini naik jabatan aja jadi Manajer TI atau Lead Developer-nya, terus rekrut 2 developer junior yang melanjutkan pekerjaanSaya rasa gak mahal, apalagi based-nya di Jogja. Daripada dipaksa seseorang buat selesaikan semua fitur ini dalam waktu singkat, hasilnya gak bagus. Proyek yang dipaksa pada timeline yg tidak wajar dan memangkas tahapan proses jelas mengorbankan kualitas. Daripada aplikasinya buggy, toh nanti repot di akhir”

Ok, lanjut ke cerita saya untuk artikel ini.

Jadi ini startup sudah berkembang, tapi ada masalah di sistemnya yang kurang termanajemen dengan baik. Saya lihat si startup ini malah dapat pendanaan dari beberapa investor. Sayangnya, dana tersebut bukan dimanfaatkan untuk meningkatkan kualitas TI-nya, yang merupakan salah satu komponen penting untuk penunjang sekaligus percepatan core bisnis si startup ini, melainkan si startup memakai dananya untuk ekspansi ke daerah-daerah lain, padahal sistemnya belum sanggup. Begitu dipakai “kok lelet…, kok sistemnya bermasalah”. Dan akhirnya, saya melakukan observasi selama seminggu, saya ajak ngobrol pemilik startup, dari ngobrol ini-itu, saya jadi tau masalahnya di mana.. akhirnya, ada beberapa pertanyaan yang saya ajukan ke pemilik startup ini.

“mas, biasanya me-manage para developer gimana? pakai tools apa atau cuma chat biasa?” | “saya biasanya chat di Whatsapp, mas. Saya tanyain developer saya: progressnya ​halaman report bisa diselesaikan kapan? dia jawab: seminggu lagi, mas. Tapi ya saya tagih seminggu kemudian malah belum jadi, masih ada bug katanya” | “owh, jadi selama ini memantau pekerjaan developer dari Whatsapp aja, mas?” | “kalau misal masnya nanya kerjaan yang dikerjakan tahun lalu, terus pengen dikembangkan lagi gimana… apa nanya lagi terakhir sampe mana?” | “ya biasa, mas..saya tanyain “terakhir fitur tsb sampe mana ya? siapa yang ngerjain?” | “naah, gak ribet tuh misal developernya lagi kerjain fitur yang sekarang, harus tiba2 cek sourcecode yang lama yang ia kerjakan tahun lalu.. karena saya tau, untuk refresh ingatan soal kerjaan tahun lalu, apalagi tidak ada catatannya, ya repot, harus cari-cari dulu” | “owh, iya ya, kayaknya harus dicatat” | “saran saya, chat ya monggo, mas. Tapi jangan lupa ditulis di tools untuk organisir pekerjaan. Banyak contohnya, yang gratis sih ada trello, atau yang berbayar macem basecamp, jira, atau bitbucket” | “owh iya, mas, dulu saya juga pernah dapet saran dari teman disuruh pake trello..saya belum paham maksudnya” | “iya, kalau masnya cuma mengandalkan chat, nanya developer progress dah sampai mana, itu bisa saja developernya ngeles/alasan aja.. sementara buktinya tidak terlihat, kalau bisa ya dicontrol.. jadi pakai source control management, macem github, bitbucket ataupun gitlab. Dari situ kita bisa lihat progress si developer per hari bagaimana, apa saja perubahannya, walaupun masnya gak gitu paham TI, tapi setidaknya bisa dilihat. Dan juga atur waktunya dari tools organisir/manajemen proyek macem trello, jira ataupun basecamp. Saran saya sih untuk startup pakai trello aja dulu, jadi masnya bikin tiket pekerjaannya, tentukan deadlinenya di situ, nanti si developer tinggal melaporkan pekerjaannya dari situ juga, beserta url pekerjaannya dan apa saja yang dikerjakan, dibikin poin-poinnya. Dengan begitu, ketika ada developer yang melanjutkan, misal masnya rekrut developer baru, karena yang lama sudah resign, ya gak panik, tinggal si developer lama lengkapi dokumentasinya di trello tersebut, kalau ada yang kurang, terus ntar developer baru, tinggal baca-baca apa yang sudah dikembangkan, dan mana saja yang masih to-do-list, baik pekerjaan baru ataupun perbaikan error/bugs/masalah” | “wah, sarannya boleh juga, mas, iya tuh, saya denger ada startup yang ditinggalkan developernya, malah bisnisnya jadi tertunda sementara” | “iya, mas, kebanyakan fatalnya di situ. Jadi, biasakan mengontrol pekerjaannya dengan baik. Kalau dirasa masnya sibuk karena mesti ngurus bisnisnya, ya masnya rekrut orang lagi buat jadi CTO ataupun jadi Manajer TI Produk masnya ini. Biar dia yang bermain, mengelola proyek pekerjaan di startup ini” | “siap, mas, requirement manajernya seperti apa ya mas?” | “simpel aja, mas, gak perlu rumit-rumit, yang penting punya pengalaman membuat perencanaan, mampu mengelola, mengatur, dan mengevaluasi pekerjaan-pekerjaan TI di produk masnya ini. Nanti dia yang kontrol kerjaan developer, lebih bagus lagi paham project management dan agile methodology

Kemudian saya meminta izin ke si pemilik startup-startup agar saya bisa berdiskusi dengan teman-teman developer yang bekerja di sana.

Dan akhirnya saya berdiskusi sekaligus bertanya, pertanyaan saya pertama adalah.. “masnya sudah berapa lama di sini?”, dijawab “sudah, setahun, mas Widy”.

kemudian saya lanjut nanya “sendirian mas? apa ada temen yang bantu?” | “kalau saya sendiri mas yang garap backend, tapi kalau aplikasi mobile, saya sama 1 temen lagi yang bantu” | “owh, masnya full stack developer ya?” | “iya, mas” | “mas, saya ini kan diminta mas X (si pemilik startup) buat evaluasi produk yang mas kembangkan.. saya boleh minta tolong gak, dibikin list apa saja pekerjaan to-do-list dari produk ini, dari yang sedang masnya kerjakan sampai yang masih bermasalah yang jadi PR masnya” | “siap, mas..saya buatkan ya” |”iya, simple aja, kasih tau nama fitur>sub fiturnya saja.. gak perlu dikasih deskripsi, biar gk ribet”

Dan didapatlah list-nya dari developer tersebut. Saya akhirnya bertemu lagi dengan si pemilik startup: “mas, ini saya sudah ngobrol dengan developer X. Saya pengen tau, mas.. masnya kasih target ke developer sampai kapan?” | “ya kalo bisa akhir februari ini, mas. Soalnya Maret saya mesti ke Dubai, mau pitching di sana” | “ok, mas.. jadi gini, saya sudah cek fitur-fitur yang di aplikasi maupun yang di backend, dan saya lihat memang banyak sekali masalah/bugs dan kurangnya, apalagi masnya pengen ada report gitu kan..biar tau berapa income per bulan dan laporan keluhan pengguna. Dan ada masalah lain juga, mas, saya lihat desainnya tidak sesuai pattern OS Android dan iOS, mas. Mas, coba buka aplikasi Facebook di Android, ini saya sambil kasih liat yang di iOS, ada bedanya gak?” | “iya, mas, ada bedanya..kok gitu ya?” | “iya, UX (User eXperience) untuk masing-masing OS, baik Android dan iOS itu berbeda..jadi kalau user Android dicobain pake desain layout yang mirip iOS mungkin agak kurang terbiasa” | “tapi ini saya sudah dapat desainer, mas. Desainnya bagus, dia anak magang di sini” | “owh, boleh kasih liat desainnya, mas?” | “ini, mas” (sambil nunjukin kertas berlembar-lembar…ternyata desainnya diprint) | “ok, mas, ini sudah mendingan, cuma harus ada beberapa hal yang dikoreksi. Tapi yang terpenting adalah, ini kalau dilihat dari to-do-list si programmer dengan deadline waktu 2 bulan yang masnya tetapkan, saya sih beranggapan ini tidak akan berjalan sebagaimana mestinya. Problem yang ini (sambil saya nunjukin halaman yang buggy) lumayan juga effort-nya, kalau dia sendirian yang garap, sepertinya akan memakan waktu lama, karena kalau saya lihat existing code dengan yang akan dibuat itu seperti buat baru. Apalagi desain yang diminta untuk perubahan lumayan berbeda, mas. Saran saya, bergegas si developer sekarang biar dia fokus ke bugs fixing, karena dia yang paham existing code. Dan masnya rekrut 2 orang lagi untuk fitur-fitur tambahan yang ditargetkan februari ini, ya jangan dibuat ketat, masnya buat sedikit kelonggaran agar mereka bisa memulai mengelola pekerjaannya masing-masing, apalagi misal nanti datang developer baru, biar mereka bisa berbaur dulu sebagai tim, ya paling masuk akal menurut saya, akhir maret bisa selesai dengan semua list ini. Dan sambil jalan, masnya coba hire manajer yang memahami manajemen proyek TI dan juga seluk-beluk produk ini. Soalnya kan saya tau masnya basic-nya ekonomi, kemarin saya tanya masnya kalau nanya progress ke developer gimana..ya kayak gitu kurang control, mas” | “siap, mas, sarannya bagus, bisa saya coba, nanti saya tanya-tanya lagi ya mas” | “monggo, mas. Santai saja. Semoga berhasil ya”

Dari cerita di atas, hikmah yang dapat dipetik adalah… Mungkin sudah pernah dengar istilah:

9 Women Can’t Make a Baby in a Month

Ya, dimaklumi memang, kebanyakan startup butuh percepatan movement mereka agar bisnisnya dapat segera “menghasilkan”, namun sayangnya memangkas budget untuk resource agar dapat dialihkan ke marketing, dan lain-lain. Kebanyakan kekeliruan startup lokal di sini adalah, mereka belum paham, bahwa 1 orang tidak bisa begitu saja memiliki kemampuan superman, yang mampu menyelesaikan semua pekerjaan TI. Si developer disuruh desain sistemnya, desain databasenya, desain antarmuka penggunanya, terus dilanjut coding mengembangkan backend dan aplikasi frontend-nya, terus dia juga harus bisa benerin bugs dan menanggapi keluhan-keluhan pengguna. Wah, yang seperti ini superman atau mungkin sudah gila. Apalagi bayarannya tidak seberapa, dan ujung-ujungnya si developer jatuh sakit dan tidak betah.

Sama juga misalkan startup Anda banyak uang, kemudian uang tersebut dipakai untuk marketing besar-besaran, melontarkan lebih banyak uang untuk mempercepat adopsi pasar, ya ujung-ujungnya mubadzir. Ya seperti ungkapan di atas, 9 wanita tidak dapat melahirkan dalam waktu 1 bulan.

Standar yang tepat itu adalah “well-organized” dan “well educated“, mesti cerdas dalam mengelola produk anda, berapa besar biaya yang dipakai untuk SDM, berapa besar biaya yang dipakai untuk support, marketing, desain, dll..semua diatur di business plan yang semestinya sudah dibuat sebelum startup dijalankan. Well educated maksudnya, punya pengetahuan terkait startup ini, bagaimana motor penggerak bisnisnya, bagaimana infrastruktur yang dipakai dan SDMnya. Jangan sampai biaya habis di infrastruktur sistemnya, eh ternyata tidak dipakai secara maksimal. Jangan sampai sudah keluar banyak biaya buat marketing, pas pengguna tertarik buat nyoba produknya, eh ternyata produknya gak siap meng-handle banyak pengguna.

Saran saya, ya buat business plan yang matang, bila budget terbatas, mulailah kembangkan dari PoC atau Prototype-nya dulu, kemudian pitching ke investor, buat dapat pendanaan, siapa tau idenya menarik bagi investor. Kalau berani ambil resiko (tentunya punya manajemen resiko yang baik), coba mulai bagi tahapan pengembangan produknya dalam beberapa tahap, jangan semua sekaligus langsung jadi dalam waktu yang ketat. Tetapi dibagi, misal: kembangkan backend+API (web service) dan aplikasi Androidnya saja dulu, jika ada dana lagi, lanjut ke iOS, terus rekrut masing-masing personil sesuai keahliannya, biar mereka fokus dengan pekerjaannya.

Sebagai contoh, idealnya untuk startup kecil, ya bisa dimulai dengan: 1 developer backend, 1 developer frontend (mobile apps: Android/iOS), ini rekrut dengan sistem gaji per bulan (ntah kontrak dalam waktu tertentu, misal satu tahun ataupun permanen), dan cari freelancer desainer UI (antarmuka pengguna) yang direkrut dalam waktu 1-3 bulan untuk menggarap desainnya. Atau kalau mau lebih bagus lagi, ya dibuat lebih spesifik: 2 orang infrastructure dan network engineer, 1 orang manager, 1 orang database designer, 1 orang system designer, 1 orang UI designer, 2 orang backend+API developer, dan 2 orang frontend developer (web admin dan mobile apps).

Tahapannya biasanya, ketika infrastruktur sudah siap (server/hosting, database, dan setup beberapa kebutuhan lainnya sudah berstatus installed untuk lingkungan development), ya backend developer mempersiapkan dan memulai pemrograman backend system dan API-nya, dalam waktu bersamaan…si desainer kerja dalam waktu 1-3 bulan itu men-desain halaman dari halaman login, sampai halaman utama, nah, ketika halaman login sudah jadi, dan dirasa sudah bagus, tinggal si developer frontend yang garap login, dan seterusnya bertahap, (dengan asumsi API Login juga sudah dikerjakan oleh developer backend), jadi pekerjaannya berjalan paralel dan tidak saling tunggu. Dan yang terpenting, kelola pekerjaan mereka dengan tools manajemen proyek yang saya sebutkan di atas (misal: trello/jira), ajarkan mereka agar terbiasa melaporkan pekerjaan di tools online manajemen proyek tersebut. Dengan begitu, masing-masing personil bisa saling cek pekerjaan anggota tim yang lain, sambil menunggu pekerjaan si backend developer selesai, ya developer frontend bisa mulai dari memrogram tampilan halamannya dulu, dan seterusnya. Dan, yang paling utama, yang sering luput dari pelaku startup adalah komunikasi antar anggota tim, biasakan melakukan daily atau weekly call/conferences jika sedang berjauhan, atau daily/weekly meeting jika sedang dalam satu ruangan, atau ya sekedar makan siang atau hangouts bareng biar gak terlalu “tegang” suasana, dan tentunya biar refresh juga. Komunikasi yang baik adalah salah satu kunci penting keberhasilan proyek/startup. Jangan sampai, pemilik startup sibuk uruan ini itu, cuma bisa chat Whatsapp doang, sementara developernya bergerak sendiri, seperti kasus di atas.

Dan sambil pengembangan berlangsung, coba observasi pasar, bagaimana reaksi pengguna dan calon pengguna ketika anda perkenalkan produk anda tersebut, minta masukkan dari mereka jika diperlukan, karena inilah yang disebut “product / market fit”, soal kecocokan pasar, sehingga anda yakin dengan target pengguna anda.

Dan pesan saya terakhir pada artikel ini sebagaimana hadis Nabi Shallallahu alaihi wassalam: “Berikan kepada seorang pekerja upahnya sebelum keringatnya kering.” (HR. Ibnu Majah, shahih).

Sekian sekelumit peristiwa yang semoga bisa bermanfaat bagi pembaca 🙂

Terima kasih.

Referensi terkait tools online manajemen proyek:

 

Advertisements

Mendapatkan klien proyek lokal sebanyak mungkin

Coba nulis berdasarkan pengalaman di lapangan.
Mendapatkan klien lokal di proyek itu bukan “pufff…simsalabim” tiba-tiba datang proyek.

Tetapi membangun kepercayaan yang dijalin secara terus menerus.

“Lu ngapain sih wid, aktif FB terus… apa aja diurusin…”

Dulu sehabis lulus kuliah S1, saya bekerja di perusahaan vendor TI di Jakarta. Dan tugas saya slalu datang ke tempat klien-klien si vendor, karena saya sbg sr. maintenance developer .NET (dengan CMS dotnutnuke). Datang sendirian, dan kenal berbagai orang bank-bank di Indonesia. Tapi dari situ jadi kenal pribadi dan jadi teman. Lepas dari situ kembali ke Jogja, klien-klien tsb saya jadikan teman di Facebook.
Saya sering komentar status klien-klien saya di facebook, hanya sekedar tegur sapa..dan membangun kepercayaan. Bukan mengharapkan biar segera dapat proyek, dengan membangun relasi, seseorang sudah memperluas silaturahim. Toh siapa tau kita yang butuh bantuan, atau mereka yang butuh bantuan kita.

Ok, buatlah personal branding di jejaring kalau kita ini memang bisa ngoding, biasa bermain proyek dan bisa membangun sistem ataupun aplikasi.

“Eh, tapi banyak loh yang ketipu pencitraan, keliatan di jejaring pinter, eh pas ketemu langsung, ternyata mengecewakan”

Nah itu, jangan coba-coba memakai topeng kepalsuan.

Ok, sambil merutinkan tsb, coba berkunjung ke grup-grup FB seputar programming ataupun seputar proyek. Mesti ada tawaran. Naaaaah, dari situ mulai inisialisasi diri ke dalam proyek lokal.

Lakuin seserius mungkin. Ok, udah? teliti juga ya, pilih klien yang bener-bener bisa diajak kerjasama. Soalnya ada beberapa tipikal klien yang “agak gak masuk akal”. Kalo dah deal..lakukan sebaik mungkin, dari sinilah bangun lebih dalam kepercayaan tsb. Yakinkan bahwa “saya bisa bekerjasama dengan baik dengan anda”
Bangun komunikasi aktif dengan klien. Contohnya?
Ya laporin kerjaan jangan nunggu ditagih, tapi aktif memberi berkala, misal tiap hari di sore hari atau tiap minggu. Jangan sekedar bilang “pak, halaman ini sudah saya buat” <- ini gak informatif.
Tapi bilang yang kayak gini “pak, saya sudah bikin halaman ini, di halaman ini bapak bisa lihat sudah ada form a, b, c..” sambil nunjukin bukti. “bapak, bisa akses di halaman web ini, dengan username dan password abc, xyz”
Kalimat komunikatif ini salah satu bentuk keprofesionalan kita. Di email ataupun di aplikasi chatting.

Ok, kalo kerjaan tuntas, mintalah “referral” dari klien, bisa berupa rekomendasi di linkedin atau sekedar testimoni di halaman web/jejaring pribadi, atau sekedar mention di statusnya si klien. Kok minta? soalnya kalo nunggu, bisa jadi klien sibuk atau lupa.

Kalau sudah, coba bangun relasi dengan perusahaan startup atau software house lokal di daerahmu, siapa tau nanti kita direkrut buat kerja proyek bareng software house. Atau bisa jadi karena ada “bendera”, bisa dapet kerjaan proyek pemerintah. Sekedar buat pengalaman, seru loh.

Dari situ, tinggal rutinkan saja..sudah cukup untuk bisa mendatangkan proyek-proyek lokal 🙂

Dan jangan jadi “kacang lupa kulitnya”, kalo sudah dapat klien, begitu selesai proyek, jangan putus komunikasi, bangunlah terus komunikasi itu, walaupun sudah tidak ada perlu.

Disclaimer: tulisan ini tidak ada maksud menggurui, justru saya masih harus banyak belajar, dan justru ada banyak yang lebih sukses dalam hal proyekan. Tapi sebisa mungkin tak share biar ilmu ini bermanfaat.

Dari pengalaman, dengan membangun kepercayaan, saya bisa mendapatkan klien sampai ke Sumatera-Utara dan Balikpapan, saya kerja dari Jogja, dan bahkan tanpa pernah ketemuan langsung? loh …kok bisa? iya, karena saling percaya. Tapi ada juga yang minta ketemuan pas tandatangan kontrak kerja/MoU, penyerahan sourcecode dan dokumentasi pas di Jakarta dan Bandung, dan semua ditanggung klien.

Bacaan menarik:
https://clientflow.io/blog/33-ways-to-get-more-clients/
http://www.thedigitalprojectmanager.com/project-red-flags-…/

Seputar Manajemen Proyek TI (bag.2)

Alhamdulillah, bisa nge-blog lagi. Kali ini saya mencoba melanjutkan tulisan sebelumnya di bagian pertama.
Jika di bagian sebelumnya, saya membahas Q & A seputar ManPro TI. Kini saya mencoba menjelaskan hal yang paling mendasar dari Manajemen Proyek IT itu sendiri.

Apa sih Manajemen Proyek? Kita mengetahui manajemen ya melakukan dan mengatur (doing and control), namun bagaimana dengan proyek? apa hal yang bisa dikatakan itu sebagai proyek? adakah kunci atau point-point utama dalam proyek itu sendiri?

Proyek TI sendiri memiliki ciri-ciri utama yaitu : direncanakan, memiliki batasan (biaya dan waktu), tujuan atau target (goal), tindakan (implementasi dan control), bersifat sementara (dalam satu garis waktu; timeline. Kalo seumur hidup, itu bukan proyek namanya :p ), ada aktornya (pihak eksekutif, client/sponsor, vendor/tenaga pelaksana yang terangkum dalam deliveriable), dan yang terakhir mengandung kata “business”.

Manajemen Proyek ini dipimpin oleh seorang Manager, yang tentunya sudah tentu memiliki skill manajemen yang bagus dan memiliki jam terbang yang tinggi di dalam dunia perproyekan. Lantas apakah bisa seseorang yang baru bergabung dalam ManPro bisa menjadi manager? bisa iya, bisa tidak. Jika, ia memiliki karakter pemimpin, mampu mangatur setiap tindakan yang ada dalam proyek, termasuk bertindak cepat tentunya. Bisa dijadikan sebagai manajer (namun masih junior), dan itu perlu didampingi oleh yang senior.

Managers do things right, leaders do the right thing

Pengelolaan proyek TI harus seimbang antara Scope (Lingkup Pekerjaan), Cost (biaya), Resource (sumber daya) dan Time (Waktu). Dan peran pengelolaan dipegang oleh seorang Manajer Proyek TI tersebut.

Adapun goal yang harus dicapai oleh pihak vendor, terutama oleh si Manajer adalah mampu memenuhi kebutuhan dan memuaskan pihak client. Bentuk kepuasan itu terletak pada :

      • Scope atau Lingkup Pekerjaan. Apakah proyek yang sudah dikerjakan sesuai dengan cakupan yang diminta pihak client? Jangan sampai kurang, jangan sampai lebih, diusahakan pada tingkat yang pas. Jika kekurangan, tentu akan mengganggu kestabilan software yang dibangun, ntah itu fiturnya tidak lengkap, atau kurang bagusnya code/design, dan sebagainya. Atau kelebihan? misal : konsumen meminta kepada tukang jahit untuk dibuatkan celana dengan bahan yang sudah ditentukan, kemudian tukang jahit melihat bahannya masih banyak sisa, kemudian bahan sisa tersebut ditambahkan ke celana yang sudah jadi dengan motif bunga-bunga misalnya. Kan jadi gak sesuai scope 😛 Ya, dalam industri TI juga demikian, ketika pihak vendor meminta dibuatkan web untuk perusahaannya, harus pas sesuai yang diminta (requirement), jangan dilebihkan dengan hal-hal yang tidak perlu. Di awal, client akan bercerita (user stories) apa dan kapan yang ia butuhkan, dan apa yang tersedia dan yang perlu disediakan. Inilah yang menjadi kunci awal untuk menjadi milestone yang dipegang pihak vendor TI, tentang apa saja yang dikerjakan pada tahap execution project tersebut.

Tahapan project itu biasanya : opening Project>brainstorming (kick-off meetings bahas concept; user stories) > planning > execution > control > closing Project.

      • Time atau waktu. Bila disiplin dengan metode pengembangan software yang sudah ditentukan, biasanya bisa ontime. Namun, terkadang luput dari sasaran yang sudah ditentukan. Bisa banyak sebab, bisa jadi karena Resource-nya yang kurang. Ntah itu infrastruktur yang disediakan yang kurang memadai untuk digunakan, atau SDMnya yang kurang banyak atau terlalu banyak sehingga komunikasinya terhambat, atau karena kehabisan/tersendaknya biaya yang dikeluarkan oleh pihak client. Ada baiknya diperhatikan betul waktu yang dibutuhkan untuk mencapai setiap cakupan (scope) tersebut. Baiknya ya dari pengalaman. “eh, dulu kita ngedevelop fitur x berapa lama y?” | “oh waktu itu 2 minggu, pak” | “ok, bisa kita coba 17 hari, kita lebihkan 3 hari untuk mencegah hal-hal yang tidak diinginkan”.
        Namun, dilihat juga berapa panjang timeline yang diberikan client, berapa banyak fitur yang dikerjakan dan berapa SDM yang tersedia.
      • Cost atau biaya. Dalam menentukan biaya, ada banyak faktor yang perlu diperhatikan. Saya tidak akan menjelaskan secara detail, namun setiap menentukan biaya itu ada peran “pengalaman” atau “jam terbang” atau “portofolio” yang bermain di sini. Semakin tinggi, harga yang ditawarkan semakin tinggi pula. Tentunya, dengan tinggi pengalaman, teknologi dan metode yang dipakai tentu sudah baik, tepat dan berkualitas. Dan tentunya, pihak client juga sudah “jatuh hati” pada pandangan pertama setelah mengetahui portofolio yang telah dikerjakan. Selain itu, berapa banyak deliveriables dan personil yang menjadi aktor di dalamnya menentukan besaran biaya yang dibutuhkan untuk investasi tersebut. Setiap posisi dalam aktor yang mengerjakan memiliki harga yang berbeda. Dan itu sudah disepakati melalui kontrak kerja. Ada yang menentukannya melalui work unit. Misal : harga per work unit : Rp 100.000 untuk seorang programmer. Si Programmer bekerja selama 5 hari dengan 8 jam kerja. Berarti work unitnya : 5 * 8 = 40 work unit. Kemudian menentukan harga si programmer dengan : 40 work unit * Rp 100.000 = Rp 4.000.000,-
      • Quality atau Kualitas. Banyak yang beranggapan, kualitas ini tidak termasuk dalam bentuk kepuasan dari client tersebut. (ya tergantung, kalo proyek atas dasar kepentingan pihak tertentu, yang penting asal jadi aja…biasanya kualitas itu malah hilang :p) Semakin baiknya kualitas, tentu lifetime dari software tersebut bisa berlangsung sangat lama. Dan tentunya, pihak client menjadi “terpesona” dengan apa yang sudah dibuat, dan meningkatkan rate biaya juga 😀 Tetapi, kualitas bukan hal yang sederhana, untuk membuat software yang berkualitas, dibutuhkan jam terbang yang tinggi, mengikuti trend teknologi dan cakap dalam hal merancang, membangun dan memelihara software itu sendiri.

RBT = Resource, Budget, Time => “on time, on budget, to the specifications”

Portofolio menunjukan jati diri kita, apa yang sudah dikerjakan. Dan ini lebih ke arah strategic business ke client.

Agar sukses mencapai tujuan tersebut, ada beberapa hal yang diperhatikan, yaitu :

  • Tools yang dimanfaatkan harus tepat, tools di sini meliputi tools untuk manajemen proyeknya tersebut. Kalau biasa dengan produk Microsoft, mungkin bisa mencoba Ms. Project, atau dengan produk opensource seperti Redmine. Adapula tools yang lain, seperti CASE (Computer Aided Software Engineering) tools : Enterpisce Architect, Rational Rose, Power Designer, dll.
  • Selain itu, perlu digunakan metode formal dalam manajemen proyek TI. Tiap perusahaan menggunakan metode atau pendekatan berbeda dalam melaksanakan aktivitas proyek TI. Itu tergantung pada kenyamanan mereka bekerja dan jam terbang masing-masing. Namun, ada baiknya disesuaikan dengan kondisi proyek tersebut, ntah itu kondisi personilnya, biayanya, timelinenya dan apa yang akan dibuat.
    Metode Software Development yang banyak digunakan adalah metode Agile. Ada yang menggunakan XP (eXtreme Programming), Scrum. Selain Agile juga ada yang masih memanfaatkan metode classic, matematis ataupun waterfall (eh, waterfall bukannya biasa dipake anak-anak kuliah? 😛 )
  • Peran pimpinan proyek (project manager) dalam mengatur dan mengelola proyek itu sendiri sehingga prosesnya berjalan dengan baik (tiap proses menghasilkan sesuai target). Mampu berkomunikasi dengan baik dengan personil, menumbuhkan kesan dan pengalaman berarti untuk soft-skill tiap personil dan tentunya mampu menjalin hubungan bisnis yang baik dengan client maupun personil. 
  • Pengukuran kesehatan project sedini mungkin. Bentuk pengukuran ini dapat diperhatikan dengan tingkat kepuasan client untuk setiap progress proyek itu sendiri, apa yang sudah dikerjakan, bagaimana hasilnya, bagaimana waktunya, tepat waktu dan benarkah? Bagaimana dananya? apakah menipis? biasanya bila dana menipis, ya kesehatan project terganggu, dan mempengaruhi aspek lain juga (time dan resource).

“Project dikendalikan oleh strategi, dapat dilakukan bagaimana setiap project dapat fit dengan strategy business, menghilangkan yang tidak dibutuhkan sesegera mungkin. Dan sedapat mungkin menggandeng stakeholders. Mengabaikan stakeholders sama saja membuat project gagal.” -Robert Butrick

Sumber : dari berbagai sumber, pengalaman di lapangan dan dari perkuliahan 🙂

Seputar Manajemen Proyek (bag.1)

Q : Jika misal klien kita sebuah perusahaan, nah masalah tarifnya gimana? Tarifnya menyesuaikan besarnya company gak? Misal perusahaannya itu perusahaan baru dan yang lagi berkembang skala nasional, kan income mereka juga beda gitu. Gimana mas?

A : masalah tarif proyek TI itu ada beberapa pertimbangan :

  • Ketersediaan infrastruktur untuk lingkungan implementasi.
  • banyaknya personil yang terlibat dalam pengembangan sistemnya + beban job descnya (manajerial & staff teknis & staf pendukung).
  • milestone pekerjaan systemnya (apa saja yang dikerjakan dan berapa lama waktunya (timelineny).. nah ini ada penjelasannya lagi).
  • Teknologi yang dipakai.

Dan itupun tidak menyesuaikan besarnya perusahaan kok.

Q : oh, brarti menentukan harga memang tahapnya banyak juga ya…hehe…oh, trus klo kliennya personal/individu gimana, mas? Kan tarifnya mesti beda sama klien company ya?

A : Banyak.. dan semuanya tertulis. Jadi pihak vendor dan pihak client jelas. Tetapi terkadang juga sulit diterapkan hal tersebut, apalagi dari clientnya yg “kotor”, itu yg gawat, biasanya mereka memang mengadakan apa gitu (tender), buat menghabiskan anggaran belanja saja, tanpa keperluan dan tujuan yang jelas, akhirnya useless. Hehehe..tetapi tidak semua begitu. Hanya sedikit. Dan kalau bisa ya mending dihindari. 😀
Kalau clientnya personil, liat skala pengerjaannya juga, apakah besar atau kecil? Jika kecil, tidak serumit seperti yang dijelaskan di atas.

Biasanya meliputi hal berikut :

  1. biaya hosting, domain, dll (adakah?)
  2. Milestone pekerjaan perangkat lunaknya
  3. Teknologi yang dipakai, biasanya semakin baru maka semakin bagus
  4. Tidak dikenai pajak, karena ratenya rendah 😀

Walau personil/pribadi atau proyek bersama, keduanya mesti ada kontrak tertulis, dan jangan lupa, kasih aturan, terutama menghindari client yang hobi telat bayar, kalo telat = denda. Haha 😀

modelnya ada 3 loh :

  1. Tender (jadi si client sudah punya harga, sudah menentukan jumlah personil yang harus disediakan)
  2. Dari permintaan (permintaan client ke kita, via pribadi atau via vendor)
  3. Dari penawaran (kita yang menawarkan diri ke client)

nah, untuk no.1 ada tata urutannya. Biasanya sebagai berikut :

  1. Opening project (meeting internal) dgn client, rapat, dengerin user stories – ini siapin analyst dan team dokumentasi (buat nyatet+dokumentasiin) dan PM.
  2. Breakdown keperluan app yg mau dibuat.
  3. Dokumentasi dibuat secara rapi sesuai format, terus diperiksa oleh client apakah sudah benar dan sesuai belum.
  4. Kalo no.3 sudah, tinggal system architecture (db+server), system analyst yg kerja.
  5. Kerjaan si no.4 dikasih ke pimpinan developer (lead programmer atau supervisor) dan dijelaskan jg ke designer UInya.
  6. Rapat lagi ke programmer, jelasin job descnya, negosiasi harga, blablabla..ini agak panjang jg.
  7. Masuk masa implementasi.
  8. PM control pekerjaan beserta analyst bantu ngarahin biar kerjaan programmer terarah.
  9. Closing project, dokumentasi akhir, dll.

Q : Oya satu lagi, cuma pengen tau pembagian gaji tiap orang. Misal : utk proyek diatas PM dapet berapa trus analyst berapa, programmer, dst…itu juga masih kurang tau aku 🙂

A : Lebih detailnya malah bisa berlembar-lembar hahaha. Intinya masih sama dengan yang diajarkan di RPL, walau sebenernya ada beberapa yg “basi” sudah ditinggalkan, kayak model “waterfall” dan masalah user testing.

  • PM tanggung jawab 100% kegiatan
  • Analysis itu component pekerjaannya 20% dari seluruh kegiatan,
  • Dokumentasi+testing itu 20% juga dari seluruh kegiatan
  • Programmingnya 60% dari seluruh kegiatan (makanya kerjaan programmer itu banyak daripada analyst LOL)

Tapi kenapa dari setiap personil, bobot pekerjaan sedikit, namun gajinya lebih besar? Ya, sebagai contoh Analyst terhadap Programmer, terlihat karena tanggungjawab, tingkat pemahaman serta tingkat stressnya lebih tinggi daripada programmer 😀

Nah, masalah hitung menghitung masing-masing personil+job desc-nya. Tergantung kesepakatan dan kebijakan si PM (project manager) dan si pemilik vendor dan bagian keuangannya. Ada beberapa perusahaan, yang mewajibkan setiap investasi harga proyek dari client itu 25%-nya masuk ke kas perusahaan. Jadi misal, kalo 25% dari harga proyek itu sudah PASTI masuk kas perusahaan, maka yg didapet personil adalah 75% dari harga proyek. Kenapa? demi kemajuan perusahaanlah 😀 dan juga penggajian karyawannya. Nah, harga personilnya di-breakdown lagi.

Ini personilnya ada yang outsourcing atau dari pegawai sendiri? 😀 Sayangnya kalo pegawai sendiri itu hitungannya gaji.. jadi agak sedikit rugi, namun untungnya pas tutup buku akhir tahun biasanya.

Sedangkan outsourcing, itu dibagi lagi, apanya? dia posisinya apa? analyst, bisa dapet sekitar 15%-20% dari harga proyek, kalo programmer (total loh..jadi kalo ada 6 ya dibagi 6 aja) itu sekitar 30%-40%. Tapi masing-masing punya kebijakan berbeda-beda.

Q : Ada tips-tipsnya gak mas mengenai proyek agar aplikasi yang kita kembangkan mendekati keinginan user?

A :

tipsnya :
punya “koneksi” + “komunikasi” yang bagus, mas 🙂 Dan dengan koneksi dan komunikasi yang bagus, tentunya kita dapat memahami bagian “user stories” dengan baik, mulai dari bagian manajerial sampai ke teknisnya. Semua itu kita bagi menjadi bagian kerangka acuan kerja, timeline, wireframe kemudian milestone dan kemudian kita bagi lagi menjadi lebih spesifik menjadi tasks yang akan dikerjakan oleh programmer.

Untuk masalah koneksi, sedia link di mana-mana, bahkan di luar kota sekalipun, artinya mas wajib punya relasi dan partner yang bener-bener se-visi. Agak susah memang, itu dari pengalaman soalnya. Kalau sudah bagus koneksinya, biasanya akan dapat rekomendasi dari mana-mana : “eh, dia itu bagus loh..buat ngerjain ini, coba contact dia” dan “blablabla..” spt itu 🙂

Apalagi urusan SDM, karena koneksi yang kita maksud di sini adalah ketersediaan SDM, jika salah pilih, gk akan maksimal hasilnya.

Masalah investasi, ada tolak ukur sendiri-sendiri c..jadi tepat jg mengukur apa saja beban personil dan berapa besar biayanya.

Jangan jg “membodohi” personil, apalagi urusan investasi ini.

Mengenai masalah teknologi yg dipakai, hmm..kebanyakan pakai framework c mas, lebih enak buat pelebaran dan bongkar pasang, kalopun pake CMS juga bisa. 🙂

Nah urusan timeline (waktu), ada banyak hal yg harus diperhatikan dan sepakati bersama dengan si Client.
Jangan sampai salah satunya melanggar atau mengulur waktu, dan konsistensi ini perlu ada perjanjian di atas kertas.

Dan bagi temen-temen yang butuh template dokumen business plan, kerangka acuan kerja, dan lain-lain untuk startup ataupun proyek, bisa mampir ke link : <a href=”http://www.businessinsider.com/document-center”>ini</a&gt; 😀