Seni membaca error log di logcat (DDMS) Android

Ketika saya coba bekerjasama dengan 1 developer Android yang sudah punya produk di PlayStore kemudian komunikasi kami menjadi sedikit missmatch karena ternyata saya baru ngeh kalau developer yang mengajak kerjasama meningkatkan fitur produknya, belum paham membaca error log dan log cat. Dan sering saya dapati komunikasi kami via e-mail dan google docs menjadi tidak harmonis (halah) ketika mengisi waktu kerja proyekan apps android di luar kerjaan kantor, di PKH, Jakarta.

Dan begitu juga pas ngisi workshop, peserta masih bingung membaca error log yang tampil di DDMS yang ter-attached di Eclipse IDE.
Alhasil tempo hari menyisihkan waktu satu jam-an tentang seni membaca error ataupun force close aplikasi dan menemukan bugs dengan cara debugging, error handling ataupun dengan membaca error log.

Mengenai seni trace dan membaca log, perhatikanlah artikel singkat di stackoverflow ini

Mengenai seni dalam mengetahui force close secara langsung dari aplikasi, dapat mencoba cara ini.

Mengenai seni error handling dalam java, bisa baca artikel iniΒ dan khusus Android ada di sini.

Kalau mengecek error di tool DDMS bawaan android SDK/Tools, perlu diketahui, ketika aplikasi berjalan, log yang nampil itu bukan hanya error, jangan dikira kalau ada pesan di log berarti error.
teks warna hijau : seputar tips dan informasi,
teks warna biru : bagian yang diselect, biasanya diisi to-do-list oleh developer,
teks warna orange : ini sebagai peringatan, bisa jadi potensi masalah (namun saat ini belum jadi masalah)
Dan..
teks merah : ini error, dan harus dianalisa masalahnya biar tidak menimbulkan gangguan di aplikasi.

Dan ketika nampak teks warna merah di logcat, sebagai contoh :
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): Error updating to newly loaded content.
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): java.lang.NullPointerException
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): at com.wd.radiodakwahislam.controller.StreamingMediaPlayer.transferBufferToMediaPlayer(StreamingMediaPlayer.java:285)

Di atas, terlihat bahwa ada tulisan : “…(StreamingMediaPlayer.java:285)
artinya, error tersebut terjadi di baris 285 pada class StreamingMediaPlayer.java. So, fokuslah ke class tersebut, dan lihat pada baris 285 terdapat kekeliruan atau tidak (lihat dari editor Eclipse-nya).

Nah, kalau bingung, di awal teks merah tersebut di logcat, copy teks-nya (dengan pilih teks error-nya di logcat, terus tekan ctrl+c), dan buang tanggal dan nama class-nya sehingga yang ter-copy hanya teks error saja : error updating to newly loaded content.
Copy dan paste ke google searchΒ di internet browser di PC (bila perlu ditambahkan keyword : Android di akhirnya), terus enter dan lihat di result google, biasanya result 3 besar berisi link stackoverflow, klik salah satunya dan cari apa penyebabnya dari jawaban-jawaban yang ada di stackoverflow.

Pas awal kerja di PKH secara remote, saya langsung ngomong ke team via basecamp, agar coba menerapkan sebuah rules dalam melaporkan bugs dan error dari aplikasi yang dikembangkan kepada teman-teman team yang developer web dan UI designer.

