Joel Test , ekibinizin ne kadar iyi olduğunu belirlemek için iyi bilinen bir testtir. Puanlar hakkında ne düşünüyorsun? Bunlardan herhangi birine katılmıyor musunuz? Ekleyeceğiniz bir şey var mı?
Jeff Atwood'un Programcının Haklar Bildirgesi vardır.
Gönderiden:
- Her programcının iki monitörü olacaktır
- Her programcının hızlı bir bilgisayarı olmalıdır
- Her programcı fare ve klavye seçimine sahip olmalıdır
- Her programcı rahat bir sandalyeye sahip olmalıdır
- Her programcının hızlı bir internet bağlantısı olacaktır
- Her programcının sessiz çalışma koşulları olmalıdır
Bu Joel'in listesinde görmek istiyorum bazı öğeler var gibi görünüyor. Özellikle donanım alanında (çift monitör, hızlı PC, fare/klavye, rahat koltuk, hızlı bağlantı).
Bahsetilmeyen tek şey rahat ve ayarlanabilir bir masaya sahip olmaktır .
Bunların tümü değiştirilerek eklenebilir:
Şu anki 9: Paranın satın alabileceği en iyi araçları kullanıyor musunuz?
için
Geliştirilmiş # 9: En iyi araçları kullanıyor musunuz ve ekipman para satın alabilir mi?
8. noktanın şimdi okuması ilginçtir:
8. Do programmers have quiet working conditions?
okurken (şuna benzer)
8. Do programmers have their own office?
ve son paragraf hala başlıyor:
Şimdi onları duvarları ve kapıları olan ayrı ofislere taşıyalım.
Hem çalışan hem de ziyaretçi olarak çalıştığım tüm yerlerde olduğu gibi bu testten her zaman şüpheliydim, sadece kendi ofisleri olan insanlar yönetmenler ve üst düzey yöneticiler.
Gerçek dünyada yazılım yazmak genellikle bir ekip etkinliğidir, etrafındaki fikirleri sektirmek için ekip arkadaşlarınızla konuşmanız gerekir ve bu, anlık mesajlaşma sistemleriyle bile ayrı ofislerdeki kişilerle daha zordur. Bir şeyler çizip insanlara kod ve diyagramları gösterebilmek çok yardımcı olur. Bu, dağıtılmış ekiplerin çalışamayacağı anlamına gelmez - açıkça yapabilirler ve yaparlar, bu sadece farklı bir dizi problemdir.
Söyleyeceğim şey, her takımın 6-8 kişilik kendi ofisinde olması gerektiğidir (takımın büyüklüğü olduğunu varsayarsak). Bu şekilde diğer ekipleri (varsa) rahatsız etmeden etkileşim kurabilir ve satış ekibi veya ziyaretçiler tarafından rahatsız edilmeden çalışmalarına devam edebilirler (çalıştığım bir yerde ön kapıdan doğrudan geliştirme alanına geldiniz).
Diğer geliştiricilerle çalışıyorsanız, ancak her biri ayrı projeler üzerinde çalışıyorsa, paylaşılan bir ofis can yararlı olabilir - ancak yalnızca toplantı odasına toplantı yapmak ve diğer kişilerin son tarihlerine saygı duymak konusunda sıkıysanız .
Diğerlerinin çoğu apaçık gerçeklerdir.
Beğendim ama bir şirketi değerlendirmek için kullanıyor olsaydım, tüm eşyaları eşit olarak tartamazdım. Kaynak kontrolüne sahip olmamak, paranın satın alabileceği en iyi araçları satın almamaktan çok daha büyük bir sorundur.
Benim için tek anlaşma:
8. Do programmers have quiet working conditions?
İlginçtir, Stack Overflow iş ilanları tarafından başarısız olma olasılığı en yüksek sorudur.
Özellikle şirkette birden fazla programcı varsa, bazı soruların başarısız olması zordur:
1. Do you use source control? 2. Can you make a build in one step? 4. Do you have a bug database?
Gerçekten umrumda değil diğerlerinin çoğu. Dürüst olmak gerekirse:
12. Do you do hallway usability testing?
Yalancıları tespit edecek biri var:
5. Do you fix bugs before writing new code?
Bunun iyi bir "temel" olduğunu söylemeliyim, ancak herhangi bir ölçüm aracıyla başka faktörler de var. Örneğin, çalıştığım tek bir şirket Daily Builds (biliyorum, biliyorum) yapamadı, ancak bazıları çok iyi oldu.
Şahsen bir listeye ekleyeceğim birkaç öğe daha var.
Bu öğeler daha önceki işverenlerden "beni kızdırdı" şey daha vardır ve şimdi onlar her fırsat hakkında sormak hızlı parça sorular.
Joel Testi bir takımın ne kadar iyi olduğunu test etmez. Ekibinizin Joel Testine ne kadar iyi uyduğunu test eder.
İşte ekibinizin ne kadar iyi olduğuna dair daha iyi bir test. Ben buna GrandmasterB testi diyorum. Bir sorusu var.
1) Yazdığınız yazılım iyi mi?
'Koridor testi' yapıp yapmadığınız veya hangi kaynak kontrolüne sahip olduğunuz veya inşa sürecinizin ne olduğu (eğer varsa - her dilin bunlarda olmaması) benim için önemsizdir. Bir ekibin gerçek ölçüsü, oluşturdukları yazılımın kalitesidir.
Temel olarak, Joel Testinin her adımını takip edebilir ve yine de hiç gönderilmeyen bok kodu ve ürünlerle sonuçlanabilirsin. Örneğin, kaynak kontrolü sihirli bir şekilde daha iyi bir kodlayıcı yapmaz; kodun yönetilmesini kolaylaştırır. Ve Visual Studio'nun en son sürümüne sahip olmak uygulamanızın Visual Studio 2005 ile yazılmış olduğundan daha iyi çalışacağı anlamına gelmez.
Her ne kadar genel anlamda mantıklı olduğunu düşünmeme rağmen, listeyi Fog Creek Yazılımı yapan ( shrinkwrap ) özel yazılım türünde merkezli buldum. Bu başka bir yayında da konuştuğundan, bu gerçekten şaşırtıcı değil, Beş Dünya. Ve bu dünyanın dışında birçok gelişme var.
Bir uydu veya otomat için, örneğin günlük yapılar (3) veya kullanılabilirlik testleri (12) gibi yerleşik yazılım geliştirirseniz, gerçekten mantıklı olmayan bazı koşullar vardır.
Joel'in puanlarının çoğuna katılıyorum. "Koridor kullanılabilirlik testi" konusunda pek emin değilim. Kullanılabilirlik testi, elbette, ama aslında birilerini koridordan alıp onların işi olmasa bile programınızı test etmesini sağlıyor? Bu insanları işaretlemenin harika bir yolu gibi görünüyor.