Jawaban:
Jeff Atwood memiliki Bill of Rights Programmer .
Dari pos:
- Setiap programmer harus memiliki dua monitor
- Setiap programmer harus memiliki PC yang cepat
- Setiap programmer akan memiliki pilihan mouse dan keyboard mereka
- Setiap programmer harus memiliki kursi yang nyaman
- Setiap programmer harus memiliki koneksi internet yang cepat
- Setiap programmer harus memiliki kondisi kerja yang tenang
Ini sepertinya memiliki beberapa item yang ingin saya lihat di daftar Joel. Khususnya di bidang perangkat keras (monitor ganda, PC cepat, mouse / keyboard, kursi nyaman, koneksi cepat).
Satu-satunya hal yang tidak disebutkan adalah memiliki nyaman dan disesuaikan meja .
Ini semua dapat ditambahkan dengan mengubah:
Saat ini # 9: Apakah Anda menggunakan alat terbaik yang dapat dibeli dengan uang?
untuk
Peningkatan # 9: Apakah Anda menggunakan alat dan peralatan terbaik yang dapat dibeli dengan uang?
Sangat menarik bahwa poin 8 sekarang berbunyi:
8. Do programmers have quiet working conditions?
ketika digunakan untuk membaca (sesuatu seperti)
8. Do programmers have their own office?
dan paragraf terakhir masih dimulai:
Sekarang mari kita pindahkan mereka ke kantor terpisah dengan dinding dan pintu.
Saya selalu curiga dengan tes ini karena di semua tempat saya bekerja - baik sebagai karyawan dan pengunjung - satu-satunya orang dengan kantor mereka sendiri adalah direktur dan manajer senior.
Menulis perangkat lunak di dunia nyata biasanya merupakan kegiatan tim, Anda perlu berbicara dengan rekan satu tim Anda untuk memantulkan ide, dll. Dan itu lebih sulit dilakukan dengan orang-orang di kantor yang terpisah bahkan dengan sistem pesan instan. Mampu menggambar sesuatu dan menunjukkan kode dan diagram kepada orang-orang sangat membantu. Ini bukan untuk mengatakan bahwa tim yang didistribusikan tidak dapat bekerja - mereka jelas dapat dan melakukannya, itu hanya serangkaian masalah yang berbeda.
Apa yang akan saya katakan adalah bahwa masing-masing tim perlu berada di kantornya sendiri yang terdiri dari 6-8 orang (dengan asumsi itu ukuran tim). Dengan begitu mereka dapat berinteraksi tanpa mengganggu tim lain (jika ada) dan melanjutkan pekerjaan mereka tanpa diganggu oleh tim penjualan atau pengunjung (di satu tempat saya bekerja Anda datang melalui pintu depan langsung ke area pengembangan).
Jika Anda bekerja dengan pengembang lain, tetapi masing-masing bekerja pada proyek yang terpisah, maka kantor bersama dapat bermanfaat - tetapi hanya jika Anda ketat tentang membawa rapat ke ruang rapat dan menghormati tenggat waktu orang lain, dll.
Sebagian besar yang lain adalah kebenaran yang terbukti dengan sendirinya.
Satu-satunya pemecah kesepakatan bagi saya adalah:
8. Do programmers have quiet working conditions?
Yang menarik adalah pertanyaan yang paling mungkin gagal oleh postingan pekerjaan Stack Overflow.
Beberapa pertanyaan sulit untuk gagal, terutama jika ada lebih dari satu programmer di perusahaan:
1. Do you use source control?
2. Can you make a build in one step?
4. Do you have a bug database?
Sebagian besar yang lain tidak begitu saya pedulikan. Maksud saya, jujur:
12. Do you do hallway usability testing?
Ada satu untuk mendeteksi pembohong:
5. Do you fix bugs before writing new code?
Saya harus mengatakan bahwa ini adalah "dasar" yang bagus, tetapi dengan alat ukur apa pun ada faktor-faktor lain. Misalnya, tidak ada satu pun perusahaan tempat saya bekerja telah melakukan Pembuatan Harian (saya tahu, saya tahu), tetapi beberapa di antaranya sangat bagus.
Saya pribadi memiliki beberapa item lain yang akan saya tambahkan ke daftar.
Lebih dari segalanya, barang-barang ini telah "membuat saya kesal" dari para majikan sebelumnya, dan sekarang mereka adalah pertanyaan-pertanyaan cepat yang saya tanyakan tentang setiap peluang.
Saya setuju dengan sebagian besar poin Joel. Saya tidak begitu yakin tentang "pengujian kegunaan lorong". Pengujian kegunaan, tentu, tetapi benar-benar menarik seseorang dari lorong dan membuat mereka menguji program Anda, meskipun itu bukan pekerjaan mereka? Itu sepertinya cara yang bagus untuk menandai orang.
Tes Joel tidak menguji seberapa bagus tim. Ini menguji seberapa baik tim Anda mematuhi Tes Joel.
Inilah tes yang lebih baik tentang seberapa baik tim Anda. Saya menyebutnya tes GrandmasterB. Ada satu pertanyaan.
1) Apakah perangkat lunak yang Anda tulis baik?
Bagi saya tidak relevan apakah Anda 'lorong tes' atau tidak, atau apa kontrol sumber yang Anda miliki, atau apa proses pembangunan Anda (jika ada satu - tidak setiap lanugage memilikinya). Ukuran sebenarnya dari tim adalah kualitas perangkat lunak yang mereka buat.
Pada dasarnya, Anda dapat mengikuti setiap langkah Joel Test, dan tetap berakhir dengan kode sampah dan produk yang tidak pernah dikirimkan. Misalnya, kontrol sumber tidak secara ajaib menjadikannya sebagai pembuat kode yang lebih baik; itu membuat kode lebih mudah dikelola. Dan memiliki Visual Studio versi terbaru tidak berarti aplikasi Anda akan bekerja lebih baik daripada jika ditulis dengan Visual Studio 2005 .
Meskipun saya pikir itu masuk akal baik dalam pengertian umum, saya menemukan daftar itu cukup terpusat pada jenis perangkat lunak tertentu yang dilakukan oleh Fog Creek Software ( shrinkwrap ). Itu tidak terlalu mengejutkan, karena ia juga membicarakan hal itu di postingan lain, Five Worlds . Dan ada banyak perkembangan di luar dunia itu.
Ada beberapa kondisi yang benar-benar tidak masuk akal jika Anda mengembangkan misalnya perangkat lunak tertanam untuk satelit atau mesin penjual otomatis, seperti build harian (3) atau pengujian kegunaan (12).