Rules itu berisi :

  • Ketika melaporkan bugs, harap sertakan device apa yang dipakai dan versi OS android-nya.
  • Bila terdapat bugs/masalah UI tolong sertakan screenshotnya, bila masalah fungsional tolong sertakan logcatnya (dengan mengunduh tools berikut) /** saya sertakan link download zipnya yang berisi tool DDMS dan Android SDK beserta doc singkat cara pakainya **/
  • Sebaikny pakai filtering ketika menjalankan logcat di DDMS, jangan semua proses dicantumkan di logcat, demi memudahkan menelusuri masalahnya
  • DDMS bisa filter logcat aplikasi saja, jadi tidak semua log dari proses di device tercatat, caranya dengan masukan nama project di bagian kolom filter. Nama project sesuai yang saya cantumkan ketika saya upload progress (nama project dapat dilihat di file manifest.xml)
  • Kenapa penting bagi developer untuk tahu itu? Supaya gampang mengetahui errornya
    Jangan dikira ketika aplikasi jalan di device developer maka digeneralisir kalau aplikasi tersebut jalan di device SEMUA users. Bahkan yang terjadi di kantor tempat saya kerja, error itu justru sangat kemungkinan besar terjadi mengingat para teman-teman memakai device Android berbagai merek dan ukuran layar dan versi OS.
    Makanya ada conditional yang diterapkan dicode : IF(SDK version < 10) pake codingan A, IF(SDK version > 14) pake codingan B, dll.
  • Oleh karena itu, penting adanya public testing sebelum melepas ke GooglePlay.
    Dan media yang bagus untuk melakukan public testing gratis ya jejaring sosial facebook dll.
  • Beda ukuran layar beda lagi UInya, makanya ketika saya bekerjasama dengan designer UI ada beberapa rules yang harus dipatuhi bersama agar bisa diterapkan di layout dan mencakup ukuran layar low, mid, high, (ponsel dr ukuran kecil sampe besar) extra (tablet 7″ atau HD) dan double extra (tablet 10″ atau yg full HD). Untuk guidelines buat para designer UI Android, bisa patuhi prinsip-prinsip designnya di siniΒ dan lengkapnya ada di sini untuk setiap bagian design-nya.

Sekian dan terima kasih πŸ˜€

Advertisements

Pentingkah melanjutkan kuliah di TI?

Bagi temen-temen yang dari SMA sudah kuat di dunia komputer, dan tertarik untuk menggali lebih dalam ilmu di dunia komputer, kemudian bertemu di kondisi “resah” apakah memang penting kuliah di bidang teknologi informasi atau cukup belajar otodidak saja terus ambil kuliah jurusan lain? khawatir nanti kuliah TI malah sia-sia saja, mending saya ambil kursus daripada buang duit untuk kuliah TI.

pemikiran seperti itu wajar terjadi, mengingat, belajar komputer juga sekarang cukup mudah, ditambah pola pikir anak SMA belum begitu matang.

Hanya dengan bermodal buku bacaan, dibeli dari toko buku, kemudian dibaca dan dipraktekan di depan komputer. Dalam periode waktu kurang dari 6 bulan sudah bisa mahir menguasai satu ilmu TI, ntah hacking, ntah programming, ntah jaringan, ntah sistem operasi. Dan bahkan dari situ mereka bisa menghasilkan uang dan bekerja di perusahaan-perusahaan besar.

Ada diskusi menarik yg sy dapat di perkuliahan S2 antara dosen dan mahasiswa mungkin bisa memberi gambaran mengapa kuliah TI itu penting
(* diskusi ini saya tidak ingat 100% isi percakapannya, namun saya masih bisa tangkap apa yang didiskusikan. Diskusi ini juga didapat dari 2 peristiwa. Init dosen : TBA dan EN. Mohon maaf bila tidak ingat sepenuhnya πŸ˜€ memory terbatas hehe )

dosen : *sambil nunjuk* masnya ambil S2 alasannya apa?”
mhs1 : “buat belajar TI lebih dalam, pak!”
dosen : “kalau boleh tau, ilmu apa yang anda dapat lebih dalam di S2?”
mhs1 : “sampai saat ini saya belajar lebih dalam dari berbagai studi kasus yang diberikan dosen, pak”
dosen : “apa yang bisa anda dapatkan dari situ?”
mhs1 : *terdiam sejenak* “penyelesaian masalah dan mencari solusi efektif dan efisien, pak”
dosen : “bukan itu, atau….” *sambil nunjuk yg lain* “…ya coba masnya yg dipojok itu, mengapa alasan ambil S2?”
mhs2 : “sy setelah lulus S1, jd programmer, pak, ingin mendalami lebih dalam soal programming dan software development, pak”
dosen : “jadi, anda ingin mendalami dunia software developmentnya ya mas? cukup bagus goal-nya. Tapi apakah anda bisa menjamin bahasa pemrograman yang anda kuasai itu masih ada 10 tahun yang akan datang? tidak bisa kan?”

