आप जोएल टेस्ट के बारे में क्या सोचते हैं? [बन्द है]


51

योएल टेस्ट का निर्धारण कितना अच्छा अपनी टीम के लिए एक अच्छी तरह से ज्ञात परीक्षण है। आप बिंदुओं के बारे में क्या सोचते हैं? क्या आप उनमें से किसी से असहमत हैं? क्या आप कुछ जोड़ना चाहेंगे?

जवाबों:


41

जेफ एटवुड के पास द प्रोग्रामर बिल ऑफ राइट्स हैं

पोस्ट से:

  1. प्रत्येक प्रोग्रामर के पास दो मॉनिटर होंगे
  2. प्रत्येक प्रोग्रामर के पास एक तेज़ पीसी होगा
  3. प्रत्येक प्रोग्रामर के पास माउस और कीबोर्ड का विकल्प होगा
  4. प्रत्येक प्रोग्रामर के पास एक आरामदायक कुर्सी होगी
  5. प्रत्येक प्रोग्रामर के पास तेज़ इंटरनेट कनेक्शन होना चाहिए
  6. प्रत्येक प्रोग्रामर के पास काम करने की शांत स्थिति होगी

ऐसा लगता है कि कुछ आइटम हैं जो मैं जोएल की सूची में देखना चाहता हूं। विशेष रूप से हार्डवेयर के क्षेत्र में (दोहरी मॉनिटर, तेज पीसी, माउस / कीबोर्ड, आरामदायक कुर्सी, तेज कनेक्शन)।

केवल एक चीज का उल्लेख नहीं किया गया है जिसमें एक आरामदायक और समायोज्य डेस्क है

यह सब बदलकर जोड़ा जा सकता है:

वर्तमान # 9: क्या आप उन सर्वोत्तम औज़ारों का उपयोग करते हैं जिन्हें पैसे खरीद सकते हैं?

सेवा

बेहतर # 9: क्या आप सबसे अच्छा उपकरण का उपयोग करते हैं और उपकरण पैसे खरीद सकते हैं?


क्या आपका # 6 जोएल परीक्षण पर # 8 के समान नहीं है:
हर्बएन

यह जेफ एटवुड का # 6 है, और हाँ, यह है।
spong

ऐसा लगता है कि जोएल टेस्ट प्रोग्रामर को स्वच्छ, बग फ्री सॉफ्टवेयर विकसित करने में मदद करने के लिए अधिक विशिष्ट है, काम की परिस्थितियों के विपरीत, # 8 को छोड़कर
आर्म्ड

13

यह दिलचस्प है कि बिंदु 8 अब पढ़ता है:

8. Do programmers have quiet working conditions?

जब वह पढ़ता था (कुछ इस तरह)

8. Do programmers have their own office?

और अंतिम पैराग्राफ अभी भी शुरू होता है:

अब चलो उन्हें दीवारों और दरवाजों के साथ अलग-अलग कार्यालयों में स्थानांतरित करें।

मुझे हमेशा इस परीक्षण पर संदेह था कि मैंने जितने स्थानों पर काम किया है - दोनों कर्मचारी और आगंतुक के रूप में - केवल अपने कार्यालयों वाले लोग ही निदेशक और वरिष्ठ प्रबंधक हैं।

वास्तविक दुनिया में सॉफ्टवेयर लिखना आमतौर पर एक टीम गतिविधि है, आपको अपने टीम के साथियों से विचारों को उछालने आदि के लिए बात करने की आवश्यकता होती है और जो अलग-अलग कार्यालयों में लोगों के साथ त्वरित मैसेजिंग सिस्टम के साथ भी करना मुश्किल है। चीजों को बाहर निकालने और लोगों को कोड और आरेख दिखाने में सक्षम होने से बहुत हद तक मदद मिलती है। यह कहना नहीं है कि वितरित टीमें काम नहीं कर सकती हैं - वे स्पष्ट रूप से कर सकते हैं और कर सकते हैं, यह सिर्फ समस्याओं का एक अलग सेट है।

