Joel Testi hakkında ne düşünüyorsun? [kapalı]


51

Joel Testi ekibiniz ne kadar iyi belirlemek için iyi bilinen bir testtir. Noktalar hakkında ne düşünüyorsun? Bunlardan hiçbirine katılmıyor musunuz? Ekleyeceğin bir şey var mı?

Yanıtlar:


41

Jeff Atwood, Programcının Haklar Bildirgesine sahiptir .

Gönderiden:

  1. Her programcının iki monitörü olacaktır.
  2. Her programcının hızlı bir bilgisayarı olacak
  3. Her programcının fare ve klavye tercihleri ​​olacaktır.
  4. Her programcının rahat bir sandalyesi olacaktır
  5. Her programcının hızlı bir internet bağlantısı olacaktır.
  6. Her programcının sessiz çalışma koşulları olmalı

Bunun Joel'in listesinde görmek istediğim bazı şeyleri var. Özellikle donanım alanında (çift monitör, hızlı PC, fare / klavye, rahat koltuk, hızlı bağlantı).

Bahsedilmeyen tek şey rahat ve ayarlanabilir bir masaya sahip olmaktır .

Tüm bunlar değiştirerek eklenebilir:

Cari 9: Paranın satın alabileceği en iyi araçları kullanıyor musunuz?

için

Geliştirilmiş # 9: Paranın satın alabileceği en iyi araç ve gereçleri kullanıyor musunuz ?


Joel sınavındaki # 6 aynı değil mi?
HerbN

Bu Jeff Atwood'un 6 numaralı numarası ve evet, öyle.
41'de spong

Joel Testi programcılar temiz geliştirmeye yardımcı olmaya daha spesifik gibi görünüyor, 8. dışında çalışma koşulları aksine böcek özgür yazılım
Archmede

13

Şimdi, 8. noktanın okuduğu ilginç:

8. Do programmers have quiet working conditions?

Ne zaman okursa

8. Do programmers have their own office?

ve son paragraf hala başlıyor:

Şimdi onları duvar ve kapıları olan ayrı ofislere taşıyalım.

Hem çalışan hem de ziyaretçi olarak çalıştığım her yerde olduğu gibi bu sınavdan hep şüphelenmiştim, kendi ofisleri olan tek insanlar yöneticiler ve üst düzey yöneticilerdir.

Gerçek dünyadaki yazılımları yazmak genellikle bir takım etkinliğidir, fikirleri tersine çevirmek için takım arkadaşlarınızla konuşmanız gerekir ve bu, anlık mesajlaşma sistemlerinde bile ayrı ofislerde insanlarla yapılması daha zordur. Bir şeyler çizip insan kodunu ve şemalarını gösterebilmek çok yardımcı oluyor. Bu, dağıtılmış ekiplerin çalışamayacağı anlamına gelmiyor - açık bir şekilde yapabilecekler ve yapacaklar, bu sadece farklı bir sorun kümesi.

Söyleyeceğim şey, her ekibin 6-8 kişilik bir ofisinde olması gerektiği (takımın büyüklüğü olduğu varsayılarak). Bu şekilde (eğer varsa) diğer ekipleri rahatsız etmeden etkileşime girebilir ve satış ekibi veya ziyaretçiler tarafından rahatsız edilmeden işlerine devam edebilirler (çalıştığım yerde ön kapıdan doğrudan geliştirme alanına girdiniz).

Diğer geliştiricilerle çalışıyorsanız, ancak her biri ayrı projeler üzerinde çalışıyorsa, paylaşılan bir ofis yararlı olabilir - ancak yalnızca toplantı odasına toplantılar yapma ve diğer kişilerin son teslim tarihlerine saygı duyma vb.

Diğerlerinin çoğu kendini kanıtlayan gerçeklerdir.


9
Takım arkadaşlarının fikirlerini zıplatma problemi, sözlü olarak sormanın büyük bir dikkat dağıtıcı olmasıdır. Bazı ciddi işbirliği yapmanız gerekiyorsa, bir işbirliği alanında çalışın. Fakat “hey bunu nasıl yaparsın” soruları için IM ile daha iyi durumdasınız.
Matt Olenik

@Matt - Haklı olduğunuz küçük şeyler için, ancak ofis alanı her zaman azdır - hiçbir şirket boş ofislere para harcamak istemez - bu yüzden ekipleri kendi alanlarına yerleştirmek yardımcı olur. Ofisi bir "işbirliği alanına" dönüştürebilirsiniz.
ChrisF

2
Aynı odadaki sekiz kişiyi asla kastetemezsin, değil mi? Bir odayı diğer üç programcıyla paylaşarak (her biri kendi işleri üzerinde çalışan, biri tamamen ilgili olmayan bir proje üzerinde çalışan, diğeri arka plan / veritabanı çalışanı olarak) paylaşmaya çok kızgınım. Eminim ki odayı yedi erkekle paylaşırsam postalanırdım.
Baelnorn