kemudian…. dosenpun bercerita yang isinya kira-kira begini :

“saya akan bercerita soal kejadian saya menanyakan hal ini ke mahasiswa saya di akhir mereka kuliah, di awal saya bertanya ini juga, begitu mereka selesai bimbingan thesis dengan saya, saya tanyakan lagi.
saya bertanya ke mahasiswa : “apa yang sudah anda dapatkan dari S2 ini, mas?”
mahasiswa : “banyak sekali, pak. Saya bisa lebih mendalami masalah TI dalam lingkup yang lebih pasti dan terarah. Karena dunia TI begitu luas, jika kita mampu memosisikan diri kita di dunia kerja dengan pasti, tentunya karir kita akan lebih baik. Satu hal yang saya dapat dari pelajaran yang bapak beri..bahwa memang benar, pak. Di S2 ini, pola pikir saya lebih kuat, lebih terorganisir sebagai seorang profesional TI

Yang membedakan kita, S1, S2, D3, STM di dunia TI.. adalah “pola pikir” atau mindset.

Saya quote salah satu note dari seorang dosen (LEN) :
“kalau anda seorang programmer yang terbiasa bekerja pada level implementasi dan suatu saat harus belajar tentang matematika diskret, bersiaplah untuk meninggalkan mindset operasional untuk berpindah ke mindset dengan tingkat abstraksi yang lebih tinggi. Memikirkan topik-topik semacam logika, teori himpunan, dsb. pada level programming jelas tidak akan efektif.”

Dan itu jadi salah satu alasan, mengapa di S1 kita tidak belajar programming melulu, malah sampai ada teman-teman yang bertanya : “saya bingung kita belajar S1 ini hasilnya dapet apa? saya juga programming gak jago, dunia kerja ntar bingung mau jadi apa…lowongan banyak yang programmer dan staff TI, tapi tetep butuh skill programming dan RPL”

Dunia TI begitu luas, tidak hanya programming, tidak hanya software development, jaringan komputer, dan lain-lain. Kalau kita melihat lebih luas, di mana teknologi yang berkembang saat ini, seperti di smartphone, di traffic light yang bisa merekam plat nomor kendaraan yang melanggar lalu lintas, kemudian teknologi yang sekarang sudah diterapkan di restoran-restoran dan surat kabar dengan QRCode, mengambil keputusan di dunia bisnis, dan lain-lain. Itu juga hasil dari dunia TI. Ada Computer Vision, Soft-Computing, Data Mining, Pervasive-computing, dan lain-lain.

Dan dari perkuliahan itulah mereka dapatkan ilmu di bidang TI secara sistemik dan utuh. Kurikulum yang didapat juga jelas, dan diakhir semester kita diarahkan di mana kita harus memilih lagi, bidang/cluster/minat studi apa yang kita tekuni dan sukai dari dunia TI tersebut.
Dari situ juga mahasiswa berkembang, belajar dari umum ke spesifik. Namun hal tersebut, tidak hanya di dapat dari dalam lingkungan kuliah saja, tetapi dari luar kuliah juga. Di mana masalah di luar lingkungan kuliah tentu lebih beragam. Dan tentunya, mahasiswa dituntut untuk memiliki kemandirian dalam menuntut ilmu.