मैं क्या कहूंगा कि प्रत्येक टीम को 6-8 लोगों का अपना कार्यालय होना चाहिए (यह मानते हुए कि टीम का आकार है)। इस तरह वे अन्य टीमों को परेशान किए बिना बातचीत कर सकते हैं (यदि कोई हो) और बिक्री टीम या आगंतुकों द्वारा परेशान किए बिना अपने काम पर लग जाएं (एक जगह मैंने काम किया तो आप सीधे विकास क्षेत्र में सामने के दरवाजे के माध्यम से आए)।

यदि आप अन्य डेवलपर्स के साथ काम कर रहे हैं, लेकिन प्रत्येक अलग-अलग परियोजनाओं पर काम कर रहा है, तो एक साझा कार्यालय उपयोगी हो सकता है - लेकिन केवल अगर आप मीटिंग रूम में बैठकें लेने और अन्य लोगों की समय सीमा आदि का सम्मान करने के बारे में सख्त हैं।

दूसरों के अधिकांश स्वयं स्पष्ट सत्य हैं।


9
टीम के साथियों के विचारों को उछालने के साथ समस्या यह है कि उन्हें मौखिक रूप से ASKING करना बहुत बड़ी व्याकुलता है। यदि आपको कुछ गंभीर सहयोग करने की आवश्यकता है, तो एक सहयोग स्थान में काम करें। लेकिन "हे के लिए आप यह कैसे करेंगे" सवाल आप आईएम के साथ बहुत बेहतर हैं।
23:15 पर मैट ओलीनिक

@Matt - उन छोटी चीज़ों के लिए जो आप सही हैं, लेकिन ऑफिस स्पेस हमेशा दुर्लभ होता है - कोई भी कंपनी खाली ऑफिसों पर पैसा खर्च नहीं करना चाहती - यही वजह है कि उनके अपने स्पेस में टीमें रखने से मदद मिलती है। आप कार्यालय को "सहयोग स्थान" में बदल सकते हैं।
ChrisF

2
आप कभी भी एक ही कमरे में आठ लोगों का मतलब नहीं कर सकते, क्या आप कर सकते हैं? मैं पहले से ही तीन अन्य प्रोग्रामर (जिनमें से प्रत्येक अपने स्वयं के सामान पर काम करता है, एक पूरी तरह से संबंधित परियोजना पर काम नहीं कर रहा है और दूसरा बैकएंड / डेटाबेस लड़का है) के साथ एक कमरा साझा करने से पहले से ही नाराज हूं। मुझे यकीन है कि अगर मैं सात अन्य लोगों के साथ कमरा साझा करता हूं, तो मैं डाक से जाऊंगा।
2

1
@ क्रिस: शायद यही समस्या है। एक ही कमरे में बैठे हम चारों को बमुश्किल एक-दूसरे से कोई लेना-देना है, प्रोग्रामिंग वार। यह 2 कमरे में बैठे 2 1/2 प्रोजेक्ट पर काम करने वाले 4 लोगों की तरह है। और अब एक बॉस जोड़ें जो बिल्कुल ठीक नहीं है आधे घंटे लंबे विचार-विमर्श के साथ एक और प्रोग्रामर के साथ आपकी मेज के ठीक बगल में बैठक कक्ष सिर्फ दालान में होने के बावजूद । >। <
बालनोर्न

1
@ क्रिसहॉफ - "वास्तविक दुनिया में सॉफ्टवेयर लिखना एक टीम गतिविधि है, आपको अपने टीम-साथियों से विचारों को उछालने आदि के लिए बात करने की जरूरत है और यह अलग-अलग कार्यालयों में लोगों के साथ बहुत कठिन है।" - तो, ​​विभिन्न स्थानों पर फैले विकास दल कैसे काम करते हैं? मैंने अमेरिका या ब्राज़ील या भारत के लोगों के साथ घनिष्ठता से काम किया है - IM और Adobe Connect - साथ ही छोटे से लेकर बहुत बड़ी वितरित टीमों तक। तुम्हारा एक बहुत ही विघटनकारी वातावरण है। टीमों में काम करना कुशलता से किया जा सकता है, लेकिन आप जो भी लिख रहे हैं वह कुछ भी है लेकिन (आपका विचार 70 के दशक में झरने से सही है)
luis.espinal

