« Home | Pandangan Mengenai Platform Java dan .NET » | Platform - Which way 2 go? (Only 4 Techies) » | Nick Vujicic: When God Says No, He Says Yes for So... » | 10 Alasan Untuk Bangkit Ketika Kamu Gagal atau Dik... » | 21 Kualitas Pemimpin Sejati » | #21: Visi » | #20: Sikap Mau Diajar » | #19: Kepelayanan » | #18 : Disiplin Diri » | #17: Kemapanan »

Rangkuman Peopleware - Bagian 1

Peopleware
Peopleware – Productive Projects and Teams ditulis oleh Tom Demarco dan Timothy Lister, dua konsultan software veteran, pada tahun 1987 dan dicetak edisi keduanya pada 1999. Buku ini berisi banyak pelajaran berharga tentang membentuk sebuah tim, sebuah tempat, dan sebuah perusahaan yang produktif.

Saya merasa buku itu sangat bagus karena apa yang dituliskan di sana memang sering dialami oleh orang-orang yang bergerak di bidang pembuatan software. Buku ini terdiri dari 6 bagian dan memiliki 34 bab pendek yang mudah dibaca. Berikut ini adalah pelajaran-pelajaran yang bisa diambil dari buku tersebut.

Bagian 1: Manusia tidak seperti mesin sehingga tidak bisa dikelola seperti mengelola sebuah mesin

Kegagalan proyek pengembangan software tidak disebabkan oleh kurangnya penguasaan teknologi tetapi lebih pada masalah sosial, yaitu interaksi antara manusia-manusia yang terlibat di dalamnya.

Pengembangan software dan kegiatan produksi adalah hal yang sangat berbeda. Dalam kegiatan produksi orang yang terlibat di dalamnya bisa dengan mudah digantikan oleh orang lain. Dalam pengembangan software setiap orang memiliki peran unik yang tidak bisa digantikan. Bekerja dalam pengembangan software juga membutuhkan waktu yang cukup untuk berpikir, brainstorming, training, dan menemukan hal-hal baru. Jadi jangan hanya menghabiskan semua waktu yang ada untuk mengerjakan tugas-tugas.

Orang yang bekerja di bawah deadline yang ketat tidak bekerja lebih baik, mereka hanya bekerja lebih cepat. Jangan memaksa orang bekerja overtime. Ada saatnya orang itu akan merasa benar-benar tertekan dan meninggalkan perusahaan. Overtime itu seperti lari sprint pada marathon. Itu bisa berguna di saat-saat terakhir namun tidak berguna sama sekali jika dilakukan dari awal.
Turnover (keluar masuk karyawan) juga akan menimbulkan cost yang tinggi dalam perusahaan.

Kualitas adalah hal yang seringkali dikorbankan ketika kita menjumpai deadline yang terlalu pendek. Mengorbankan kualitas dari software berkaitan erat dengan mengorbankan rasa kebanggaan (self-esteem) dari pembuatnya. Hal ini akan membuat anggota tim pembuat software tersebut merasa tidak senang dengan apa yang dikerjakannya, dan pada akhirnya dapat menyebabkan dia meninggalkan perusahaan.

Ketika menentukan deadline suatu project, konsultasikan dengan orang-orang yang terlibat di dalamnya.

Fungsi seorang manajer bukan membuat seseorang bekerja tetapi membuat seseorang dapat melakukan pekerjaannya. Seorang manajer pengembangan software yang frustasi tentang produktivitas akan merasa ada solusi yang mudah untuk masalah ini. Mereka akan merasa hal-hal berikut ini benar:

  • Teknologi berjalan dengan sangat cepat sehingga kita mulai tertinggal
    Respons: Teknologi memang berjalan cepat, tetapi dalam bisnis pengembangan software kita akan banyak menghabiskan waktu untuk mengerjakan analisa dan spesifikasi. Produktivitas dalam pembuatan software yang berkaitan dengan teknologi tidak berkembang terlalu cepat.

  • Berganti bahasa pemrograman akan meningkatkan produktivitas.
    Respons : Bahasa pemrograman penting karena dapat mempengaruhi cara kita berpikir, namun bahasa pemrograman hanya berpengaruh pada tahap implementasi (coding). Pengembangan software melibatkan banyak pihak dan banyak tahap: ada tahap analisa, negosiasi, spesifikasi, coding, testing, training, user test, dll.

  • Tim anda akan bekerja lebih baik bila berada dalam tekanan
    Respons: Mereka tidak bekerja lebih baik – anda hanya akan membuatnya tidak senang.