1
@ChrisF: belki de sorun budur. Aynı odada oturmuş dördümüzün, birbirleriyle bir ilgisi yok, akıllıca programlama yapıyorlar. Aynı odada oturan 2 1/2 projede çalışan 4 kişi daha. Ve şimdi toplantı odasının hemen koridorda olmasına rağmen, masanızın hemen yanında başka bir programcı ile yarım saat süren tartışmalar yapmayı kesinlikle umursamayan bir patron ekleyin . >. <
Baelnorn

1
@ChrisF - "Gerçek dünyada yazılım yazmak bir takım etkinliğidir, etrafta fikir alışverişinde bulunmak için takım arkadaşlarınızla konuşmanız gerekir ve bu da ayrı ofislerdeki insanlarla çok daha zordur." - Peki, geliştirme ekipleri farklı yerlere yayılmış nasıl çalışıyor? ABD'den veya Brezilya'dan veya Hindistan'dan - IM ve Adobe Connect - insanlarla yakın işbirliği içinde bulundum . Seninki çok yıkıcı bir ortam. Takımlar halinde çalışmak verimli bir şekilde yapılabilir, ancak sizin reçete ettiğiniz şey başka bir şey değil (fikriniz 70'lerin şelalesinden
doğar

10

Hoşuma gidiyor ama bir şirketi değerlendirmek için kullanıyor olsaydım, bütün eşyaları eşit olarak tartmazdım. Kaynak kontrolünün olmaması çok daha büyük bir problemdir, o zaman paranın satın alabileceği en iyi araçları satın almamak.


9

Benim için tek fırsat kırıcı:

 8. Do programmers have quiet working conditions?

İlginç bir şekilde, Stack Overflow iş ilanıyla başarısız olmanız muhtemeldir.

Özellikle şirkette birden fazla programcı varsa, bazı soruların başarısız olması zor:

 1. Do you use source control?
 2. Can you make a build in one step?
 4. Do you have a bug database?

Diğerlerinin çoğu umrumda değil. Dürüst olmak gerekirse,

12. Do you do hallway usability testing?

Yalancıları tespit etmek için bir tane var:

 5. Do you fix bugs before writing new code?

20
Bir adımda kaç şirketin bir yapı kuramayacağına ve bir hata veritabanına sahip olmadığına şaşıracaksınız. Kaynak kontrolü konusunda muhtemelen haklısınız, ancak birçok şirketin kodlarını yedeklemek için basitçe kullandığını ve kaynak kontrolünün yararlarının yüzeyini çizmediğini savunuyorum.
Rob Sobers 17:10

1
Şu anki işime başladığımda bir kaynak kontrol sistemimiz vardı, ancak bir adamın makinesinde inşalar yapıldı ve sadece tüm adımları biliyordu ve hatalar kağıt üzerinde izleniyordu. Bunların hepsi şimdi "sabittir", fakat bunları asla kabul edilmez.
HappyCat

6

Bunun iyi bir "temel" olduğunu söylemeliyim, ancak herhangi bir ölçme aracıyla başka faktörler de var. Mesela, çalıştığım tek bir şirket değil, Günlük İnşaları (biliyorum, biliyorum) yapmadı, ancak bazıları çok iyi.

Şahsen bir listeye ekleyeceğim birkaç eşya daha var.

  1. Konferanslara katılarak, kitap satın alarak veya bu tür bir şeyle geliştirici eğitimini destekliyor musunuz?
  2. İş fonksiyonlarını tamamlamak için gerekirse yeni araçları benimsemek için basit ve belgelenmiş bir süreciniz var mı?
  3. Geliştiricilere ekipman ve üretken olmalarını sağlayacak bir ortam sağlıyor musunuz?

Her şeyden öte, bu eşyalar önceki işverenlerden "beni kızdırdı" ve şimdi onlar şimdi her fırsat hakkında sorduğum soruları hızla takip ediyorlar.


1
3 zaten listede yok mu?
Casebash

Evet, bir biçimde veya başka bir şekilde. Ama benimkileri biraz farklı listeleyeceğim, o yüzden orada bıraktım.
Mitchel Sellers

5

Joel'in puanlarının çoğuna katılıyorum. "Koridor kullanılabilirlik testi" konusunda pek emin değilim. Kullanılabilirlik testi, elbette, fakat aslında koridordan birini kapmak ve onların işi olmasa da programınızı test etmelerini sağlamak? İnsanları gıdıklamak için harika bir yol gibi görünüyor.


1
Kuşkusuz kültürel bir şey - eğer aşırı derecede yıkıcı değilse ve işletmenin işleyiş tarzının bir parçasıysa, o zaman "insanları işaretlememeli" - özellikle de işin amacı uygulamaların geliştirilmesi ise.
Murph