10

मुझे यह पसंद है लेकिन अगर मैं इसका उपयोग किसी कंपनी का मूल्यांकन करने के लिए कर रहा हूं तो मैं सभी वस्तुओं को समान रूप से नहीं तौलूंगा। सोर्स कंट्रोल न होना एक बहुत बड़ी समस्या है तो सबसे अच्छा टूल पैसा नहीं खरीद सकते।


9

मेरे लिए एकमात्र सौदा ब्रेकर है:

 8. Do programmers have quiet working conditions?

दिलचस्प यह है कि यह सवाल स्टैक ओवरफ्लो नौकरी पोस्टिंग द्वारा विफल होने की सबसे अधिक संभावना है।

कुछ सवालों को फेल होना मुश्किल है, खासकर अगर कंपनी में एक से अधिक प्रोग्रामर हैं:

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

दूसरों के बारे में मैं वास्तव में परवाह नहीं है। मेरा मतलब है, ईमानदारी से:

12. Do you do hallway usability testing?

झूठा पता लगाने के लिए एक है:

 5. Do you fix bugs before writing new code?

20
मुझे लगता है कि आप आश्चर्यचकित होंगे कि कितनी कंपनियां एक कदम में निर्माण नहीं कर सकती हैं और बग डेटाबेस नहीं है। आप शायद स्रोत नियंत्रण के बारे में सही हैं, लेकिन मेरा तर्क है कि बहुत सारी कंपनियां अपने कोड का बैकअप लेने के लिए इसका इस्तेमाल करती हैं और स्रोत नियंत्रण के लाभों की सतह को भी खरोंच नहीं करती हैं।
रोब सोबर्स

1
जब मैंने अपनी वर्तमान नौकरी शुरू की तो हमारे पास एक स्रोत नियंत्रण प्रणाली थी, लेकिन बिल्ड एक आदमी की मशीन पर किए गए थे और केवल वह सभी चरणों को जानता था, और बग को कागज पर ट्रैक किया गया था। ये सभी अब "निश्चित" हैं, लेकिन मैं इन चीजों को कभी नहीं लेना चाहूंगा।
हैप्पीकाट

6

मेरा कहना है कि यह एक अच्छा "आधार रेखा" है, लेकिन किसी भी मापने के उपकरण के साथ अन्य कारक हैं। उदाहरण के लिए, मैंने जिस कंपनी के लिए काम नहीं किया है, उसने डेली बिल्ड्स (मुझे पता है, मुझे पता है) किया है, लेकिन उनमें से कुछ बहुत अच्छे हैं।

मेरे पास व्यक्तिगत रूप से कुछ अन्य आइटम हैं जिन्हें मैं एक सूची में जोड़ूंगा।

  1. क्या आप सम्मेलनों में भाग लेने, किताबें खरीदने, या उस प्रकृति की किसी चीज़ से डेवलपर शिक्षा का समर्थन करते हैं?
  2. क्या आपके पास नौकरी के कार्यों को पूरा करने के लिए आवश्यक नए उपकरण अपनाने के लिए एक सरल, प्रलेखित प्रक्रिया है
  3. क्या आप डेवलपर्स उपकरण और ऐसा वातावरण प्रदान करते हैं जो उन्हें उत्पादक बनाने की अनुमति देगा।

कुछ भी नहीं है कि इन मदों में पिछले नियोक्ताओं से "मुझे नाराज कर दिया" है, और अच्छी तरह से वे अब तेजी से ट्रैक सवाल है कि मैं हर अवसर के बारे में पूछ रहे हैं।


1
क्या सूची में 3 पहले से ही नहीं है?
केसबश

हां, एक रूप में या दूसरे रूप में। लेकिन मैं अपनी एक अलग सूची देता हूं इसलिए मैंने इसे वहीं छोड़ दिया।
मिचेल सेलर्स

5