Mari kita lihat kasus nyata baru-baru ini, di mana seorang (yang mengaku) hacker yang berakun anon_indonesia, berdebat panjang lebar dengan para twitter lain, dia mengaku kalau level tertinggi dari hacking adalah deface. Konon katanya seorang bolang πŸ˜€
Sudah bisa menangkap apa yang membedakan dengan kita yang sudah kuliah TI? πŸ˜€
Ya, yang dia tau ya level hacking cuma deface website saja, yang bisa dengan mudah mengandalkan google, mencari file dengan nama dan atau extensi tertentu, misal aspx, php, dll. Kemudian ia coba masuki dengan beberapa cara, sehingga bisa meng-upload file-file lain dari local komputernya, kemudian file index.html/index.php, dll direplace seakan-akan dibajak?!:P πŸ˜€
Padahal jelas yang seperti itu bagi anak jarkom, tentu dianggap mainan anak sekolahan. Dan tentunya tindakan itu bukan main-main, karena memang merupakan salah satu hal kriminal.
Ketika ditanyain istilah-istilah jaringan, ah, jangankan jaringan, istilah kecil seperti back-end, sysadmin, dan sejenisnya, orang seperti itu belum tentu mengetahuinya.
Lantas dari mana bisa mengetahui seperti itu? πŸ˜€ tidak dari buku, tidak juga dari belajar otodidak, tapi dari perkuliahan, di mana…seperti yang saya tulis di atas tadi : “Di perkuliahan, mahasiswa dibiasakan untuk berpikir secara sistemik dan utuh tentang TI”

Ada contoh lain :
Seorang yang tidak kuliah TI, dia mahir programming Visual Basic 6 dengan otodidak, kemudian VB6 tidak laku lagi, programming baru datang, .NET. Dia bisa mengikuti perkembangan hal tersebut dengan belajar otodidak lagi, tapi begitu .NET berakhir, tentu ia mau tidak mau dituntut untuk belajar yang baru lagi, namun hal tersebut akan berakhir di situ-situ saja. Dan begitu mendapatkan persoalan yang baru, ia akan kebingungan.

Ada seorang STM yang mahir TI, dia sudah menduduki jabatan yang bagus di salah satu perusahaan telekomunikasi asing, kemudian dihadapkan dengan massive problem, dari hal infrastruktur TI, jaringan, sistem yang sudah tertanam dan sistem yang akan dikembangkan. Menuntut dia harus belajar lebih giat lagi. Namun, dia menjadi kesulitan : “aku harus mulai belajar dari mana dulu? nanti aku mesti ngapain?” karena tidak tau arah dan belajarnyapun tidak berurut. Membuatnya menjadi tersesat.
Alhasil, posisi dia tidak naik ke level berikutnya, dan masih di posisi sebelumnya. Dan pada akhirnya, membuat keputusannya berubah : “sepertinya saya harus mengambil kuliah S1 TI, biar lebih paham lagi”

Tiap jenjang strata, mindset yang terbentukpun berbeda levelnya. Dan perlu diketahui, di S2 TI, ilmu-ilmu S1 TI masih bertemu lagi. Hanya saja, kerangka persoalan di S2 itu lebih ke level abstrak yang biasa dihadapi oleh mereka yang bekerja pada posisi manajerial, bukan hal teknis atau operasional lagi. Mahasiswa dituntut mampu menyelesaikan persoalan dengan solusi yang efektif (tepat sasaran) dan efisien (tepat guna).

Dan dari beberapa hal di atas sudah bisa disimpulkan bahwa kuliah TI bukanlah hal sia-sia.
Dengan kuliah TI :

  1. kita mampu berperan aktif sebagai profesional TI yang memiliki pola pikir terarah dan sistematik.
  2. atmosfer lingkungan kampus sangat mendukung bagi kita untuk belajar lebih giat lagi tentang TI, di situ juga ada kelompok/forum diskus/belajar bersama, dan juga organisasi kemahasiswaaan. yang tentu menambah tantangan dan pengalaman. Selain itu, dengan kelompok tersebut mahasiswa dituntut untuk bisa untuk bisa bekerjasama.
  3. kita dibimbing oleh dosen yang tentu ahli dalam bidangnya.
  4. kesempatan untuk dipandang oleh orang lain di dunia kerja juga akan tinggi. Bahkan oleh lingkungan sekitar, orang yang berpendidikan sarjana akan dianggap ahli dan pintar oleh lingkungan. Tentu membanggakan orangtuanya.
  5. membentuk pribadi yang memiliki passion, percaya diri, kesabaran dan soft-skill yang tinggi di bidang TI, dengan visi dan misi yang jelas untuk masa depannya.
  6. mungkin ada yang mau menambahkan lagi? πŸ˜€

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 πŸ™‚