การทดสอบ Joelเป็นการทดสอบที่รู้จักกันดีในการพิจารณาว่าทีมของคุณดีแค่ไหน คุณคิดอย่างไรเกี่ยวกับคะแนน คุณไม่เห็นด้วยกับพวกเขาหรือไม่? มีอะไรที่คุณจะเพิ่มหรือไม่
การทดสอบ Joelเป็นการทดสอบที่รู้จักกันดีในการพิจารณาว่าทีมของคุณดีแค่ไหน คุณคิดอย่างไรเกี่ยวกับคะแนน คุณไม่เห็นด้วยกับพวกเขาหรือไม่? มีอะไรที่คุณจะเพิ่มหรือไม่
คำตอบ:
Jeff Atwood มีบิลของโปรแกรมเมอร์สิทธิ
จากโพสต์:
- โปรแกรมเมอร์ทุกคนต้องมีจอภาพสองจอ
- โปรแกรมเมอร์ทุกคนจะต้องมีพีซีที่รวดเร็ว
- โปรแกรมเมอร์ทุกคนจะต้องเลือกใช้เมาส์และคีย์บอร์ด
- โปรแกรมเมอร์ทุกคนต้องมีเก้าอี้นั่งสบาย
- โปรแกรมเมอร์ทุกคนจะต้องมีการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็ว
- โปรแกรมเมอร์ทุกคนจะต้องมีสภาพการทำงานที่เงียบ
ดูเหมือนว่าจะมีบางรายการที่ฉันต้องการเห็นในรายการของ Joel โดยเฉพาะอย่างยิ่งในพื้นที่ของฮาร์ดแวร์ (จอภาพสองเครื่องคอมพิวเตอร์ที่รวดเร็ว, เมาส์ / คีย์บอร์ด, เก้าอี้ที่สะดวกสบาย, การเชื่อมต่อที่รวดเร็ว)
สิ่งเดียวที่ไม่ได้กล่าวถึงจะมีความสะดวกสบายและการปรับโต๊ะเขียนหนังสือ
ทั้งหมดนี้สามารถเพิ่มได้โดยการเปลี่ยน:
ปัจจุบัน # 9: คุณใช้เครื่องมือที่ดีที่สุดที่เงินสามารถซื้อได้หรือไม่?
ไปยัง
ปรับปรุง # 9: คุณใช้เครื่องมือและอุปกรณ์ที่ดีที่สุดเท่าที่เงินสามารถซื้อได้หรือไม่?
มันน่าสนใจที่ตอนที่ 8 อ่านแล้ว:
8. Do programmers have quiet working conditions?
เมื่อมันเคยอ่าน (คล้าย)
8. Do programmers have their own office?
และย่อหน้าสุดท้ายยังคงเริ่มต้น:
ตอนนี้เราจะย้ายพวกเขาไปยังสำนักงานแยกต่างหากด้วยกำแพงและประตู
ฉันมักจะสงสัยการทดสอบนี้เช่นเดียวกับในทุกสถานที่ที่ฉันเคยทำงาน - ทั้งในฐานะพนักงานและผู้มาเยี่ยม - คนเดียวที่มีสำนักงานของตัวเองคือกรรมการและผู้จัดการอาวุโส
การเขียนซอฟต์แวร์ในโลกแห่งความจริงมักจะเป็นกิจกรรมของทีมคุณต้องพูดคุยกับเพื่อนร่วมทีมของคุณเพื่อตีกลับความคิดรอบตัวเป็นต้นและนั่นยากที่จะทำกับผู้คนในสำนักงานแยกต่างหากแม้กับระบบส่งข้อความด่วน ความสามารถในการดึงสิ่งต่าง ๆ ออกมาและแสดงรหัสผู้คนและไดอะแกรมนั้นช่วยได้มาก นี่ไม่ได้เป็นการบอกว่าทีมที่แจกจ่ายไม่สามารถทำงานได้ - พวกเขาสามารถทำได้และเห็นได้ชัดว่าเป็นปัญหาที่แตกต่าง
สิ่งที่ฉันจะพูดคือแต่ละทีมจะต้องอยู่ในสำนักงานของตัวเอง 6-8 คน (สมมติว่าเป็นขนาดของทีม) ด้วยวิธีนี้พวกเขาสามารถโต้ตอบโดยไม่รบกวนทีมอื่น ๆ (ถ้ามี) และทำงานต่อโดยไม่ถูกรบกวนจากทีมขายหรือผู้เข้าชม (ที่เดียวที่ฉันทำงานคุณมาผ่านประตูหน้าตรงเข้าไปในพื้นที่พัฒนา)
ถ้าคุณกำลังทำงานกับนักพัฒนาอื่น ๆ แต่แต่ละคนจะทำงานในโครงการที่แยกต่างหากจากนั้นสำนักงานที่ใช้ร่วมกันสามารถเป็นประโยชน์ - แต่ถ้าคุณเป็นคนที่เข้มงวดเกี่ยวกับการประชุมไปที่ห้องประชุมและกำหนดเวลาที่เคารพของคนอื่น ๆ ฯลฯ
ส่วนใหญ่เป็นความจริงที่ชัดเจนของตนเอง
ฉันชอบ แต่ถ้าฉันใช้เพื่อประเมิน บริษัท ฉันจะไม่ชั่งน้ำหนักรายการทั้งหมดเท่า ๆ กัน ไม่มีการควบคุมแหล่งที่มาเป็นปัญหาที่ใหญ่กว่านั้นไม่ซื้อเครื่องมือที่ดีที่สุดที่เงินสามารถซื้อได้
ดีลเลอร์คนเดียวสำหรับฉันคือ:
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?
ฉันต้องบอกว่ามันเป็น "พื้นฐาน" ที่ดี แต่ด้วยเครื่องมือวัดใด ๆ ก็มีปัจจัยอื่น ๆ ตัวอย่างเช่นไม่ใช่ บริษัท เดียวที่ฉันทำงานให้เสร็จได้ทำ Build รายวัน (ฉันรู้ว่าฉันรู้) แต่บาง บริษัท ก็ทำได้ดีมาก
ฉันมีรายการอื่น ๆ ที่ฉันต้องการเพิ่มในรายการ
มากกว่าสิ่งเหล่านี้เป็นรายการที่มี "ฉี่ฉันออก" จากนายจ้างก่อนหน้านี้และตอนนี้พวกเขาเป็นคำถามที่ติดตามอย่างรวดเร็วที่ฉันถามเกี่ยวกับทุกโอกาส
ฉันเห็นด้วยกับคะแนนส่วนใหญ่ของโจเอล ฉันไม่แน่ใจเกี่ยวกับ "การทดสอบการใช้งานห้องโถง" การทดสอบการใช้งานแน่นอน แต่จริง ๆ แล้วจับใครบางคนจากโถงทางเดินและทำให้พวกเขาทดสอบโปรแกรมของคุณแม้ว่าจะไม่ใช่งานของพวกเขา นั่นเป็นวิธีที่ดีในการทำเครื่องหมายคน
การทดสอบ Joel ไม่ได้ทดสอบว่าทีมดีแค่ไหน มันทดสอบว่าทีมของคุณปฏิบัติตาม Joel Test ได้ดีเพียงใด
นี่คือการทดสอบที่ดีขึ้นว่าทีมของคุณดีแค่ไหน ฉันเรียกมันว่าการทดสอบ GrandmasterB มันมีคำถามหนึ่งข้อ
1) ซอฟต์แวร์ที่คุณเขียนดีหรือไม่?
มันไม่เกี่ยวข้องกับฉันไม่ว่าคุณจะ 'การทดสอบห้องโถง' หรือไม่หรือการควบคุมแหล่งที่คุณมีหรือสิ่งที่กระบวนการสร้างของคุณคือ (ถ้ามีอย่างใดอย่างหนึ่ง - ไม่ใช่ lanugage ทุกคนมีพวกเขา) การวัดที่แท้จริงของทีมคือคุณภาพของซอฟต์แวร์ที่พวกเขาสร้าง
โดยทั่วไปคุณสามารถทำตามทุกขั้นตอนของการทดสอบ Joel และยังคงจบลงด้วยรหัสอึและผลิตภัณฑ์ที่ไม่เคยจัดส่ง ตัวอย่างเช่นการควบคุมแหล่งที่มาไม่ได้ทำให้ coder ที่ดีขึ้นอย่างน่าอัศจรรย์; มันทำให้การจัดการรหัสง่ายขึ้น และมีรุ่นล่าสุดของ Visual Studio ไม่ได้หมายความว่าใบสมัครของคุณจะทำงานได้ดีกว่าถ้ามันถูกเขียนด้วยVisual Studio 2005
แม้ว่าฉันคิดว่ามันสมเหตุสมผลดีในความหมายทั่วไป แต่ฉันก็พบว่ารายการค่อนข้างตรงกับประเภทของซอฟต์แวร์เฉพาะที่Fog Creek Softwareทำ ( หดตัวลง ) ที่ไม่น่าแปลกใจจริงๆในขณะที่เขายังพูดถึงเกี่ยวกับที่โพสต์อีกห้าโลก และมีการพัฒนานอกโลกมากมาย
มีเงื่อนไขบางประการที่ไม่สมเหตุสมผลหากคุณพัฒนาเช่นซอฟต์แวร์ฝังตัวสำหรับดาวเทียมหรือเครื่องขายแสตมป์อัตโนมัติเช่นการสร้างรายวัน (3) หรือการทดสอบการใช้งาน (12)