मैं जोएल के अधिकांश बिंदुओं से सहमत हूं। मैं "दालान प्रयोज्य परीक्षण" के बारे में इतना निश्चित नहीं हूं। प्रयोज्यता परीक्षण, निश्चित, लेकिन वास्तव में दालान से किसी को पकड़कर उन्हें अपने कार्यक्रम का परीक्षण करना, भले ही यह उनका काम न हो? जो लोगों को गुदगुदाने के लिए एक शानदार तरीका लगता है।


1
निश्चित रूप से इसकी एक सांस्कृतिक बात है - यदि इसका अत्यधिक विघटनकारी नहीं है और यदि इसका व्यवसाय के कार्यों का एक हिस्सा है, तो इसे "लोगों को बंद नहीं करना चाहिए" - खासकर यदि व्यवसाय का उद्देश्य अनुप्रयोगों का विकास नहीं है।
मर्फ़

1
शायद बात यह है कि यह अन्य लोगों की नौकरी का हिस्सा होना चाहिए?
जेफो

7
दालान प्रयोज्य परीक्षण के पूरे बिंदु यह है कि इसे किसी ऐसे व्यक्ति की आवश्यकता है जो नियमित रूप से कार्यक्रम का उपयोग नहीं करता है। एक बार जब आप इसे बना लेते हैं और / या इसे इस्तेमाल करने में घंटे बिताते हैं (एक समर्पित परीक्षक की तरह) तो ऐप पर आपका नजरिया तिरछा होने वाला है
GSto

5

जोएल टेस्ट यह परीक्षण नहीं करता है कि टीम कितनी अच्छी है। यह परीक्षण करता है कि आपकी टीम जोएल टेस्ट का कितनी अच्छी तरह पालन करती है।

आपकी टीम कितनी अच्छी है, इसका बेहतर परीक्षण यहां दिया गया है। मैं इसे ग्रैंडमास्टरबी टेस्ट कहता हूं। इसका एक सवाल है।

1) क्या आप कोई अच्छा सॉफ्टवेयर लिखते हैं?

यह मेरे लिए अप्रासंगिक है कि आप 'हॉलवे टेस्ट' करते हैं या नहीं, या आपके पास कौन सा स्रोत नियंत्रण है, या आपकी निर्माण प्रक्रिया क्या है (यदि एक है - हर एक लैग्यूज उनके पास नहीं है)। एक टीम का असली माप उनके द्वारा बनाए गए सॉफ़्टवेयर की गुणवत्ता है।

मूल रूप से, आप जोएल टेस्ट के हर एक कदम का पालन कर सकते हैं, और फिर भी बकवास कोड और उत्पादों के साथ समाप्त होते हैं जो कभी जहाज नहीं करते हैं। उदाहरण के लिए, स्रोत नियंत्रण जादुई रूप से किसी को बेहतर कोडर नहीं बनाता है; यह कोड को प्रबंधित करना आसान बनाता है। और विजुअल स्टूडियो का नवीनतम संस्करण होने का मतलब यह नहीं है कि आपका एप्लिकेशन विजुअल स्टूडियो 2005 के साथ लिखे जाने से बेहतर काम करेगा ।


14
आप बात याद कर रहे हैं। जोएल टेस्ट इस बारे में नहीं है कि सॉफ्टवेयर कितना अच्छा है, यह इस बारे में है कि उत्पादन प्रक्रिया कितनी प्रभावी है। जोल परीक्षण में विफल रहने वाली एक टीम अभी भी अच्छे उत्पाद बना सकती है, लेकिन संभावना है कि यह अधिक समय लेगा और श्रमिक दुखी होंगे। इसके अलावा, उपकरण केवल सॉफ्टवेयर का संदर्भ नहीं देते हैं। इसका अर्थ हार्डवेयर भी है, जो आपके कंप्यूटर से आपके डेस्क और कीबोर्ड तक जाता है।
मैट ओलेनिक