1
Belki de mesele, başkalarının işinin bir parçası olması gerektiğidir?
JeffO

7
Koridorda kullanılabilirlik testinin tüm amacı programı düzenli olarak kullanmayan birinin olması gerektiğidir.
Yaptıktan

5

Joel Test, bir takımın ne kadar iyi olduğunu test etmez. Takımınızın Joel Testine ne kadar iyi uyduğunu test eder.

İşte ekibinizin ne kadar iyi olduğu konusunda daha iyi bir test. Ben buna GrandmasterB testi diyorum. Bir sorum var.

1) Yazdığınız yazılım iyi mi?

'Koridor testi' olup olmadığı ya da hangi kaynak kontrolüne sahip olduğunuz ya da yapım sürecinizin ne olduğu (bir varsa - her dilde bunlardan yok) benim için önemli değil. Bir ekibin gerçek ölçüsü, oluşturdukları yazılımın kalitesidir.

Temel olarak, Joel Test'in her bir adımını takip edebilir ve yine de hiçbir zaman kodlamayan ürünler ve kodlama ile sonuçlandırabilirsiniz. Örneğin, kaynak kontrolü sihirli bir şekilde daha iyi bir kodlayıcı yapmaz; kodun yönetilmesini kolaylaştırır. Ve en son Visual Studio sürümüne sahip olmak, uygulamanızın Visual Studio 2005 ile yazılmış olandan daha iyi çalışacağı anlamına gelmez .


14
Sen noktayı kaçırıyorsun. Joel Test, yazılımın ne kadar iyi olduğu ile ilgili değil , üretim sürecinin ne kadar etkili olduğu ile ilgili. Joel testini geçemeyen bir ekip hala iyi ürünler üretebilir, ancak şansı çok daha uzun sürecek ve işçiler sefil olacak. Ayrıca, araçlar yalnızca yazılıma atıfta bulunmaz. Ayrıca bilgisayarınızdan masaüstünüze ve klavyenize kadar donanım anlamına gelir.
Matt Olenik

Bence noktayı kaçırıyorsun. Eğer bir ekip projeleri zamanında bitirir ve iyi kalitede yazılım üretirse, tanımı gereği etkilidir. Ve tanım olarak, etkili bir süreçleri var.
GrandmasterB

2
Asla zamanında gönderimden bahsetmedin. Ayrıca, Joel Testinde başarısız olan (tamamen) etkili bir ekibi gördüğüme şaşırdım. Sürüm kontrolü, test ve kullanılabilirlik gibi şeyler kritik öneme sahiptir. Diğer öğeler de oldukça büyük engeller olabilir.
Matt Olenik

Bu iyi bir nokta, ancak asıl zayıflık onun öznelliğidir. Herkesin deneyimlerine, beceri seviyesine ve kullanım bakış açısına bağlı olarak yazılım kalitesi hakkında farklı bir görüşü olabilir. Ama meseleyi sevdim.
Bernard Dy,

Etkili süreçleri yalnızca ekipteki üyeler için etkiliyse, özellikle ekip küçükse, büyümeye ne kadar iyi gelecek, zamansız bir felaket veya emeklilik durumunda? Kendisini geliştiren insanların başında sadece var olan bir süreçle iyi işleyen ve zamanında gönderilen kodları üretebilmek felaket için bir reçetedir, er ya da geç (muhtemelen er ya da geç) çoğu insanın bir sorunuyla karşı karşıya kalacağı bir ekip kurtarmak, ya da sadece kurtarmak istemeyeceksiniz.
Finni McFinger 12:16

5

Genel anlamda mantıklı geldiğini düşünmeme rağmen, listeyi, Fog Creek Software'in ( shrinkwrap ) yaptığı belirli bir yazılım türünde oldukça merkezli buldum . Başka bir gönderide Beş Dünyalar'da bundan bahsettiği için bu hiç şaşırtıcı değil . Ve o dünyanın dışında birçok gelişme var.

Örneğin , bir uydu veya otomatik satış makinesi için gömülü yazılım , örneğin günlük kurulumlar (3) veya kullanılabilirlik testleri (12) gibi yazılım geliştirdiyseniz, pek bir anlam ifade etmeyen bazı durumlar vardır .


Kabul. "Yığınların En İyisi" uygulamalarından uzaklaştığınızda, birçok çağdaş fikir biraz ... önemsiz gibi görünüyor.
Paul Nathan

Katılıyorum. Kurumsal BT mağazalarında pek çok geliştirici işi var ... kesinlikle shrink wrap yapmak kadar çekici değil. Bu şirketlerin çoğu yazılım işinde olmadığı için, çoğu Joel Testinde genelde 4 puan alıyor.
Bernard Dy

6
Neden gömülü yazılım için birim testleri oluşturmuyorsunuz (ve bunları otomatik olarak bir derleme sistemi tarafından çalıştırılıyorsunuz)?
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.