मुझे लगता है कि आप इस बिंदु को याद कर रहे हैं। यदि कोई टीम समय पर परियोजनाओं को पूरा करती है और अच्छी गुणवत्ता वाले सॉफ्टवेयर का निर्माण करती है, तो वे परिभाषा के अनुसार प्रभावी होते हैं। और वे परिभाषा के अनुसार, एक प्रभावी प्रक्रिया है।
ग्रैंडमास्टरबी

2
आपने कभी भी समय पर शिपिंग का उल्लेख नहीं किया। इसके अलावा, मैं एक प्रभावी टीम को देखकर बहुत आश्चर्यचकित रहूँगा जो जोएल टेस्ट में विफल (पूरी तरह से) है। संस्करण नियंत्रण, परीक्षण और प्रयोज्य जैसी चीजें सभी महत्वपूर्ण हैं। अन्य मदों के रूप में अच्छी तरह से बहुत बड़ी बाधाएं हो सकती हैं।
मैट ओलेनिक

यह एक अच्छा बिंदु है, लेकिन मुख्य कमजोरी इसकी विषय वस्तु है। हर कोई अपने अनुभव, कौशल स्तर और उपयोग के दृष्टिकोण के आधार पर सॉफ़्टवेयर गुणवत्ता के बारे में एक अलग राय रख सकता है। लेकिन मुझे बात पसंद है।
बर्नार्ड दाइ

यदि उनकी प्रभावी प्रक्रिया केवल टीम में शामिल सदस्यों के लिए ही प्रभावी है, खासकर अगर टीम छोटी है, तो यह कितनी अच्छी तरह से वृद्धि या असामयिक आपदा या सेवानिवृत्ति की स्थिति में खड़ा होगा? एक ऐसी प्रक्रिया के माध्यम से समय पर काम करने वाले जहाजों और समय पर जहाजों का निर्माण करने में सक्षम होने के नाते जो कि इसे विकसित करने वाले लोगों के सिर में मौजूद हैं, यह आपदा के लिए एक नुस्खा है, एक टीम जो जल्दी या बाद में (शायद जल्दी) एक ऐसे मुद्दे का सामना करेगी जिससे अधिकांश लोग नहीं कर सकते, या बस नहीं चाहते हैं, ठीक हो जाएगा।
फिन मैकफिंगर

5

हालांकि मुझे लगता है कि यह सामान्य अर्थों में अच्छी समझ रखता है, मुझे यह सूची विशिष्ट प्रकार के सॉफ्टवेयर पर केंद्रित है जो फॉग क्रीक सॉफ्टवेयर करता है ( संकोचन )। यह वास्तव में आश्चर्यजनक नहीं है, क्योंकि वह एक अन्य पोस्ट, फाइव वर्ल्ड्स के बारे में भी बात करता है । और उस दुनिया के बाहर बहुत सारे घटनाक्रम हैं।

कुछ स्थितियाँ हैं जो वास्तव में बहुत मायने नहीं रखती हैं यदि आप उदाहरण के लिए एक उपग्रह या एक वेंडिंग मशीन के लिए सॉफ़्टवेयर विकसित करते हैं , जैसे दैनिक बिल्ड (3) या प्रयोज्य परीक्षण (12)।


माना। एक बार जब आप "स्टैक के शीर्ष" से दूर चले जाते हैं, तो बहुत सारे समकालीन विचार एक सा लगने लगते हैं ... अप्रासंगिक।
पॉल नाथन

मैं सहमत हूँ। कॉर्पोरेट आईटी दुकानों में बहुत सारे डेवलपर काम कर रहे हैं ... निश्चित रूप से सिकुड़ते रैप करने के रूप में ग्लैमरस नहीं हैं। जैसा कि इनमें से अधिकांश कंपनियां सॉफ़्टवेयर व्यवसाय में नहीं हैं, उनमें से अधिकांश आमतौर पर जोएल टेस्ट में लगभग 4 स्कोर करते हैं।
बर्नार्ड दाइ

6
आप एम्बेडेड सॉफ़्टवेयर के लिए इकाई परीक्षण क्यों नहीं बनाएंगे (और उन्हें स्वचालित रूप से एक बिल्ड सिस्टम द्वारा चलाया जाएगा)?
पीटर मोर्टेंसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.